Windows Installer identifiers must be stable.

The Windows Installer team blog has a picture laden blog entry that explains why primary keys in an MSI database must not change from build to build.  I suggest taking a read through it because it provides a nice example of why I caution people when they are writing tools to autogenerate WiX source files.  Those identifiers are not trivial pieces of data.

We (Derek lead most of the way) spend a lot of time discussing the right way to handle auto-generating identifiers in the WiX toolset.  The WiX tools either generate stable identifiers or have warnings that explicitly state that the auto-generated identifiers are not stable and thus should not be used in a repeated process.

As a result, the WiX toolset is sometimes harder to use but builds very high quality Windows Installer databases (unless the developer chooses ignore the warnings <smile/>).  We're also making progress in WiX v3 on drastically improving the usability in the common auto-generation scenarios without sacrificing the quality of the created Windows Installer packages.  More on this in a month or so.

 

PS:  Primary keys in the Windows Installer map (almost exclusively) to the Id attributes in the WiX toolset

 

3 Comments

Comment by Heath Stewart on Friday, March 09, 2007 9:19 AM

In similar regard, file sequences must also remain stable, as described at http://blogs.msdn.com/heaths/archive/2006/05/19/602133.aspx. For small upgrades and minor updates, arbitrarily changing file sequences will most often lead to unresolvable prompts for source, thus equally breaking the install.

Comment by Balaji on Monday, April 02, 2007 12:09 PM

Hi

Can you please help me on WIX, How to add a custom dialog box that will show all avail SQL Server names. Where my SQL script need to executed.

Thanks
Balaji Devendran.

Comment by Rob Mensching on Wednesday, April 04, 2007 12:37 AM

For general WiX questions, please contact wix-users@lists.sourceforge.net.

Leave a comment
optional