PDA

View Full Version : Uninstaller does not removes all files from installation directory sometimes.



trehananirudh
12-18-2013, 02:09 AM
I am working on an installer created on InstallAnywhere 2011 enterprise edition. Its's uninstaller sometimes does not remove all files from installation directory sometimes. But it is not reproducible always. Sometime it clears all files but sometimes not. Could you please help me to figure out that what can be the reason of this problem. Any help would be highly appreciated. Thanks.

shodhan
12-18-2013, 05:42 AM
Hi,
I have not used InstallAnywhere, I use InstallShield 2011. But i did face similar problem some time back. It may happen that the files that are delivered may have the "Shared" attribute set to YES. Normally, if Shared=YES is kept, then the installer increments the count of that file in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
Check if that count is zero (if its not zero, that file will not be removed while uninstallation).

As a work-around (in InstallShield), we add the entry of files and folders that we want to remove, in the RemoveFile table. I dont know what's there in InstallAnywhere, but this is what we do in InstallShield.

Hope it helps.

Thanks

jerome_IA
12-18-2013, 06:25 AM
InstallAnywhere only removes files created by itself. Created files are stored on its registry file (AFAIK) and deleted on uninstall.

Thus if your application creates files after the installation, they will not be deleted by default.

What can be done is to use the checkbox "Recursively delete all content of this folder during uninstall" (checkbox on action "create folder")
Then if you have files created by your application in the root folder, you will have to delete them using action or scripts in the uninstall phase.

Other assumption is that the files are not deleted because in use while uninstall proceeds (windows)

--Jerome

Law2001
05-04-2015, 12:02 PM
Hi,
I have not used InstallAnywhere, I use InstallShield 2011. But i did face similar problem some time back. It may happen that the files that are delivered may have the "Shared" attribute set to YES. Normally, if Shared=YES is kept, then the installer increments the count of that file in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
Check if that count is zero (if its not zero, that file will not be removed while uninstallation).

As a work-around (in InstallShield), we add the entry of files and folders that we want to remove, in the RemoveFile table. I dont know what's there in InstallAnywhere, but this is what we do in InstallShield.

Hope it helps.

Thanks

I have a similar problem with InstallShield 2013. A work-around is to delete the path entries in the registry folder: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs\

To set SHARED to No, I deleted the application files from my InstallShield and re-added them allowing the InstallShield dependency wizard to find dependencies. Now the installer uninstalls these files without the need to delete entries from the registry.

Is there a different means to set SHARED to No? For example, is there a checkbox I can uncheck for each file to set SHARED to No?