Uninstall not working properly when uninstalling
Posted 29 June 2012 - 19:55
However, if I uninstall the Wise install first, then install with the Installshield install, and later uninstall, it works fine. Any ideas on how to go about fixing this would be greatly appreciated .
Posted 02 July 2012 - 09:29
Is it a Wise Script install or a MSI install crteated with Wise?
Posted 02 July 2012 - 16:55
"Error 2762. Cannot write script record. Transaction not started."
And then the installation is aborted. So I assume that the earliest in the sequence that I can put my custom action is after the InstallInitialize.
Posted 02 July 2012 - 18:31
|Error 2707. Target paths not created. No path exists for entry ProgramFilesFolder in Directory table.|
Posted 03 July 2012 - 09:26
Directory properties get resolved during CostFinalize, but maybe you could use an environment variable instead: [%ProgramFiles] should work.
I guess the problem is reference couting. If CostFinalize detects that the files already exist it assumes they are used by another application and therefore doesn't remove them during uninstall.
Some options I can think of:
- Use a launcher exe to first uninstall the Wise setup and then start the new msi setup.
- Decrement the SharedDllRefcount registry entries in your msi setup.
Posted 03 July 2012 - 20:12
I probably don’t understand your launcher exe solution. I would create my own executable that would detect the WISE installation, run the WISE uninstall, and then run the InstallShield install. But how would I uninstall my launcher? Or maybe you mean an InstallShield install that deals with the WISE uninstall first, and then runs my current InstallShield install? Then I'm not sure how the launcher is different from my custom action.
I’m sure I don’t understand your other solution, decrementing the SharedDllRefcount in the msi file. Is that done in the InstallShield IDE? I’m using the compressed version. I've noticed that when the InstallShield uninstall doesn't work, it doesn't uninstall registry data under HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows->CurrentVersion->SharedDlls.
Posted 05 July 2012 - 21:19
The launcher would be a setup.exe, so it doesn't get installed, but it's shipped on your CD or downloaded from the web. You can put it in a self extracting exe wrapper that also contains your setup, so it gets extracted to the temp folder.
Decrementing the value in HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows->CurrentVersion->SharedDlls would have to be done in a custom action that reads the value, subtracts 1 and write the result back to the registry. You could write this in InstallScript.
Posted 06 July 2012 - 20:23
At any rate, my boss has decided I'm spending too much time trying to uninstall WISE from within the InstallShield install, so now when the install detects the presence of WISE, a message box appears stating that the user must uninstall the WISE install prior to installing the new install.
Thanks very much for your help. Although I'm not going to use any of your solutions, I learned a lot along the way. Much appreciation! You're a gentleman and a scholar.
Posted 11 July 2012 - 16:42