【问题标题】:Change WIX Installer language at run在运行时更改 WIX 安装程序语言
【发布时间】:2015-02-04 10:19:25
【问题描述】:

不带 Setup.exe 启动器的多语言 MSI 程序包

请帮助我使用 wix 创建没有 Setup.exe 的多语言 MSI 包。

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

我从帖子中关注了下面的链接,但它也没有工作 how to create language transformation that will correctly change the ProductLanguage property in Wix.

如果我们可以从下拉菜单中选择语言并根据安装程序语言更改也可以。

请帮帮我。

【问题讨论】:

    标签: localization wix installation windows-installer


    【解决方案1】:

    您可以按照本网站上的说明进行操作:Multi-Language MSI Packages without Setup.exe Launcher

    简要描述的步骤:

    • 您创建一个基本的 MSI 包,使用英语作为默认/后备语言
    • 您可以为要包含的所有其他语言创建转换
    • 您将这些转换嵌入到您的 MSI 包中(因此您基本上只有 一个 MSI 文件)
    • 您调整摘要信息流

    使用的脚本取自 Windows SDK。使用此方法启动 MSI 并根据为您的系统配置的区域选项不是 UI 语言),Windows Installer 将以相关语言显示安装(如果包含转换)或英语(如果 Windows Installer 找不到任何合适的语言转换)。

    我自己使用它,包括 5 种语言,工作起来就像一个魅力。

    【讨论】:

    • 谢谢!我已经测试了德语,它工作正常。如果我有任何问题,我会进一步测试并发布。感谢您的帮助。
    • 这是一个未记录且不受支持的功能,请小心。
    【解决方案2】:

    必须在 MSI 启动时应用转换,这是底线。机器的语言也不相关——如果你有一个单独的 exe 来启动 MSI,那么系统语言将是一种有用的默认语言,但没有什么可以阻止任何人在德语操作系统上安装英语 MSI。 Windows 如何知道您拥有哪些转换文件并在安装过程中自动应用它们。

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

    【讨论】:

    • 谢谢!客户需要 msi 安装程序,因为 exe 可能在他们的网络中受到限制,或者他们担心安全性。
    • 是的,在德语操作系统上没有什么可以阻止英语 MSI 是正确的,但如果他希望应用程序使用德语,它就不能实现本地化目的。 msi安装程序是否可以提供语言列表框,然后相应地更改安装语言?
    • 目前,我正在使用 exe 启动器来读取机器语言并通过转换调用 msi 安装程序,但客户想要 msi,所以我想通过 MSI 安装程序来满足该要求。
    【解决方案3】:

    请参阅我对is it possible to create a multilanguage installer using WIX? 的回答,了解如何创建自动检测 MSI。 (我会发表评论,但我没有特权。)

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2015-12-04
      相关资源
      最近更新 更多