cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jonathan_feucht
Level 2

Trouble uninstalling COM components

Jump to solution

Hello,

I'm having a really annoying problem with deleting files in the install directory during uninstall. I've spent now many hours trying to figure this out to no avail.

I am working with a basic MSI project in Installshield 2021 R2. I have several ActiveX components, COM components, and other components which need to be to function properly. To register these components, I've been setting "COM Extract at Build" for the components to Yes. Once I do that, the files no longer are removed after an uninstall; however if I leave the  "COM Extract at Build" property to No, the files do uninstall however the COM libraries don't seem to work. I have added each of the files to the RemoveFile table, but they are still not being deleted by uninstall.

I am not designating the components as Shared, and so they are not showing up in HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs. There is no reference count associated with them.

It appears that all of the components were successfully removed from HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\. I can count 31 keys related to the install directory, and my project has 38 total components of which 4 are not installed.

I have attached install and uninstall logs below. The registered components which appear to not be uninstalling include the following components with either a COM or ActiveX interface:

  • csBscan.dll, csBscan.tlb
  • csGrid.dll, csGrid.tlb
  • csISPui.dll, csISP.tlb
  • NTGraph.ocx, NTGraph.tlb
  • visems12.exe, visems12.map

Does anybody here have any ideas on what to try, or what I should look for?

Labels (1)
0 Kudos
(1) Solution
jonathan_feucht
Level 2

I was just working through the suggestions received from the case portal, and I realized I had made a mistake. For the shared DLLs, I was looking in the location:

HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs

I should have been looking in the location:

HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDLLs

We had a previous InstallShield setup by a prior employee for which the uninstaller did not work, and left a mess in the registry. I just found today on a fresh copy of windows, the uninstaller was able to remove all the files; however, after installing and removing the previous version of the installer, trash was left in the registry various locations.

View solution in original post

0 Kudos
(1) Reply
jonathan_feucht
Level 2

I was just working through the suggestions received from the case portal, and I realized I had made a mistake. For the shared DLLs, I was looking in the location:

HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs

I should have been looking in the location:

HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\SharedDLLs

We had a previous InstallShield setup by a prior employee for which the uninstaller did not work, and left a mess in the registry. I just found today on a fresh copy of windows, the uninstaller was able to remove all the files; however, after installing and removing the previous version of the installer, trash was left in the registry various locations.

0 Kudos