Setup.exe calling msi based on Regional setting

会有一股神秘感。 提交于 2019-12-24 15:09:38

问题


Environment: Windows 7 SP1 Visual Studio 2010 Ultimate SP1 .NET 4.0

I have a Visual Studio Setup project with some prerequisites(Windows Installer 4.5, SQL Server Express 2008...)

My deployment package has an setup.exe, app.msi and folders with prerequisites.

Now we want to localize the msis. So we will have app.en.msi and app.de.msi

Do I need two deployment packages? Or can I have an intelligent setup.exe which can choose between the app.en.msi and app.de.msi based on the regional setting?


回答1:


The general approach is this:

  • create the base MSI in the main language (usually English)
  • create a MST transform for each language; this transform should change the UI strings to their translated values
  • create a custom EXE bootstrapper which detects the system language or shows a language selection dialog
  • this bootstrapper should then launch the MSI with the appropriate transform

Visual Studio doesn't support this, but you can generate transforms with Orca.

Please note that this is not an easy task. You would have to do everything by hand, including getting the UI strings translated in the languages you want.

For multilingual packages it's easier to use a commercial setup authoring tool which already has dedicated support and the appropriate strings.



来源:https://stackoverflow.com/questions/7351530/setup-exe-calling-msi-based-on-regional-setting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!