RobMensching.com /Blog
when setup isn't just xcopy

Posted by
Rob Mensching
Friday, June 06, 2008 1:34 AM

Under
wix

21 Comments

Proposed adjustments the WiX v2 and WiX v3 roadmap.

I've been getting some great feedback about where people think we should take WiX v2 and WiX v3 next. It has me reconsidering some of my original short and medium term plans. I want to summarize the feedback so far and encourage others to comment if they have opinions as well.

WiX v2 SP1

Original Plan (described in detail here):

  • Add MSI 4.5 support. MSI 4.5 was just released so we can add support to WiX v2 for it.
  • Revert MergeMod.dll. Recently discovered WiX v2 shipped with a broken MergeMod.dll, so we need to go back to an older one that works correctly.
  • Fix SQL CustomAction. Need to get the fix for a crashing bug out there widely.

Suggested New Plan:

  • Revert MergeMod.dll. Simple fix already tested in WiX v3.
  • Fix SQL CustomAction. Simple fix already tested in WiX v3 extensively.

Reason:

It is pretty clear that most people would rather see a stable WiX v3 released than have a lot of work done on WiX v2. The MSI 4.5 support will be a fair bit of work porting back the existing support in WiX v3 to fit WiX v2. More pointedly, I haven't heard anyone asking for us to do this. The other two bug fixes are trivial to port back and have already had extensive testing in WiX v3 so I think that makes an update of WiX v2 to fix some bad bugs really easy.

The question to you is whether it is important to have MSI 4.5 support in WiX v2? WiX v3 already has support and time spent doing the MSI 4.5 work in WiX v2 will be time away from finishing WiX v3.

WiX v3

Original Plan (described in detail here):

  • Core Toolset Patching + Language Enhancements. These are basically done and we're just fixing bugs.
  • Extension stabilization + more. The version for the extensions has been frozen and we have a few more Custom Actions than WiX v2.
  • WiX Bootstrapper. Project not yet started to provide chaining and external UI handler.
  • Votive MSBuild Integration + designer framework. Votive is far more stable but no closer to providing designers.
  • ClickThrough. ClickThrough is currently not being developed.
  • Deployment Tools Foundation. DTF was a late add but has been getting a lot of attention lately and stabilizing quickly.

Suggested New Plan:

  • Core Toolset Patching + Language Enhancements. Finish off all of the bugs.
  • Extension stabilization + more. Call the current list of extensions good for WiX v3 and finish off all of the bugs.
  • Votive MSBuild Integration. Cut the designer support and just finish off all the bugs.
  • Deployment Tools Foundation. Finish off all of the bugs.

Reason:

As noted above, it is pretty clear that most people want a stable WiX v3 released. The suggested plan above cuts all of the "long pole" features and allows us to focus on finishing WiX v3. The hardest cut for me is the bootstrapper but I have to admit that it still has quite a way to go before being done. Theoretically, focusing on the bugs would allow us to become very stable before the end of the year and let the toolset bake for a few months next year before declaring it stable.

The question to you is whether getting a stable WiX v3 earlier is worth postponing those features for the next version? I didn't have anything on the feature list for WiX v4 so bootstrapping, Votive enhancements and ClickThrough could easily be the next focus.

Comments? Questions? Your feedback is much appreciated.

 


21 Comments

Comment by
Philip Stears
Friday, June 06, 2008 1:52 AM

The only real downside I can see there is the short-term axing of the bootstrapper from v3. I suspect (by extension of my own experiences) one of the biggest difficulties with adopting the WiX toolset is the lack of a bootstrapper/chainer - especially as there don't seem to be any real alternatives, I know some other projects exist but they seem limited at best.

Comment by
Rob Mensching
Friday, June 06, 2008 1:55 AM

Philip, I 100% agree. However, focusing on getting done before adding more feature work is likely to get us fully stable features faster (although slower, if you are willing to live on the cutting edge...). Hard tradeoffs.

Comment by
Marais van Zyl
Friday, June 06, 2008 2:11 AM

I suppose it would be nice to have the bootstrapper in and the designers in also but if it meens getting WiX 3 out quicker, it wouldn't hurt moving that out to the next version.

Comment by
Philip Stears
Friday, June 06, 2008 2:33 AM

I certainly can't disagree with that, and I would love to see WiX v3 released sooner rather than later, it's already shaping up to be a great release.

Comment by
Kenny Kerr
Friday, June 06, 2008 3:30 AM

My vote is for the new plan. I’d much rather see WiX 3 sooner. Thanks for all your work on this!

Comment by
Neil Sleightholm
Friday, June 06, 2008 4:59 AM

That sounds like a good plan to me, getting a stable non-beta v3 would really be good. I agree getting a good bootstrapper is essential but does this need to tied to the WiX release? Could it be a standalone tool?

Comment by
John
Friday, June 06, 2008 5:14 AM

+1 to the new roadmap.

I agree 100% on dropping MSI 4.5 support from WiX 2.0 SP1. I'm using WiX 2 in a production environment, and stability is what I value most. Please just fix serious bugs, and save the new features for WiX 3 or 4.

I would would be even more aggressive about trimming features from WiX 3 in order to reach stability. At the risk of sounding pissy and ungrateful for a free tool, let me suggest two things:

(1) Stop worrying about new features to attract new users, and focus on finishing what you've got. So what if WiX doesn't come with a bootstrapper? That hasn't stopped your current user base - we've all figured something out. Save it for the next version.

(2) I'm concerned that too much is being bundled into WiX, which ends up holding the entire package hostage to it's weakest link. I'd rather see "WiX" just be the core toolset, and have a group of separate projects that add value to it. Those projects could each evolve and release on their own schedule. Frankly, this separation is more the "Open Source Way", and what WiX is doing is the "Visual Studio Way". The Visual Studio Way works for Visual Studio because Microsoft has commercial pressure to do major releases on a somewhat predictable schedule. DevDiv is forced to make hard choices and ship product. Open source projects lack that pressure, and you can end up "in beta" for years. This is hardly unique to WiX, but WiX is a really good example of the problem.

Comment by
Reggie
Friday, June 06, 2008 5:47 AM

Rob

Good plan. Yes, a boot strapper in v3 will speed adoption but what will really speed adoption is removal of the beta tag.

In any case, as I mentioned before, please don't stick with the SP1 moniker for v2. Just rev it normally with your changes. Fight the Microsoftiness! Fight it! :)

Comment by
Albert van Peppen
Friday, June 06, 2008 6:03 AM

I'm all for the proposed suggestion on WiX v2.
And I support the release of a stable version of WiX v3.0 as soon as possible;
Currently I need to support 2 versions of my installation sets; one stable version for WiX v2 and one version in WiX v3 which has more features (since DTF life gets easier ;)), better support for Vista an Win2K8 and alike.

So I vote for moving all unfinished stuff, which in not important, in WiX v3 to v3.5 or v4.

BTW Why create a WiX v2 SP1 and not just WiX v2.1 or WiX v2.5 ??

Comment by
Christopher Painter
Friday, June 06, 2008 7:05 AM

Generally, I find myself in complete agreement. I do believe managed custom actions, a solid bootstrapper and a great designer (framework) is vital in the long run, but for the sake of getting the goodness in v3 shipped, they can wait.

Now I do wonder if perhaps to many things are combined into a single distribution release. Consider:

DTF: Not everyone uses managed custom actions and not everyone who uses it will use WiX.

Bootstrappers: Same thing as DTF. Many people just ship MSI's and many people are using tools that lack a good bootstrapper and are in need of this. EXE/MSI can be somewhat layered. At previous jobs I've set up the system design so that bootstrappers were a downstream build of MSI builds which of course can be a downstream build of MSM/Library builds.

Votive: Same. Not everyone uses Visual Studio integration, and with companies like InstallAware ( WiXAware ) consuming WiX, they don't use it either. I know in talking to Sinan that they are staying with v2 until v3 is out of beta.

So I can't help wonder if WiX truely was `core` and seperated these three things out ( and maybe others?), would we be able to ship WiX v3 faster and then ship the other components when they are ready.

Comment by
Neil
Friday, June 06, 2008 7:14 AM

This plan makes a lot of sense. I too am pained by the lack of bootstrapper, but it makes an excellent hallmark feature for WiX v4.

Comment by
Mike
Friday, June 06, 2008 9:49 AM

I have to chime in my 100% agreement too. I am using Wix v2 in production right now. There are features in v3 that I am drooling over, but can't use because I need a very stable platform for our flagship product.

Get what you have in the can done before adding new stuff to the can.

Comment by
David
Saturday, June 07, 2008 12:38 PM

I agree with the idea of leaving out MSI 4.5 support, unlikely to see early adopters of this. Would be good to see support for this in a stable WiX version by the time it is being pushed as a pre-requisite for a frequently used MS product.

Out of all the other features you're suggesting to drop from v3, the bootstrapper would be the most useful.

Comment by
Mike Dillamore
Saturday, June 07, 2008 4:18 PM

Fully agree with all proposals - an earlier release of WiX v3 will be a big win.

Comment by
Richard J Foster
Monday, June 09, 2008 4:54 AM

An "official" bootstrapper would be nice (especially as chained MSI's is probably one of the most frequent questions on the mailing list)... but like almost everyone else I'm happy to accept that slipping to a subsequent release - especially considering there are plenty of ways to accomplish what is needed described in the mailing list archives.

Comment by
Edward Forgacs
Tuesday, June 10, 2008 8:19 AM

I agree with the new plan too. Really want WiX 3 sooner!

Comment by
dB.
Thursday, June 12, 2008 5:53 AM

This is the right plan. Completely seconded.

Comment by
Adam Hearn
Friday, June 20, 2008 12:15 AM

The refined roadmap looks good. My usage of WiX isn't too involved (I use it for MSI patch creation) so for me concentrating on WiX v3 is spot on!

I'd like to see progress on ClickThrough as it sounds as though it will be the solution to some of the issues when deploying applications using ClickOnce (or shall I say, those features not available when compared to MSI deployment). Would it be possible to see any early releases of ClickOnce or is there simply nothing available as yet?

Comment by
CS
Monday, June 23, 2008 11:18 PM

What happened to ClickThrough? Is it dead?

Comment by
Frantic Freddy
Tuesday, July 08, 2008 5:30 PM

+1 for the new roadmap

A stable V3 will have my "medium"-sized software development boutique jumping all over it. An official bootstrapper, however, would be a plus!

You, sir, have got what it takes.

Comment by
Colin Bowern
Sunday, August 17, 2008 9:16 AM

+1 for the new roadmap.

Release a stable v3 and push new features to v4.

Leave a Comment

(optional)