自定义转换示例

此示例演示如何使用自定义转换来禁用功能和添加新资源。

管理员可以通过使用自定义转换将 0 输入到 功能表的“级别”列中来永久禁用该功能。 然后,自定义转换的应用程序会阻止安装和显示该功能,即使用户使用 UI 选择完整的安装,或者通过将 ADDLOCAL 属性设置为命令行上的 ALL。 有关安装级别的讨论,请参阅 功能表INSTALLLEVEL 属性。

可以使用自定义转换来添加一个或多个新组件来部署自定义应用程序所需的资源。 转换必须添加一个或多个新功能才能包含这些新组件。 有关部署资源(如文件、注册表项或快捷方式)时应遵循的规则,请参阅 使用转换添加资源

此示例演示如何创建 转换 来自定义安装 安装示例中所述的应用程序。 原始安装包安装示例应用程序的所有功能,包括功能门,使用户能够查看 Red Park Arena 的录取信息。 某些用户组只需要提供事件计划信息的应用程序功能,并且不需要 Gate 功能。 这些组还需要获取特殊的电话列表。 因此,转换必须执行两项作:1) 自定义安装,以便此组仅接收所需的应用程序功能,2) 提供新电话列表所需的资源。

Windows Installer 开发人员的 Windows SDK 组件 文件 Uisample.msi中提供了此示例的最小用户界面示例。 如果有 SDK,则有权访问重现示例安装包、用户界面和自定义转换所需的所有工具和数据。

自定义转换具有以下规范:

  • 自定义转换嵌入 MNP2000.msi 文件中,以确保它始终可用于安装数据库。
  • 使用自定义转换安装 MNP2000.msi 不会安装 Gate 功能、Gate 功能的子功能或 Gate 功能的任何组件,即使用户选择“完整安装类型”。
  • 其他应用程序可能会共享 Gate 功能的一些或全部组件。 这些应用程序的安装包可以在用户计算机上安装其所有组件。
  • 使用自定义转换删除 MNP2000.msi 不会删除其他应用程序已安装的任何 Gate 组件。
  • 使用自定义转换安装 MNP2000.msi 还会安装新的顶级功能、Phone_List和新组件、手机,这需要安装资源,Phone.txt。 用户使用菜单目录中的快捷方式访问Phone_List功能。

继续