January 08, 2008

WiX: Forced to use Beta Software

Aaron Stebner recently posted a blog describing why XNA Game Studio 2.0 switched from WiX 2.0 to WiX 3.0. Interestingly enough he failed to mention that WiX 3.0 is a BETA release.

This reminded me of a WiX-Users list post from Votive Author Justin Rockwood where he says:

Votive 2.0 hasn't been touched in over a year, so I'm not sure what the issues might be. Also, Votive 2.0 was designed primarily to work with Visual Studio 2003, although I think it also was supposed to work in VS 2005. Maybe with SP1 there were some changes. Actually, I know that's the case now that I think about it. SP1 moved a bunch of registry keys from HKLM to HKCU, so I bet Votive doesn't work on SP1. I'd like to say that we'll fix that, but we probably won't. J Sorry about that. I recommend one of the following: 1) move to Votive v3, which is more stable and more feature-rich, 2) use Visual Studio 2003 for Votive v2 development, or 3) uninstall SP1 for VS 2005. I know that these options may not be the best for you, for which I apologize, but Votive v2 is really not supported anymore.


Does anyone besides me see a problem with this? Let's break it down:

Votive 2.0 was designed for VS2003 and might work on VS2005 but not VS2005 SP1.
VS2005 SP1 was released on Dec 15, 2006.
WiX 2.0 was made the production gold release on May 25, 2007. That's over 5 months to `get it right`.
According to Justin: "Votive v2 is really not supported anymore."

So that leaves us with WiX 3.0 which is described as beta quality, ever changing, `use at your own risk` release. Personally I don't think it's fair to ask setup developer and tools ISV's ( InstallAware for example ) to have to make this choice.

According to WiX creator Rob Mensching don't expect this problem to be resolved for another year.

5 comments:

Anonymous said...

You are overreacting.
WiX/Votive 3 is pretty stable and if you test the .msis correctly you won't run into dark holes.

Unlike your beloved InstallShield which likes to crash from time to time ;)

Christopher Painter said...

I'm not overreacting. For example, Aaron Stebner just left a comment on his blog talking about the incomplete patching support.

I don't know the details, but I'd very very weary of MSI TAO Rule #41. Shipping a product on a beta toolset with incomplete patching support tells me that you will likely have a servicing problem down the road.

As for the obligatory InstallShield comment, would you like me to dig up all of the blogs and threads that I've read regarding WiX crashes? The last time I talked about WiX's Heat throwing a JIT exception on me Rob Mensching came by and posted:

"Heat still obviously needs a lot of work around error handling. When you see announcements from the core WiX developers about a brand new tool, you should be very wary of the error handling. ClickThrough (another tool under massive development) has similar error handling issues."

So don't go acting like InstallShield is the only tool with quality problems.

Aaron Shurts said...

WiX v3 is actually pretty stable. I have used it on production releases before, but we didn't support patching, upgrades only. Most of the leg work of the installer was controlled by a custom-written wrapper as well.

I would still say for an enterprise shop, WiX in its current incantation should not be on the short list of tools to be evaluated. It's a great tool for open-source developers, small ISVs, etc. Even though I would never pay for Microsoft's professional support, purchasing an enterprise tool often includes support and can be worthwhile on some occasions.

Anonymous said...

Regardless of the actual level of stability, it is hard for tools like wix to get a strong foothold in the corporate community because of their lack of maturity. Folks may be able to accept an absence of formal support (which they would get from installshield, for example), but relying on a product which hasn't had a release in over half a year is not the type of things that IT shops will feel comfortable with.

It may actually be stable, and very well will suffice for the niche developer. However, terms like 'beta' and 'release' do have specific connotations in the industry and drive perceptions (just or otherwise).

Lexpa Team said...

Guess this blog post might be interesting to read in the current context:
WiX in Visual Studio