I have a problem to uninstall a msi package, when I want to uninstall this package I get an error about a vbscript.
It seems that there is a problem with the package because when I install it, the vbscript works fine but when I try to uninstall it, I get the error...
Anyone knows how to "skip" this error and go on with uninstallation process, without to repackage it?

Any help would be appreciated
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity



First you need to find out which custom action is failing, you can get this info by logging the uninstall (e.g. msiexec /x {productcode} /qb /lv* %temp%\mylogfile.log) - once you've identified the failing CA you can condition it in the InstallExecuteSequence table to run only on install (or install + repair) by setting a condition of NOT Installed (or NOT REMOVE~="ALL") - that should do the trick.

Bigger question for me is why the script is failing, sounds like its a vendor package (since you mentioned not wating to repackage it) so I'd personally prefer to get to the bottom of the problem, rather than just sweeping it under the carpet...

Anyway, hope this helps.

Answered 02/16/2011 by: MSIPackager
Third Degree Black Belt

Please log in to comment
Hi Rob,

This package was made long time ago by someone else in my company , and I know which is the CA that is making the problem. The point is, before repackage it, I have to uninstall it from every PC in the company. So I have to be able "jump" this CA to uninstall the package and to install the new one.

Do you understand?
Answered 02/17/2011 by: cmi2000
Senior Purple Belt

Please log in to comment
You might need to run something like this to stop the Custom Action from executing from the cached MSI:

Dim CachedMSI,sqlQuery

Dim ProductCode : ProductCode = "{9F2BCD97-0B61-4746-8FD7-77309CD2E077}"
Dim customActionName : customActionName = "removeAddin"

Set oInstaller = CreateObject("WindowsInstaller.installer")

For Each msiProduct In oInstaller.Products
If msiProduct = ProductCode Then
CachedMSI = oInstaller.ProductInfo(msiProduct, "LocalPackage")

Set DB = oInstaller.OpenDatabase(CachedMSI, 1)
sqlQuery = "UPDATE `InstallExecuteSequence` SET `Condition` = '1=0' WHERE `Action` = '" & customActionName & "'"
Set View = DB.OpenView(sqlQuery)
Set DB = Nothing

Exit For
End If

Set oInstaller = Nothing
Answered 02/17/2011 by: captain_planet
Fifth Degree Brown Belt

Please log in to comment
Hi Captain_planet!

I did it! your script does the job! thank you very much!
Answered 02/18/2011 by: cmi2000
Senior Purple Belt

Please log in to comment