Setup.exe根据区域设置调用msi

时间:2011-09-08 16:39:01

标签: .net visual-studio-2010 c#-4.0 setup-project

环境: Windows 7 SP1 Visual Studio 2010 Ultimate SP1 .NET 4.0

我有一个Visual Studio安装项目,其中包含一些先决条件(Windows Installer 4.5,SQL Server Express 2008 ...)

我的部署包有一个setup.exe,app.msi和带有先决条件的文件夹。

现在我们想要本地化msis。 所以我们将有app.en.msi和app.de.msi

我需要两个部署包吗? 或者我可以使用智能setup.exe,可以根据区域设置在app.en.msi和app.de.msi之间进行选择吗?

1 个答案:

答案 0 :(得分:0)

一般方法是:

  • 以主要语言(通常为英语)
  • 创建基本MSI
  • 为每种语言创建MST transform;此转换应将UI字符串更改为其已翻译的值
  • 创建一个自定义EXE引导程序,用于检测系统语言或显示语言选择对话框
  • 此引导程序应launch the MSI with the appropriate transform

Visual Studio不支持此功能,但您可以使用Orca生成转换。

请注意,这不是一件容易的事。你必须手工完成所有事情,包括用你想要的语言翻译UI字符串。

对于多语言软件包,使用已经拥有专用支持和相应字符串的商业安装创作工具会更容易。