/build/static/layout/Breadcrumb_cap_w.png

VBScript problem

Hi,
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   [ + ] Show comments

Answers (4)

Posted by: MSIPackager 13 years ago
3rd Degree Black Belt
0
Hi,

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.

Cheers,
Rob.
Posted by: cmi2000 13 years ago
Senior Purple Belt
0
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?
Posted by: captain_planet 13 years ago
Black Belt
0
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)
View.Execute
View.Close
DB.Commit
Set DB = Nothing

Exit For
End If
Next

Set oInstaller = Nothing
Posted by: cmi2000 13 years ago
Senior Purple Belt
0
Hi Captain_planet!

I did it! your script does the job! thank you very much!
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ