The WiX Tutorial has a new home

Gábor started the WiX Tutorial during the WiX v2.0 days. (Ah, we were all so young, then.) Over the years, the tutorial has grown to cover WiX v3.x and built a localization project to help contribute localizations to the WiX project.

Now the WiX Tutorial has moved to FireGiant. Take a look at the blog post I wrote to announce it. Then take a look at the tutorial itself. And do let us know what you’d like to see in the tutorial going forward!

FireGiant’s new blog

Take a look.

At FireGiant, we’ve been wanting to talk about some of the things we’re doing with and for WiX. It turns out, sometimes 140 characters aren’t enough. Rob blogged about the refresh of the FireGiant Web site. My contribution was the first (of many, many) posts in the blog Setup Matters.

Setup Matters represents two concepts: We’re going to talk about setup because setup is important. These aren’t new concepts, if you’ve been following along these past 11 years or so.

Starting tomorrow, I’ll be summarizing the weekly(ish) WiX online meetings on Setup Matters.

Subscribe so you don’t miss out on anything interesting.

On joining FireGiant

I’m beyond excited to announce that I’ve joined FireGiant. Rob, CEO and co-founder of FireGiant, has known me for more than 10 years—plenty of time to get to know my strengths, my motivations, and my amusing quirks (what others might call peculiarities).

So when he appeals to all three by offering me a job where wearing pants is optional, how could I refuse?

(Note 1: I don’t mean to imply that Rob opened by mentioning the no-pants thing. I mean, it would’ve been perfect if he had, but I want the record to be clear.)

(Note 2: It’s likely that pants are optional only because FireGiant is a distributed company—unannounced drop-ins are unlikely. And as long as I keep my webcam pointed in the right direction, nobody’s going to know anyway.)

I’ll be working on FireGiant’s service offerings like support and custom development. Other things are on tap and I look forward to talking about them when the time is right.

Changes to my work on WiX

On the one hand, there are none.

I’ll continue to act as the release manager for WiX v3.10 and any other future releases we do in the v3.x series. I’ll keep participating in the WiX online meetings, wix-users and wix-devs threads, and even StackOverflow.

I’ll also continue to contribute bug fixes and features to WiX, just like I’ve been doing for the past 10 years.

10 years.

Wow.

Where was I? Oh yeah…On the other hand, however, being part of FireGiant will have numerous benefits for my work on WiX.

Most of my best (in my humble opinion) contributions to WiX came from my day-to-day work using WiX and finding a need that was best solved inside the WiX toolset. For example, while working on Flight Simulator, I needed firewall exceptions and while working on App-V, I wanted to simplify major upgrade authoring.

Day-to-day exposure to those kinds of problems makes me a better WiX contributor and a better project leader. I’m looking forward to getting more of that exposure than I’ve gotten in my own consulting and freelancing since resigning from Microsoft four years ago. (Really? Four? Time flies and all that.)

One size fits all

I’m excited to join FireGiant not only because FireGiant is a great fit for me and not only because I’m a great fit for FireGiant—I mean, really, who wouldn’t want me to be on call as their own personal WiX expert?!—but also because I believe FireGiant is a great fit for WiX.

For 10 years, I’ve loved being part of a small team of volunteers working on WiX. And I recognize that for WiX to keep growing, to be viable in any organization regardless of spot or lack thereof on the Fortune 500, some people need to be able to rely on a guarantee of support. FireGiant provides that and I’m thrilled to support WiX in that way too.

WiX v3.10 version twist

After a brief hiatus for releasing WiX v3.9 R2, weekly builds for WiX v3.10 have resumed. WiX v3.10.0.1403 is now available — and you might have noticed an oddity in the version number.

When we started discussing the need to ship a maintenance release for WiX v3.9, we realized that we had no way to easily differentiate a maintenance release from the original “final” release — or any other pre-release build, for that matter.

Traditionally, WiX version numbers have been based on using three fields: major.minor.build. You likely know why: Because Windows Installer uses three version fields and ignores the fourth. Unfortunately, when you want to keep using major.minor versioning, that leaves only one field to identify a particular build.

So we decided to switch things around a bit. We’re now versioning the WiX bundle as major.minor.release.build. The release value is currently zero and will stay that way until/unless we ship a maintenance release. For example, WiX v3.10 RTM might be v3.10.0.2010 and a theoretical WiX v3.10 SP1 might be v3.10.1.2323.

The MSI packages in the WiX bundle continue to be versioned as major.minor.build.0, so that major upgrades keep working. The same is true of WiX executables. That means that, for example, Candle.exe from the aforementioned theoretical WiX v3.10 SP1 would have a version of v3.10.2323.0.

I’d rather all the versions — bundle, MSIs, and executables — have the same version number but tagging the bundle with release information is important enough to make this change.

Consequences

Unfortunately, the new versioning scheme means that new builds of WiX v3.10 are always seen as “less than” any of the already-released WiX v3.10 builds with the old numbering. That means that if you have v3.10.1124.0 installed, for example, v3.10.0.1403 will not be seen as an upgrade. The WiX BA blocks downgrades by hiding the big Install button:

WixNoDowngradeThe workaround is to uninstall any other build of WiX v3.10. Then v3.10.0.1403 will install normally.

WiX Toolset v3.9 R2 maintenance release is available

WiX Toolset v3.9 R2 is a maintenance release of WiX v3.9 that fixes several serious bugs:

  • Bug 4600 | VSExtension Help custom action binaries are corrupt.
  • Bug 4608 | Multiple prerequisites return failure, when 1st prerequisite is already installed and 2nd prerequisite is installed successfully.
  • Bug 4609 | Bug in BVariantCopy() in src/burn/engine/variant.cpp

Thanks to @rseanhall and @firegiantco for fixing these bugs.

WiX Toolset v3.9 R2 is v3.9.1208.0 and is available from Codeplex.