2

Merge module components are remained as residues in the system . When another application is uninstalled , merge module components are left behind with log "Disallow uninstalling component since another client exist" . The problem is not sure which client is holding the files . No client is found in control panel or Windows installer Cleanup . How to identify which client is holding file or How to remove the merge module from the system ?

user-24
  • 59
  • 5
  • Two different scripts that could help. Phil Wilson's Dump Components script found towards the bottom here: http://www.installsite.org/pages/en/msifaq/a/1037.htm. This writes a text file with all components found on the system and a list of the products that use them. And [I have a little script](https://github.com/glytzhkof/all/blob/master/Find%20Product%20Details%20from%20Product%20Code.vbs) that accepts a component GUID as input and it will show what products use the component. This latter scripts means you need a valid component GUID - look for it in the MSI log file. – Stein Åsmul Oct 03 '22 at 09:34

1 Answers1

1

Windows installer keeps track if the same components are shared between multiple packages installed on same machine. Windows installer keeps reference count of such components and allow uninstallation until all the applications use them are removed.

To find the component, Browse for the following registry:

HKEY_CLASSES_ROOT\Installer\Components

Here component GUID is repacked. So, in order to extract correct component GUID, please refer following page: https://www.advancedinstaller.com/user-guide/faq-files-folders.html#question239

Once component id is found, search it in local machine(HKLM) hive and you should able to find which product it belongs to.

Vivek Jaiswal
  • 861
  • 1
  • 7
  • 20