A live one hour Windows Installer XML introduction by Rob Mensching.


A few months ago Carolyn and Om (Dev and PM on the Windows Installer team respectively) invited me to give an hour long presentation on the Windows Installer XML toolset to a bunch of developers internally.  That presentation later gently morphed into my presentation at OSCON.  However, more interesting is the fact that the presentation Carolyn and Om invited me to was recorded.  Om sent me the video a couple months ago and gave me permission to post my portion of the presentation publicly.  I had actually hoped to post this before OSCON but it kept falling off my priority list until this week.

So, before I give the links to the presentation and video there are a few pieces of context I want to provide:

1.  It took me about twenty minutes to settle into this presentation (although I was pretty shaken from the beginning, see the next point).  I built the presentation in a few hours after midnight the night before the presentation.  I decided the presentation should actually be more a demonstration of what is possible in the WiX toolset instead of a bunch of bullet points.  Demonstrations are always much more difficult to get right than just talking.  The big issue was that I only had time to practice the demonstration in pieces, never from start to finish.  So, I was very nervous until I got past the first (and hardest) part of the demonstration.  That’s why you see me jumping around a lot in the beginning (although I move around a lot as it is).  I relaxed a lot more after that.  And no I wasn’t completely nervous through the whole presentation, I always talk that fast.

2.  Almost 15 minutes into the presentation I hit a compile issue related to the Package/@Codepage attribute.  That was terrifying.  I thought for sure my presentation was dead at that point in time.  Fortunately, I realized I could pull the attribute and the demonstration would perform fine.  As promised I tracked down the actual problem.  The root issue is that the template I started from had put a Codepage attribute on the Package element.  If you know the wix.xsd, you know that the Package element has a SummaryCodepage attribute not a Codepage attribute.  Unfortunately, I trusted the template too much to realize that at the time.

3.  During the presentation I have a little bit of dialog with the people sitting in front of me that you can’t hear in the video.  The conversations (if I remember correctly) are all around me typing XML incorrectly and/or doing things that the audience thinks is wrong.  They are usually right and you get to see that the demo is real and that WiX doesn’t crash when you pass it bad data.  Of course, you also get to watch me debug my demo while standing in front of 100 to 150 developers.

4.  In the demo, I promise to publish all of the source files I’m working with.  I will (in my copious free time) get them cleaned up and posted to SourceForge.  I just didn’t want to hold up the posting of the video any longer waiting for that cleanup.

5.  You’ll see me adding and sync’ing and resolving files using our source control system at Microsoft (called Source Depot).  This system operates nearly identical to CVS (just different names for things) and most other source control systems.  Put your favorite source control system in place and the demo should work the same.

6.  In the middle of the presentation, I mention that InstallShield used a binary file format for saving the user data and that is bad for source control.  For the record, yes, I know InstallShield has recently moved away (or provided the option to move away from) from that binary format.  I’d like to think WiX helped nudge ’em in that direction.  <smile/>

7.  About three fourths of the way through the presentation I discuss the machine where WiX is available for internal developers.  As I’ve mentioned in a previous blog entry, there is a copy of all the SourceForge code on a machine inside Microsoft.  I personally act as the gateway and replication service between that copy of the WiX toolset inside Microsoft and SourceForge.  I always point internal people at the internal copy for all the reasons mentioned in that previous blog entry.

8.  All the MSI 3.0 and patching features I mentioned nearing completion are done and in the WiX toolset now.

9.  Finally, I want to apologize for the image quality.  I know it is hard/impossible to read what I’m typing sometimes.  I couldn’t get the file to a reasonable size and reasonable image quality so this is a compromise.  Hopefully even without being able to see everything that I’m doing the point comes across.

I still can’t believe I made it through this presentation in under an hour.  Enough of me babbling here, now for the links to the data you’ve been waiting for:

  Windows Installer XML (WiX) Introduction Presentation

  Windows Installer XML (WiX) Introduction Video

Keep coding, you know I am.

Comments (11)

  1. Rob, you’re a star! WiX has made writing installers so much easier. To think once upon a time I was regexing .vdproj files (shudder).

    Is there any news on the WiX MSBuild tasks? We have ended up writing our own. I don’t know if it is worth releasing them, knowing there are some Microsoft ones coming out soon.

    Thank you, Jamie.

  2. I have some code that was contributed by somebody (I think inside Microsoft) for WiX MSBuild tasks. I haven’t done the work yet to get that into the build process (the part nobody ever wants to do, so I get stuck with it). Let me try to get around to that in the next week and post it. Then maybe you and yours can contribute to that code and improve it. Deal?

  3. Craig Boland says:

    Great to see the face behind the name. I’d like to see the .wxs files created in the demo. Keep up the good work, Rob, et. al.

  4. Brian says:

    I would like to know if anyone has been having problems compliling the latest wix source on sourceforge?

  5. Brian,

    I’m not aware of any issues compiling the toolset but I’ve made mistakes in the past. Please feel free to post any issues you’ve hit to the wix-users@lists.sourceforge.net mailing list. People there (including me) should be able to help out.

  6. Marc Borgers says:

    I started using Wix to take building of installers in our daily build system. Great stuff. I have one question: how can I refer to the dependend msm’s in an msm when I want using Wix ?

  7. Marc,

    Please send all WiX related questions to the wix-users@lists.sourceforge.net mailing list there are many people there that can help answer questions.

  8. When I talk to my fellow developers and other installation developers about the WIX Toolset, they do not fully understand the implications of the WIX Toolset in its own right but map its features to their favorite installation development tools. The WIX T