删除独立组件

当包中包含独立组件时,Windows Installer 在删除应用程序期间会执行以下操作。 通常,Component_Shared 是 Component_Application 和其他客户端可执行文件共享的 DLL。

卸载

  • 仅当也删除 Component_Application 时,才从包含 Component_Application 的文件夹中删除 Component_Shared 的文件。
  • 如果在 Component 表中设置了 msidbComponentAttributesSharedDllRefCount 位,则递减 SharedDLL 引用计数。
  • 从包含 Component_Application 的文件夹中删除 .LOCAL 零字节的文件。
  • 从 Component_Shared 的客户端列表中删除 Component_Application。
  • 照常删除 Component_Application 的所有资源。

如果 Component_Shared 客户端列表中剩余其他产品:

  • 不要从 Component_Shared 的共享位置中删除文件。

如果在递减后 Component_Shared 的 SharedDLL 引用计数为 0,或者不存在 Component_Shared 的其余客户端:

  • 请从共享位置中删除 Component_Shared 的文件。
  • 处理有关此组件的所有卸载操作。