Custom action not letting MSI uninstall
Gday all!
I have inherited a MSI that wasn't set up very well. They ahd a custom action to add rights to the registry but didn't set a condition on it running only on install. So the MSI installs just fine but when it goes to uninstall it gets an error as it tries to set rights to this key which doesn't exist anymore.
Any suggestions as to how I would get this MSI to uninstall? It runs an exe off the C drive, one thought i had was just to replace that exe with some meaningless .exe that would return a good error code so the uninstall wouldn't think anything was wrong. Any other ideas?
Rgds
Paul
I have inherited a MSI that wasn't set up very well. They ahd a custom action to add rights to the registry but didn't set a condition on it running only on install. So the MSI installs just fine but when it goes to uninstall it gets an error as it tries to set rights to this key which doesn't exist anymore.
Any suggestions as to how I would get this MSI to uninstall? It runs an exe off the C drive, one thought i had was just to replace that exe with some meaningless .exe that would return a good error code so the uninstall wouldn't think anything was wrong. Any other ideas?
Rgds
Paul
0 Comments
[ + ] Show comments
Answers (1)
Please log in to answer
Posted by:
MSIMaker
19 years ago
Well it sounds nasty and I think the only way out of this is to create a package with a custom action that strips out the original msi on install.
Basically you capture the msi install on a clean machine and then with that capture set all of the files and registry keys to REMOVE on install and dont install any files/reg keys.
Then go to HKLM\Software\Microsoft\Windows\Current Version\Installer and find the Product code for the original msi and delete it. You also have to do that to the Uninstall section as well.
There will be some other keys to remove but the capture will tell you more about them.
Now you install your "rogue msi killer" package and it removes the msi and then you can uninstall the new package straight away and its all gone.
Basically you capture the msi install on a clean machine and then with that capture set all of the files and registry keys to REMOVE on install and dont install any files/reg keys.
Then go to HKLM\Software\Microsoft\Windows\Current Version\Installer and find the Product code for the original msi and delete it. You also have to do that to the Uninstall section as well.
There will be some other keys to remove but the capture will tell you more about them.
Now you install your "rogue msi killer" package and it removes the msi and then you can uninstall the new package straight away and its all gone.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.