Installation Architecture Reviews.

Last night I noticed this blog entry about the lack of Windows Installer Training courses. It got me thinking about an idea that Bob Arnson, Peter Marcu and I toss around occasionally. The idea always ends with this question, "What if we could do the Installation Architecture Reviews outside of Microsoft?"

For over a year now, those of us that volunteer on the WiX toolset have offered to do installation architectural reviews for teams inside Microsoft. Over that time we've seen the whole gambit of installation scenarios from 64-bit registration issues to multi-server Web+DB applications to tiny internal IT apps hurting for a real build process to Internet patch distribution challenges to the very important application that they didn't realize wouldn't install on Vista (until we pointed out the non-deferred system modifying CustomAction).

We usually meet with the team over lunch in some conference room and talk for an hour or two about whatever the team wants to cover.  We always start by understanding the application design before digging into the setup design. Often we end up spending more time talking about the design of their application than their setup since fixing architectural issues at the root is usually easier than creating workarounds at the edge. In the end, both sides have always have a good time and everyone walks away having learned something. Sometimes we even get invited back later to follow up on progress made or to answer additional questions.

So the idea that Bob, Peter and I discuss is what it would be like to provide the same installation architecture reviews for companies outside of Microsoft. We think it would be fantastically fun but aren't sure there would be enough interest to warrant the effort it would take to "break out of the corporate firewall". So, it occurred to me that I should just ask. Duh.

If you would be interested in investigating what it would take to have a few guys that work on the WiX toolset and at Microsoft doing an architectural review of your application or system installation, please contact me. If we get enough interest, we'll see what we can work out.

 

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.