Summary
After running an uninstall or a major upgrade (which includes an uninstall) of an MSI package, files that should have been removed are sometimes left on the target machine.Symptoms
After running an uninstall or a major upgrade (which includes an uninstall) of an MSI package, files that should have been removed are sometimes left on the target machine.
Cause
Some of the most common causes for this behavior are (a non-exhaustive list):
- The component that the file is associated with is marked permanent.
- The SharedDLL refcount is not zero after decrementing for the uninstall.
- An unversioned file (i.e. TXT, HTM, etc.) has been modified since installation and an upgrade is being performed.
- The component is shared with another product or feature that is still installed.
Resolution
Some known solutions for the causes above are listed below:
- Set the Permanent property to "No" for the component containing the file.
- If the file is not shared among different products, it is possible that the SharedDll refcount is no longer properly synchronized as this type of usage counting can easily become inflated. This can commonly occur on test machines with multiple installs and uninstalls during the building and testing procedure. To reset the refcount, uninstall all copies of the product and then remove the entries for the files in
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs(64-Bit: HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\SharedDLLs). - If a file has been modified since installation, then Windows Installer assumes that it is user data and will not remove it during an upgrade. During an uninstall, this file will be removed if the containing component is uninstalled. In order to forcefully remove these files the RemoveFile table can be utilized.
- This is functioning as designed and it is not recomended that the files are removed because it may break other installations.
Additional Information
The Component's settings are discussed here as seen in the Component Settings and the MSI Component Table.
For more information on logging, see the following articles:
- Q105237 HOWTO: Logging an InstallScript MSI Project (see Related KB Articles section)
- How to Enable Windows Installer Logging in Windows XP
If troubleshooting see, Troubleshooting Windows Installer Deployment.
Related KB Articles
Logging an MSI InstallationRelated Articles
sEstimatedSize2 Value is Left Behind in the Uninstall Registry Key After Uninstallation 4Number of Views Why Are Temporary Files Left Behind After Installation 3Number of Views How to Configure a Major Upgrade 6Number of Views Major upgrade leaves old entry in Add Remove Programs 25Number of Views Major upgrade leaves 2 entries in Programs and Features 3Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago