PDA

View Full Version : Can't delete files without installation starting again



ttomes
10-20-2005, 08:18 AM
After installing an application via InstallShield express on Windows XP, if I delete some files from the application, the installtion process starts again the next time the application is started and the files are restored.

Is this something I can prevent by a setting in the InstallShield build or is this an OS issue?

TsungH
10-20-2005, 04:31 PM
That's the behavior of Microsoft Windows Installer (MSI), which self-heals broken components of an installed MSI setup. It's not a simple task to disable the behavior, and it is not recommended to disable the behavior. For other discussions, please do a search on self repair and self heal in the forums.

Please note that there is probably not much you can do in a simplified version like Express.

ttomes
10-20-2005, 05:00 PM
Wow. I'm installing some sample files that the user should be able to delete after the installation is installed. Are you saying that isn't possible with Express?

Thank you for your help.

TsungH
10-22-2005, 12:48 AM
I was saying there is probably not much you can do to disable self-healing of MSI with Express. Repair should replace missing files installed by the installation. Microsoft Windows Installer is just doing its job to repair what it sees as broken components.


Are you saying that isn't possible with Express?If by "that," you meant deleting installed files which would not be repaired, it can be done in Express.

If you don't want your deleted files to be repaired, you may want to consider installing them using a custom action (with appropriate condition). Hence, MSI will not try to do anything with them after installation.

ttomes
11-06-2005, 12:11 PM
Can you give me an example of how I would do that in Express?

TsungH
11-07-2005, 12:09 AM
I can't. I no longer own any InstallShield product. I can, however, point you in the right direction.

You will have to be proficient in either C++ or VBScript. You can write a (VBScript or C++ DLL) custom action which will copy files from, say SourceDir folder property or SETUPEXEDIR folder property, to the destination folder of your choice, e.g., INSTALLDIR folder property. You should also handle files deletion, in the same custom action or a separate custom action, upon uninstallation.

You may want to do some searching in the forums and Support (http://support.installshield.com/) for possible samples.