Newmarket
Level 4

Find product GUID for uninstall based on Display Name

The previous version of my product installed a COM+ Application on a server then exported a proxy for the COM+ Application to be installed on client machines. Every time the COM+ Application is exported, it creates an MSI with a different GUID to be installed on client machines, so every one of my customers has a product installed with a different GUID. When installing the new version of my product which no longer requires the proxy, I would like to uninstall the proxy application. I only know the display name of the proxy, not the GUID. UninstallApplication( ) needs the GUID, not the display name. Is there a way that I can determine the GUID from the install name, or is there a way to remove a product based on the display name?

Thank you!
Labels (1)
0 Kudos
1 Reply
RobertDickau
Flexera Alumni

If there's a fixed, unique component code in there, perhaps you can call MsiEnumClients to match the component code to its product code?

I'm not aware of a single function that maps display names to product codes; MsiEnumProducts followed by MsiGetProductInfo + INSTALLPROPERTY_INSTALLEDPRODUCTNAME, comparing each name to the one you want, might do it.
0 Kudos