Removal of Isolated Components

Windows Installer performs the following actions during the removal of an application when the package contains isolated components. Typically, Component_Shared is a DLL that is shared by Component_Application and other client executables.

Uninstall

  • Remove the files of Component_Shared from the folder containing Component_Application only if Component_Application is also being removed.
  • If the msidbComponentAttributesSharedDllRefCount bit is set in the Component table decrement the SharedDLL refcount.
  • Remove the .LOCAL zero-byte file from the folder containing Component_Application.
  • Remove Component_Application from the client list of Component_Shared.
  • Remove all of the resources of Component_Application as usual.

If there are other products remaining on the client list of Component_Shared:

  • Remove no files from the shared location of Component_Shared.

If the SharedDLL refcount for Component_Shared is 0 after being decremented, or if there are no other remaining clients of Component_Shared:

  • Remove the files of Component_Shared from the shared location.
  • Process all uninstall actions with respect to this component.