2013-02-27 34 views
2

我们在Wix中创建了一个MSI和Bundle。我需要将这两种语言本地化,以便语言选择GUI将弹出,用户可以在运行时选择语言。如果有人能帮助我,我会非常感激。我们可以在运行时使用语言选择UI本地化WIX msi和捆绑包吗?

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

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

如果有人能够帮助我解决这个问题或为我提供另一种方法来满足上述要求,这将会很有帮助。

感谢,

回答

0

微星

  1. UI选择创建一个MSI本地化为每种语言
  2. 选择一个基地,生成MST的
  3. 包的MSTS,微星为引导程序。
  4. 自定义HyperlinkTheme.xml包括单选按钮用于选择每种语言。
  5. 使用可变标签从UI链接单选按钮,.wxs文件
  6. 包括在MSI标记MSI属性和硬编码的路径,MST的和InstallCondition属性来区分每个选项
  7. 使用最新版本的wix来支持此功能。

捆绑只支持自动碱基检测没有对UI选择

+0

你在哪里添加单选按钮?主题的''元素不允许“RadioButton”类型的子元素。你能否显示(摘录)你创建的主题? – harper 2016-09-25 10:09:02

2

推荐的方法(和为此事,由大多数MS产品中使用的方法),是你描述。

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

MSIEXEC进程启动后,所有本地化敲定,可以这么说。任何选择都必须在MSI系统之外进行。

See this codeproject article for an example.

+0

你不需要调用MSIEXEC。简单地使用'MsiPackage'捆绑msi并创建一个子节点'' – Durgesh 2013-05-09 08:49:58

+0

@durgesht,这个问题引用创建一个自定义引导程序,它必须调用'MSIEXEC直接。 WiX Bundles只是简化了这样的引导程序的生成 - 这种或那种方式,'TRANSFORMS'属性传递给MSI系统。 – Mitch 2013-05-09 22:22:12

相关问题