Installation 处理多语言MSI Installscript Installshield安装程序问题

Installation 处理多语言MSI Installscript Installshield安装程序问题,installation,installshield,globalization,Installation,Installshield,Globalization,我是一名新的InstallShield开发人员,面临将公司的一个桌面应用程序转换为多语言安装程序的挑战。我主要是让它按照我们想要的方式工作,安装程序检测操作系统语言并用适当的语言环境显示对话框。这是一个MSI InstallScript项目,我必须从带有ID_字符串的脚本中切换出一些硬编码字符串,然后使用编辑器将该字符串(及其翻译)添加到数据库中,这样做很有魅力 我需要解决的最后一个问题是如何用适当的语言启动应用程序。应用程序确实具有更改UI区域设置的功能,但它位于“设置”区域,用户需要在启动应

我是一名新的InstallShield开发人员,面临将公司的一个桌面应用程序转换为多语言安装程序的挑战。我主要是让它按照我们想要的方式工作,安装程序检测操作系统语言并用适当的语言环境显示对话框。这是一个MSI InstallScript项目,我必须从带有ID_字符串的脚本中切换出一些硬编码字符串,然后使用编辑器将该字符串(及其翻译)添加到数据库中,这样做很有魅力

我需要解决的最后一个问题是如何用适当的语言启动应用程序。应用程序确实具有更改UI区域设置的功能,但它位于“设置”区域,用户需要在启动应用程序后导航到该区域进行更改。应用程序中没有检测操作系统并使用该区域设置打开的功能。我希望避免要求开发人员添加这些内容。应用程序的安装文件中有一个XML文件,我可以手动编辑该文件并强制应用程序在该区域启动。我考虑过使用“XML文件更改”工具,但遇到了困难。我还尝试为每种语言添加新的组件,以便在安装过程中放置新的xml文件,但是我遇到了很多错误,比如无法压缩文件和一些其他错误

这似乎是一个其他人可能多次关注的问题。我很想知道我是否缺少InstallShield中针对此类问题提供的一个明显的功能/工具,或者是否有人建议我尝试一下

提前感谢您的帮助


凯文

很抱歉耽误了回来解释我是如何解决问题的。主要的问题是,我需要检测操作系统的语言,然后使用该语言让安装程序设置适当的xml文件,该文件告诉应用程序在启动时显示哪种语言

我为添加的每种新语言创建了其他组件。在每一个新组件中,我都让它通过语言有条件地安装(在右边的组件菜单区域中轻松设置)。我设置了一个条件,即当ProductLanguage代码与该组件的代码匹配时,它会将具有适当区域设置节点的xml文件复制到目标机器目录。当应用程序启动时,它将以与ProductLanguage代码匹配的语言启动

似乎工作正常。我基本上只是复制了将英文XML文件放入targetdir的原始组件,并为添加到安装程序中的每个区域设置了一个,并将新组件设置为有条件安装


感谢所有试图帮忙的人。我认为有时在寻求帮助的过程中,需要总结一个问题,才能真正看到全局

您是否尝试过在使用不同UI语言的Windows版本上运行?我已经成功地使用了这里的说明并运行了Msiexec-I your.msi ProductLanguage=1025。这可能取决于您的核心问题是什么。您是否需要确定正确的语言,或找出更新应用程序配置文件的正确方法?(有关MSI,请参见上半部分的
UserLanguageID
SystemLanguageID
,但请注意,它们使用旧式LCID而不是区域名称。)