I recently made the switch to v3.0.4624. In my previous WiX build using v3.0.3113, I had to specify <cultures>en-US</cultures> in my msbuild project file (I am using util:XmlFile in my project). With the latest version, it complains about it and I get this error:
\wix.targets(1481,5): error : None of the embedded resource cultures matched the list of cultures to build (en-us). Either include a language file for the specified cultures, or change the list of cultures to build, then try building again.
I have my <embeddedresource include="1033.wxl"> as well. So I just comment <cultures> out. Then light.exe gives me this error:</cultures></embeddedresource>
C:\delivery\Dev\wix30_public\src\ext\UtilExtension\wixlib\UtilExtension.wxs(215): error LGHT0102: The localization variable !(loc.msierrXmlFileFailedRead) is unknown. Please ensure the variable is defined.
So I read more about it and the obvious solution is to add the -cultures:en-us and pass it to light.
I am using msbuild, so I can't do that. I figured setting the <cultures> was supposed to do that. Since I commented it out, light.exe runs and builds my project and it seems it is missing the -us part of -cultures:en-us when run from msbuild. This is just what is shown in the build output. Part of the output:</cultures>
Light.exe -sw1055 -sw1056 -sw1076 -cultures:en -ext E:\In.......
Notice the -cultures is missing the -us part.
Is there some reason Light.exe is leaving out the -us part of -cultures:en-us? If I run the same command that displays in the output of which is run when msbuild is invoked and add -us, things work fine.
How can I get the correct cultures syntax there?
Duplicate of bug 2058168.