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.

FireGiant provides dedicated support for the WiX toolset. Ever wish you could get your WiX questions answered immediately with the technical detail that you find in the blog posts here? You can with FireGiant!

Send a comment

Thank you for sending your comment.