In WiX 3 there is Package/@Languages element to specify a list of language the MSI package supports. When using wix convert tool to upgrade to WiX4, this element just gets removed. How do you specify languages in WiX 4 project?
2 Answers
The MSI package language can be set in either of the following ways:
- Directly in the
Package/@Language
attribute. - Using a .wxl file with the
Localization/@Culture
attribute set.
During the build, the summary information will be set correctly. The Windows Installer does not officially support setting multiple languages on an MSI package, so the Package/@Languages
attribute in WiX v3 was unnecessary and could create invalid packages with mismatched languages. That bug was fixed in WiX v4.

- 33,834
- 5
- 90
- 130
In case you want the workaround, you can add this to your build system before you sign your package:
WiLangId.vsb script from the Windows MSI SDK with said syntax:
>> WiLangId.vsb [path to .msi] Package [List of language codes, comma separated]
This seems to mimic the behavior of what @Languages was doing, but keep in the mind there is another documented best practice way, although it seems a little more complicated and a harder transition if you're upgrading from Wix v3. https://learn.microsoft.com/en-us/windows/win32/msi/manage-substorages
Also see this discussion: https://github.com/orgs/wixtoolset/discussions/7325

- 21
- 7