Bug in Votive can prevent culture settings from taking effect when building an MSI

Recently, I posted a set of instructions for creating an MSI-based installer for a Windows Media Center application using WiX v3.0 and Votive.  While I was working on writing those instructions, I noticed a frustrating issue that I could not consistently reproduce.  After I added the en-US culture attribute, saved and tried to build the MSI, I received 200+ errors about undefined localization strings in the WixUI dialog libraries.  Eventually, I discovered that the en-US culture attribute was not being passed on the command line to light.exe, and then I re-opened the property pages and discovered that the culture attribute had not been saved like I thought.

Eventually, I was able to get Visual Studio to think that the property pages needed to be saved again, and it persisted the en-US culture attribute to the .wixproj file.  I tried a couple of times to start from scratch and narrow down a set of steps, I could not find a consistent pattern that would cause the culture attribute to be correctly saved.

I found the following bug being tracked for this issue in the WiX SourceForge bug database -

https://sourceforge.net/tracker/index.php?func=detail&aid=1566296&group_id=105970&atid=642714

That bug lists an easier workaround that can be used if you run into this issue while trying to use the steps that I previously posted:

  1. Open the .wixproj file in a text editor such as notepad
  2. Find the section named <Cultures></Cultures> and add the culture string(s) you want to support for your MSI delimited by semi-colons
  3. Save and close the .wixproj file
  4. Build the .wixproj file again in Visual Studio