将应用程序组织到组件

Windows安装程序在称为组件的部件中安装和删除应用程序或产品。 组件是始终作为用户系统中的单元安装或删除的资源集合。 资源可以是文件、注册表项、快捷方式或可能安装的任何其他内容。 为每个组件分配唯一组件代码 GUID

安装包的作者应仅创建组件和组件版本,这些组件可以安装和删除,而不会损坏其他组件。 此外,删除组件不应隐藏用户计算机上的任何孤立资源,例如未使用的文件、注册表项或快捷方式。 为了确保这一点,作者应在将资源组织到组件时遵循以下常规规则:

  • 切勿创建两个组件,用于在同一名称和目标位置下安装资源。 如果资源必须在多个组件中重复,请更改每个组件中的名称或目标位置。 此规则应在应用程序、产品、产品版本和公司之间应用。
  • 请注意,上一规则意味着两个组件不能具有相同的键路径文件。 密钥路径值指向安装程序用来检测组件的特定文件或文件夹。 如果两个组件具有相同的密钥路径文件,安装程序将无法区分安装哪个组件。 但是,两个组件可能共享密钥路径文件夹。
  • 不要创建与该组件的所有早期版本不兼容的组件版本。 该组件可能由其他应用程序、产品、产品版本和公司共享。 请改为创建新组件。
  • 不要创建包含需要安装在用户系统上多个目录中的资源的组件。 安装程序将组件中的所有资源安装到同一目录中。 无法将某些资源安装到子目录中。
  • 不要为每个组件包含多个 COM 服务器。 如果组件包含 COM 服务器,则必须是组件的密钥路径。
  • 不要将每个组件多个文件指定为"开始"菜单菜单或桌面快捷方式的目标。

将应用程序组织到组件时,包作者可能需要在现有安装中添加、删除或修改资源。 在这种情况下,作者必须决定是否通过引入新组件或修改现有组件并将其更改为新版本的组件来提供资源。 由于在引入新组件时必须分配唯一组件代码,因此作者必须确定其更改是否需要更改组件代码。 有关详细信息,请参阅 更改组件代码、损坏 组件规则时会发生什么情况?以及 定义安装程序组件