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

Posted by
Rob Mensching
Saturday, January 16, 2010 10:06 AM

Under
wix

5 Comments

Glimpses of life with WiX v4.0.

Believe it or not, I sometimes get questions about WiX v4.0. "Rob, is there going to be a WiX v4?" "Rob, what's going to be in WiX v4?" "Rob, when does WiX v4 start?" "Rob, when will WiX v4 be done?" Before answering, I always make sure that people understand that WiX v3.5 is our focus right now because it is important that we support for Visual Studio 2010 and get Burn "v1" done. Then I mention what I mentioned here yesterday, WiX v3.5 slipped from March to probably September.

After it settles in that we're not going to be starting WiX v4.0 right away, I start on the list of "what". There are four things that I think will keep us busy in WiX v4:

  1. Pay down technical debt - we need to go through and do a huge scrub of the WiX codebase. Now that C++ code is supported by MSBuild, I think we'll switch our hybrid of NAnt (for native code) and MSBuild (for managed code) to an all consistent MSBuild system. We also need to go refactor large chunks of code. In particular, the Binder took on some heavy debt as the new patching system was stitched into the code. I expect the Bundle work we're doing now (for Burn) will further complicate that part of the code.
  2. Burn "v2" - the Burn that will ship in WiX v3.5 will be an awesome bootstrapper but I am certain there will be features proposed that we don't have time to get in and get stable this year. In WiX v4 we'll incrementally advance Burn until it becomes the first and last bootstrapper you need.
  3. Language improvements - this is what I want to focus on in WiX v4 . There are so many opportunities to make the WiX language easier to understand and easier to use. This area is so exciting to Bob and I that little things have been sneaking into WiX v3.5 (since we have more time due to Burn slipping). Bob blogged about the brand new MajorUpgrade element today and the Component element simplification earlier. With the freedom in WiX v4 to maybe do some small breaking changes (and add migration to WixCop.exe), I'm really looking forward to getting into WiX v4.
  4. Code generation - while my focus is likely to be on language improvements, I expect there will be some killer advances in code generation. There is heat.exe right now but that barely scratches the surface of what I think we'll be capable of in WiX v4. Again, with the slippage of WiX v3.5, we might see some early prototype work of code generation showing up in WiX v3.5. But it'll be WiX v4 where I think we'll really have time to work on this.

So right now (aka: WiX v3.5) the focus is Votive support for Visual Studio 2010 (which is basically done) and Burn (which is definitely not). When WiX v4 starts and ends will likely be a function of how long it takes us to finish Burn "v1". Cool?

 


5 Comments

Comment by
Yan
Saturday, January 16, 2010 11:10 AM

Cool! I'm especially excited about points 3 and 4. I had a chance to look at wonderful MajorUpgrade element, which is a great enhancement comparing to what we got used to. And I can only imagine what ideas you still have - don't slow down!

Rob, I also have a small proposition. I'm sure you have got lots of requests for other features / enhancements, which are not to get into v4. What about publishing this list with your own priorities or specifying the most requested ones? Just when (if) you have time. I think this could be a good motivation for those, who'd like to contribute (via WixContrib, for instance), but don't know where to start. :)

Thanks for all your efforts!

Comment by
Rob Mensching
Saturday, January 16, 2010 4:23 PM

Yan, that *is* a good idea. I'm generally so busy with the immediate tasks in WiX that I don't do a great job distributing the other work. I'm going to add your suggestion to my list of "visible work" and think about what can be done here.

Thanks for the great idea.

Comment by
quirrel
Tuesday, January 19, 2010 2:16 AM

hi rob,
we really hoped to have a usable version of burn (v1) available in march, but this has moved...
Can Burn be used earlier, or is it proposed to have huge changes ones more?
Best regards,
quirrel

Comment by
Rob Mensching
Tuesday, January 19, 2010 8:11 AM

quirrel, I expect there will be still be some significant bugs and changes going into Burn in March. To be ready for this March we really needed to be locked down last September.

Comment by
Vijay
Thursday, March 04, 2010 12:48 AM

Hi Rob, I installed Wix 3.5 and could see Burn.exe, but not able to use it since I do not see any related documentation in anywhere. Can you please let me know where I can find?

Regards,
Vijay

Leave a Comment

(optional)