更改WIX安装程序语言的方法

3

无需Setup.exe启动器的多语言MSI包

请使用wix帮我创建不需要Setup.exe的多语言MSI包。

我已为不同语言创建了mst文件,并使用EmbedTransform工具将其嵌入,但它仅适用于像msiexec /i SampleMulti.msi TRANSFORMS=":fr-fr.mst"这样的命令行选项。如果我更改我的机器语言并直接使用msi安装,则它无法正常工作。

我按照以下链接中的文章进行了操作,但它也没有起作用:如何创建正确更改Wix中ProductLanguage属性的语言转换

如果我们可以从下拉列表中选择语言,并根据安装程序语言进行更改,那也可以。

请帮我解决这个问题。

3个回答

2
您可以按照此网站上的说明进行操作:无需Setup.exe启动器的多语言MSI包 简要步骤如下:
  • 创建一个带有英语默认/回退语言的基本MSI包。
  • 为您想要包含的每种其他语言创建转换。
  • 将这些转换嵌入到您的MSI包中(因此您基本上只有一个MSI文件)。
  • 调整摘要信息流。
使用的脚本来自Windows SDK。 使用此方法,您启动MSI并根据系统配置的区域选项(而不是UI语言),Windows Installer会以相关语言(如果已包括转换)或英语(如果Windows Installer找不到任何适当的语言转换)呈现安装。
我自己使用了5种语言,效果非常好。

谢谢!我已经对德语进行了测试,一切正常。我会继续进行测试,如果有任何问题,我会发布。感谢您的帮助。 - Mitul
这是一个未记录且不受支持的功能,请小心。 - PhilDW

1

0

在启动 MSI 时必须应用转换,这是最重要的。机器的语言也不相关 - 如果您有一个单独的 exe 来启动 MSI,则系统语言将是一个有用的默认语言,但没有任何阻止任何人在德语 OS 上安装英语语言 MSI 的事情。那么 Windows 如何知道您拥有哪些转换文件并在安装过程中自动应用它们。

如果您想让用户选择语言,仍然需要一个启动程序,在 MSI 启动命令行中添加相关的转换。为什么单独的 exe 是一个大问题呢?


谢谢!客户想要MSI安装程序,因为EXE文件可能会受到网络限制或者他们担心安全问题。 - Mitul
是的,英语语言的MSI在德语操作系统上没有任何阻止,但如果他希望应用程序以德语语言运行,则无法实现本地化目的。使用MSI安装程序是否可能提供语言列表框,然后相应更改安装语言? - Mitul
目前,我正在使用读取机器语言并调用带有转换的msi安装程序的exe启动器,但客户想要msi,因此我希望使用MSI安装程序来满足这个要求。 - Mitul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接