views:

2686

answers:

4

On install I copy some files in 'System32' folder. When uninstalling these files are not deleted. Why?

A: 

How did the files get to that folder - manually? if so they will not be deleted, see http://kb.acresso.com/selfservice/viewContent.do?externalID=Q100225



I am using InstallScript and there are certain function that will rollback on uninstall: InstallScript Functions that Are Logged for Uninstallation - They mention there it applies also for InstallScript or InstallScript MSI projects.

Dror
0 vote downcheck not manually, I have an InstallShield component that contains these files with 'Destination'->[WindowsFolder]System32
Cornel
not manually, I have an InstallShield component that contains these files with 'Destination'->[WindowsFolder]System32
Cornel
A: 

Is this an MSI based install or installscript? If MSI, maybe the verbose log will give some more insight? Also (you probably checked) but make sure those files aren't marked as Permanent.

Also, is this a dynamic linked file or static? I sometimes have issues with dynamic because of missing keyfiles with msi based installers. You might try and make the files statically linked.

Web
How can I make a file statically linked? Never heard of this
Cornel
Not looking at Installshield, but I believe you go to Features -> Components -> Files, if you right click you should see 'Add' or 'Dynamic File Linkning'. This is a very old link, but it should give you an idea : http://helpnet.acresso.com/robo/projects/HelpLibDevStudio9/IHelpViewFiles.htm
Web
I added the files statically so the path is hard coded
Cornel
Have you checked the MSI log?
Web
where can I find it?
Cornel
Information on system-wide MSI logging can be found at http://www.pctools.com/guides/registry/detail/1127/
sascha
Run the MSI, with parameters like this: /l*vx FILENAME.
Web
Log will be placed in %temp%\MSI<some unique id>.log
Aidan Ryan
+2  A: 

Could it be that the component the file belongs to is permanent? Also note that you should avoid installing files to System32 unless you have to.

On Freund
+3  A: 

MSI Installations are supposed to be declarative rather than procedural. You declare what files should be copied and they get copied by windows installer. When uninstalling Windows Installer knows which files to delete, because it, because he did install them in the first place.

On the other hand if you make something manual during installation, like copying files yourself, Windows Installer doesn't know about this and it is your responsibility to delete them when uninstalling.

devdimi

related questions