我们可以在运行时使用语言选择UI本地化WIX msi和bundle吗?

时间:2013-02-27 05:50:28

标签: wix windows-installer wix3.6

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

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

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

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

谢谢,

3 个答案:

答案 0 :(得分:3)

推荐的方法(以及大多数MS产品使用的方法)如您所述。

  1. 为每种语言创建本地化的MSI
  2. 选择一个基地并生成MST'
  3. 打包MST,MSI和引导程序,
  4. 显示语言选择对话框并调用MSIEXEC,将TRANSFORM=language.mst作为参数传递
  5. MSIEXEC进程开始后,所有本地化都已完成,可以这么说。任何选择都必须在MSI系统之外进行。

    See this codeproject article for an example.

答案 1 :(得分:0)

MSI的UI选择

  1. 为每种语言创建本地化的MSI
  2. 选择一个基地并生成MST的
  3. 将MST,MSI打包到引导程序中。
  4. 自定义 HyperlinkTheme.xml 以包含单选按钮以选择每种语言。
  5. 使用变量标记将用户界面中的单选按钮链接到.wxs文件
  6. 在msi标记中包含 msi属性,并硬编码 MST InstallCondition 属性的路径以区分每个选择
  7. 使用最新版本的wix进行此功能支持。
  8. 捆绑仅支持自动基本检测不支持UI选择

答案 2 :(得分:0)

我想这可能会对你有所帮助: creating language selection dialog using WiX

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