是否可以使用WIX创建多语言安装程序?

问题描述:

是否可以使用WIX创建多语言安装程序?是否可以使用WIX创建多语言安装程序?

+0

你的意思是本地化? – Ikaso 2010-02-26 10:20:08

+0

如果是这样使用此链接http://www.tramontana.co.hu/wix/lesson2.php#2.6。 – Ikaso 2010-02-26 10:26:40

+1

是本地化但多文化, 因此用户可以选择适当的lang。从组合框开始安装过程之前。 – shahjapan 2010-02-26 10:39:40

如果您创建嵌入式转换,并且MSI安装程序会根据您的系统区域设置自动应用其中的一个,则可以在不使用引导程序的情况下执行此操作。

有关完整的详细&脚本,请,请点击此链接:

http://www.geektieguy.com/2010/03/13/create-a-multi-lingual-multi-language-msi-using-wix-and-custom-build-scripts/

他们说,这是微软安装的未公开的特性,所以,请小心使用。

+1

这适用于我(Windows 7.0 sdk vbs),以及从[开发人员指南到wix 3.6](http://packtlib.packtpub.com/library/9781782160427/ch12lvl1sec82)以下步骤,以确保我的代码页和产品语言首先是正确的。 – Epu 2013-04-18 19:50:22

这可能不是不可能的,但在运行时确定UI语言的情况下,使用Wix编写MSI可能非常非常困难。 Wix是关于构建时本地化的,也就是说,您可以使用相同的源文件轻松创建不同的MSI,每个MSI都有自己的UI语言。

+0

+1我看到的所有东西都显示了在构建时完成了本地化,并输出了单独的本地化MSI。 – 2010-02-26 19:05:37

+0

但是MSI可以在它旁边有MST文件。 MST文件将MSI转换为另一种语言。 – Ikaso 2010-02-27 07:10:25

+1

@Ikaso这是真的,但我不认为它解决了OP的问题,因为你仍然需要MSI外部的东西来决定应用哪个MST。 – 2010-02-27 14:00:44

显然有一个解决方案,您的问题使用WIX。你需要做的是创建一个引导加载程序。有一个名为Setupbld.exe的工具可以帮助解决这个问题。你可以阅读更多关于John Robbins' Blog

绝对。首先,您的.msi必须包含嵌入到其中的外语MSI的所有转换(请参阅Embedded Transforms)。这可以通过微软的MsiTran.exe和WiSubStg.vbs完成,在GeekTieGuy link这篇文章中提到。其次,您的.wxs文件的Package element必须包含语言属性,其中包含所有支持的区域设置ID的逗号分隔列表,例如,

Languages="1033,1031,3082,1036,1040,1041,1042,1043,1046,1049,2052,1028" 

现在,您可以用外语系统上双击.msi程序并自动拿出正确的语言