创建 Windows Installer 包

有关本地化的一般信息,请参阅全球化服务。 本地化 Windows Installer 包需要修改用户界面显示的字符串,并且可能还需要添加或修改产品资源。 例如,本地化可能包括向产品添加国际 DLL 和本地化文件。

本地化 Windows Installer 包

  1. 在创作原始安装包时做好本地化准备工作。 设计本地化文件的布局,以便不同的语言版本在用户计算机上安装时可以顺利共存。 将需要本地化的文件整理到单独的组件中,并将这些文件安装到单独的目录中。 创作具有中性控制页的基本安装数据库。 请参阅准备要进行本地化的 Windows Installer 包
  2. 在添加任何本地化数据之前,务必设置要本地化的数据库的代码页。 如果要本地化的数据库的代码页是中性的,请参阅设置数据库的代码页。 若要确定代码页,请参阅确定安装数据库的代码页
  3. 将本地化的 Error 表ActionText 表导入数据库。 有关详细信息,请参阅本地化 Error 表和 ActionText 表,了解 Microsoft Windows 软件开发工具包 (SDK) 支持的语言列表。 可使用 Msidb.exe 或 MsiDatabaseImport 导入这些表。
  4. 使用表编辑器或 SQL 查询修改数据库中的任何其他可本地化的列。 有关 SQL 访问函数,请参阅使用查询。 数据库表的主题确定哪些数据库列可以本地化。 有关详细信息,请参阅数据库表中列出的表。
  5. Property 表中的 ProductLanguage 属性设置为数据库的 LANGID。 将包创作为中性语言时,将 ProductLanguage 属性设置为 0,并使用 MS Shell Dlg 字体作为所有创作对话框的文本样式。 由于某些字体并非支持所有字符集,因此使用此字体可以确保文本在所有本地化版本的操作系统上正确显示。
  6. 设置模板摘要属性的语言字段以反映数据库的 LANGID。
  7. 如果摘要信息流中的文本字符串已本地化,请将代码页摘要属性设置为代码页。
  8. 设置 Property 表中的 ProductCode 属性,并将修订号摘要属性中的包代码设置为新的包代码。 本地化产品被视为不同的产品。 例如,应用程序的德语和英语版本被视为两种不同的产品,并且必须具有不同的产品代码。
  9. 本地化可能需要修改已存在的资源或添加新资源(如文件或注册表项)。 检查以确保针对每个添加了新资源的现有组件更改组件代码。 其他修改可能还需要更改组件的代码。 有关详细信息,请参阅更改组件代码
  10. 请务必通过以下方式之一将本地化内容和其他更改保存到数据库:使用编辑工具保存包;调用 MsiDatabaseCommit

有关详细信息,请参阅本地化示例