Jump to content

This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

Unclean un-installation

4 replies to this topic


  • Full Members
  • 7 posts

Posted 30 May 2006 - 16:06

Hi there,

I posted this on InstallShield's community forum but no one seemed to know anything about this.

I am using 10.5. I have a web project (CAB installer) that works fine. But then after a month or so, the uninstallation will have a bunch of leftovers - files and subdirectories of the [INSTALLDIR].

After days of troubleshooting, I finally found out that if I change the [INSTALLDIR] path just a bit, such as adding or subtracting a letter, and it would work - the uninstallation from the project with path name modified would uninstall all files cleanly. However, the problem came back in another month or so, and I had to change the [INSTALLDIR] path again.

Obviously, I cannot keep changing the path for a product to go out. Is this a known bug and is there a fix? I have not found any fix yet.

Thanks for any advice.


  • Full Members
  • 3 posts

Posted 17 July 2006 - 11:02

There are four common reasons for why files may not be removed during uninstallation

• The components to which these files belong are marked as permanent. (This is done through the Attributes column of the Component table.)
• None of the components to which these files belong have component GUIDs. (The value for the component in the ComponentId column of the Component table is NULL). Components without GUIDs are not managed by Windows Installer.
• If the keypath of the component has a shared DLL refcount, then the component will not be uninstalled.
• If the component is installed in the system folder and at the time of uninstallation there is an external shared DLL refcount for any one file in the component, then the component will not be uninstalled.

Folders are not removed during uninstallation because of one of the following reasons:
• The RemoveFolders action is missing from the execute sequence table when both the CreateFolder table and CreateFolders action are used.
• The folders were not created by Windows Installer, therefore it will not remove them unless told to do so.
• Resources still exist in the folder.


  • Moderators
  • 1,447 posts

Posted 17 July 2006 - 11:21

Excellent list sshaik. However, I think there is one more case that might explain the behavior in this case: During development one may mix up component GUID and accidentially change a GUID for an existing component without changing its absolute path. It is also possible that the product GUID is changed without changing all component guid. In these scenarios a reinstall of the same package can cause duplicate refcounts in the registry and hence the files never gets uninstalled. For this reason it is important to check the setup on a clean system to know if the problem is a legacy problem or a new problem. Then again the problem can certainly also be caused by one of the items listed by sshaik.

Edited by Glytzhkof, 17 July 2006 - 11:22.

-Stein Åsmul


  • Members
  • 16 posts

Posted 14 August 2006 - 20:52

What about text files that get modified during the lifespan of the installed product. What is the status of them during an uninstall process?

Stefan Krueger

Stefan Krueger


  • Administrators
  • 13,269 posts

Posted 15 August 2006 - 14:52

Assuming that the file name doesn't change: files modified by users will be deleted during uninstall (unless you take measures like flagging the component as "permanent"). This is different from the (small and minor) update behaviour where user modified files don't get overwritten by default.