MSN Toolbar Suite Beta setup built by the WiX toolset.
Since it appears lots of other people are talking about the beta of the MSN Toolbar Suite (Scoble is tracking many of them here and here) so I thought I'd take a look at it. Besides, I'm tired tonight and not up to writing anything superbly technical. Anyway, I downloaded the bootstrapper that kicked off the install. It was obviously a Windows Installer package so I went rooting around for their MSI file to see what I could see. I finally found a copy of it (in the Windows Installer cache that I will talk about some other night) and popped the MSN Toolbar Suite's MSI file open in Orca.
At first, I was pretty excited because the installation package was written using the WiX toolset (albeit a version of WiX built about four months ago). Unfortunately, as I investigated deeper, I saw some non-ideal authoring. For example, the Directory table has a number of entries where the short and long names for the directory are identical. This bloats the package for no reason. More recent builds of the WiX toolset print out a warning to inform the setup developer about that kind of unnecessary duplication. Also, I noticed a large number of invalid identifiers in the MSI file. Those also would have been caught if built by a more recent build of the WiX toolset.
As you can see, the WiX toolset is slowly getting smarter about bad authoring. I've even considered adding a "-pedantic" switch to candle.exe many times to catch things that just shouldn't be done in an MSI file. However, for now there is plenty of error checking to tighten in the WiX toolset without the "-pedantic" switch. But, I digress...
Fortunately, none of the errors described above are fatal with the current versions of the Windows Installer available so the Beta installed just fine (it's indexing my machine right now). However, to ensure future compatibility with the Windows Installer at least the identifier issue should be fixed. Also, fortunately, this release is just a beta package so there is still time for all of the issues to get fixed. Finally, a few of the MSN Toolbar Suite guys are coming up to Redmond this week (they are down at the Silicon Valley campus) and they've scheduled lunch with me to talk about how they are using the WiX toolset. I'll raise these issues with them again there.
Oh, and I agree with Michael Giagnocavo, "What's with the shortcut on the desktop? Don't do that! The desktop is the user's space. At least ask for permission to stick stuff there."
Comments
- Anonymous
December 13, 2004
I wonder whether the Lookout-like search in Outlook is, like Lookout, .NET-based code, too. - Anonymous
December 13, 2004
Oh, and one more thing. Remember how I said I was going to join the Wix team ? I was just reading Rob's entry, and it turns out the MSN Toolbar installer was built using WiX. How cool is that?... - Anonymous
December 14, 2004
"I've even considered adding a "-pedantic" switch to candle.exe"
Can't wait. After all, candle is compiler and one of compiler's significant tasks is validation. Ideally, there will be no need to run validation on packages, created with WiX. - Anonymous
December 16, 2004
Rado,
Ideally, I agree with you. However, there are many things that compilers can't check, so you'd need checks in the linker as well. Unfortunately, the validation code can be extremely complicated and the Windows Installer team is always adding new checks. The WiX toolset could duplicate all of those checks, but it would be time-consuming... but maybe... one day.
Also, my thoughts for "-pedantic" would go beyond what the MSI SDK recommends to be what I think is good authoring. <smile/> - Anonymous
December 16, 2004
Imagine a blog entry where I come to two conclusions about MSI validation and interacting with people. - Anonymous
December 16, 2004
Imagine a blog entry where I come to two conclusions about MSI validation and interacting with people. - Anonymous
March 21, 2005
WiXでインストーラを開発している製品 - Anonymous
March 21, 2005
WiXでインストーラを開発している製品