
Queries = Array( "UPDATE `InstallExecuteSequence` SET `Condition` = 'NOT Installed' WHERE `Action` = 'SampleAction'", _ ' Define the queries you wish to run against the database if found 'Set the title you want to use for comparison InstallerPath = objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\Installer\" Set objShell = CreateObject("WScript.Shell") Set objInstaller = CreateObject("WindowsInstaller.Installer") Including a sample script, I should point out that this is mainly for say an internally deployed application not really something you could send to customers as a fix but its possible to create a binary that does the same thing and have it included in say a setup.exe where the binary kicks off first to clean up and remove the previous uninstall and then put down the new one, or alternatively just send out the binary to fix the uninstall issues. Windows Installer Automation Interface Reference disabling custom action on uninstall etc), next time the uninstall is called the problem will not occur. Once you have found the one you need you can modify the tables directly to fix whatever problem you have introduced (i.e. You can iterate through the MSI's in the C:\Windows\Installer\ folder to look for the one for your product ( Opening them all and reading the summary information for example ) Depending on the type of problem you have with the uninstall and how you are deploying it it is entirely possible to write a script and deploy it to edit the cached MSI on the machine to fix the problem.
