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

Posted by
Rob Mensching
Sunday, April 05, 2009 11:58 PM

Open Source WiX toolset turns 5.

Five years ago today, the WiX toolset was released to SourceForge as the first Open Source project from Microsoft. Roughly five years before that, I wrote the first lines of the WiX toolset were written. That means for almost a decade, I've been leading the effort to create a set of tools that integrate seamlessly into development environments to create Windows Installer packages from a text based source format. Even though I have been spending a lot of time thinking about the next steps for the WiX toolset, I want spend today looking back.

Ten years provides a lot time to reflect over. There is no shortage of fond memories to consider. Lately I've found myself thinking about the distinct "virtual teams" that have developed the WiX toolset over the years. Thinking back it feels like we are now in our fourth phase.

Phase 1 - Team of One and a Half

I've told this story many times, the WiX toolset started as a collaboration between John Delo and I in August of 1999. Independently, we were applying this new XML thing, which we didn't understand, to Windows Installer, which we both understood quite well. Over a couple weekends, we slammed out a block of VBScript that could convert XML into a MSI database and back again.

John lost interest after the initial prototype, so I continued on alone. I named the project the WiX toolset and focused on building Merge Modules since no one was creating them properly in 2000. That won me internal customers who fed me bug reports. The WiX v1 toolset quality improved until 2003 when it was clear that VBScript wasn't going to scale. I had to learn C# anyway and WiX v2 was born.

Phase 2 - The First WiX Virtual Team

Somewhere in the transition to WiX v2, Derek Cicerone, Robert Flaming, Reid Gustin and Scott "K" Kurtzeborn became involved. Robert and I had been collaborating on setup work since I joined Microsoft full time (he's an old timer). K was a new hire that I mentored and ramped him up on the early WiX CustomActions. Reid was an intern I hijacked from another developer on our team to work on some of my projects. When he came back full time, he joined us on WiX. Derek was hired after K while Reid was an intern and joined WiX to integrate it into Office. Not long after releasing WiX v2 to SourceForge, Justin Rockwood joined in to create Votive.

The bulk of what you know as WiX v2 and even WiX v3 was built by this crew. Much of the culture that makes up the WiX toolset was defined by my interactions with these five individuals. But all good things come to an end.

Phase 3 - The First Transition Team

There were a number of faces that came and went after the WiX toolset became popular in Microsoft (both as Open Source and being widely adopted at the end of 2003). At one point there were 10 people regularly working on the WiX toolset. That was crazy.

Out of the craziness, two new faces joined that helped shape the WiX toolset you know today. First, Bob Arnson joined and went to work on everything from documentation to code to communicating with the community. Second, Peter Marcu joined to ease the integration of WiX into Visual Studio and ended up picking up where Derek left off. At the time, Bob and Peter had no way to know how important they would become to me and the WiX toolset over the next couple years.

Around the middle of 2006, Derek decided to leave Microsoft. Robert, K and Justin's personal life all got busy in different ways and Reid started looking for new challenges. The core set of developers that had been there since before the WiX toolset was popular were all walking away. Bob and Peter were guys that provided some much needed continuity through all of the change.

Phase 4 - The Visual Studio Influence

In the middle of 2007, Visual Studio was working towards shipping the WiX toolset and we saw an influx of new people again. Jordan Fitzgibbon is quietly building tests and test infrastructure. Heath Stewart picked up pretty much all of the patching code then bits and pieces from there. Jason Ginchereau joined to work on Votive and ultimately DTF. Also, Mike Carlson has done a fantastic job picking up the CustomAction code. Finally, Fredrik Grohn just joined Visual Studio after contributing the MSMQ and COM+ CustomAction code from the other side of the Atlantic.

Of course, there other names like Aaron Stebner, Mike Holcomb and Joe Abbott who have contributed on various portions of the WiX toolset for the last few years.

Phase 5 - Next?

Now Bob is moving to Boston and Peter's personal life is filling up so we may be heading toward another phase of the WiX Virtual Team. After surviving the first transition, I'm confident we'll be able to handle any changes that may come this way. The only challenge we haven't had to weather is a complete change in leadership. And since I have no desire to retire from the WiX toolset, I don't think we'll be testing the latter any time soon. <smile/>

There are a lot of names above and I'm sure there are a few I left out. Suffice it to say that the last decade has been a fantastic journey because of these people I've worked with and the last 5 years have been an absolute blast because of the interaction with (almost) everyone in the greater WiX community.

Let me close this anniversary by saying that I'm very excited about the upcoming year. WiX v3 RTM is coming and everyone above is coming back for the party. And then we tackle what's next.

 


Posted by
Rob Mensching
Friday, April 03, 2009 12:59 AM

WiX toolset bug count after April 2nd, 2009.

Morale took a hit this week with the announcement that the WiX toolset will not be shipping in Visual Studio. Productivity was slightly affected but a couple noteworthy bugs in the WiX toolset were fixed. We also ended down one more bug at 21. Not bad for a pretty painful week.

First interesting bug was that Votive will no longer lock referenced assemblies. This was simply an annoying behavior that Jason fixed. Second, fallback languages were implemented in light. This addresses a long standing and very bothersome issue. Eric paid particular attention to the documentation for this fix, so check out the next drop of the WiX.chm's How To on localization.

I've been spending a considerable amount of my time thinking about the WiX v3 roadmap now that we are independent of Visual Studio 2010's schedule. I have a couple tentative plans in mind that I'm socializing with others. Expect an update soon.

 

bug chart

 


Posted by
Rob Mensching
Wednesday, April 01, 2009 2:59 PM

Visual Studio will not ship the WiX toolset, contributes only.

It was almost two years ago when Visual Studio approached me about shipping the WiX toolset in Visual Studio. We built a plan that combined the efforts of program management, developers, testers, documentation and localization people from Visual Studio with the volunteer group to release the WiX toolset version 3.0 as part of Visual Studio 2010. We executed on that plan to deliver the WiX toolset as part of the Visual Studio 2010 CTP and were on track to deliver for Beta 1.

In that time we went from over a hundred bugs open to under thirty. Everything in the WiX toolset just works better and so much of that is due to the quiet efforts of those in Visual Studio. However, over that time, the entire management chain from lead up to (but not including) Soma changed. With that amount of change in management comes a potential change in approach.

With that cliffhanger in place, let me switch to Q&A mode. Note, these are my answers based on my conversations with the Visual Studio team.

Q: What is Visual Studio's new approach to the WiX toolset?

A: The WiX toolset is a great compliment to Visual Studio. WiX provides complete access to the Windows Installer technology and integrates well into the build process. Visual Studio will continue to contribute to the project but will not ship the WiX toolset.

Q: That means the WiX toolset *not* be part of the Visual Studio install?

A: Correct. This is the biggest change in the relationship between WiX and VS. Previously, there were plans to ship a subset of the WiX toolset as part of some Visual Studio products. Now the focus is solely on contributing all changes to the WiX Open Source project.

Q: Why did Visual Studio change its approach to the WiX toolset?

A: There is a lot of overhead shipping the WiX toolset "in the box" of Visual Studio. From a business perspective, it isn't clear how shipping "in the box" adds significant value vs. purely contributing to the Open Source project.

Q: So is all of the work Visual Studio still going to be part of the WiX toolset?

A: Absolutely. The business decision to not ship the WiX toolset in Visual Studio does not diminish the value of the effort thus far. Instead, the Visual Studio team is narrowing their focus on distributing the code via a single means, the WiX toolset Open Source project.

Q: Is Visual Studio going to continue to contribute code to the WiX toolset?

A: For the near term, yes. There is a large body of code to support the new Visual Studio 2010 and MSBuild functionality to contribute in the next few weeks. I'm very excited about that (plus all the work already part of WiX v3). After that, we'll see how the Visual Studio team decides to proceed. I hope they continue to participate but their future is in their hands.

Q: What does this mean for the WiX toolset?

A: Not much directly. We wanted to deliver a production quality release of WiX v3 before the end of the year . The Visual Studio team has helped us do that and I really hope they will continue to do so. Personally, I would love it if Visual Studio was one more way to distribute the WiX toolset but that doesn't seem to align with their goals at this time.

Q: Does Visual Studio still provide food for the volunteers that work on the WiX toolset?

A: Yes and I very much appreciate that. I probably don't thank them enough. Visual Studio has done some very nice things to support the volunteers on the WiX toolset and we appreciate it. Delivering high quality tools that build high quality installation packages is in everyone's best interest.

We're proud to be fighting the good fight.

 


After