3

我们在 Wix 中创建了一个 MSI 和 Bundle。我需要以这样一种方式本地化这两者,以便弹出语言选择 GUI,并且用户可以在运行时选择语言。如果有人可以帮助我,将不胜感激。

对于 MSI,我正在创建另一个引导程序,用于启动语言选择组合框,并使用所需的转换(使用命令 shell)调用转换后的 MSI。我仍然不确定这种方法的可行性。我在引导程序的自定义 UI 中创建组合框并调用批处理命令以所需语言运行此 msi 时遇到问题。

对于 Bundle - 我仍在努力寻找一种方法。如果有人对此有任何想法/样本。

如果有人可以帮助我解决此问题或为我提供另一种满足上述要求的替代方法,那将很有帮助。

谢谢,

4

3 回答 3

3

推荐的方法(就此而言,大多数 MS 产品使用的方法),如您所描述的。

  1. 为每种语言创建一个本地化的 MSI
  2. 选择一个基地并生成 MST
  3. 打包 MST、MSI 和引导程序,这将
  4. 显示语言选择对话框并调用,作为参数MSIEXEC传递TRANSFORM=language.mst

MSIEXEC过程开始后,可以说所有本地化都已完成。任何选择都必须在 MSI 系统之外进行。

有关示例,请参阅此 codeproject 文章。

于 2013-02-27T06:22:53.280 回答
0

MSI 的 UI 选择

  1. 为每种语言创建一个本地化的 MSI
  2. 选择一个基地并生成 MST
  3. 将 MST、MSI 打包到引导程序中。
  4. 自定义HyperlinkTheme.xml以包含用于选择每种语言的单选按钮。
  5. 使用变量标签将单选按钮从 UI 链接到 .wxs 文件
  6. 在 msi 标记中包含msi 属性并硬编码MSTInstallCondition属性的路径以区分每个选择
  7. 使用最新版本的 wix 来支持此功能。

Bundle 仅支持自动基础检测,不支持 UI 选择

于 2013-05-02T12:39:56.953 回答
0

我想这可能会对您有所帮助: 使用 WiX 创建语言选择对话框

使用基于 C# 的自定义引导程序创建用于语言选择的自定义 UI 存在限制。这可能导致主机上需要 .Net 框架。

于 2013-09-04T10:39:14.990 回答