/build/static/layout/Breadcrumb_cap_w.png

how to silent uninstall a msi with a different uninstallcode on each pc?

We want to silent uninstall a msi package on several hunderds of computers, but we have one big problem, it is installed with a setup.exe that created a msi package during the install. The msi installation has a different uninstallcode on each computer.
Is there another way to silent uninstall this msi?

0 Comments   [ + ] Show comments

Answers (14)

Posted by: naveen.packager 12 years ago
Green Belt
0
Could you please expalin it a bit clear? Have you installed trough exe or msi?

ORIGINAL: theicewarrior

but we have one big problem, it is installed with a setup.exe that created a msi package during the install.


What does this mean?

If it is intsalled trough the same msi in all computers then the below command line should work.

Msiexec /x {PRODUCTCODE} /qn
Posted by: murali.bhat 12 years ago
Purple Belt
0
Get the Uninstallstring from the registry and use it for uninstalling the package.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<Product Code>\UninstallString
Posted by: theicewarrior 12 years ago
Senior Yellow Belt
0
well, the problem is, the setup.exe generates a msi during the install. Every pc get another productcodes for the same msi product.
we used the same setup.exe on all pc's. but pc 1 has productcode {02E89EFC-7B07-4D5A-AA03-9EC0902914EE}, pc 2: {B6E03A64-8A54-4089-AE9D-C476AD561C8D} etc.
Posted by: pjbaars 12 years ago
Orange Belt
0
I think that you have to create a generic vbscript that reads the neccesary Windows Installer information from the registry and deploy the script to all your target pc's. You can collect information such as ProductCode, Version and ProductName. After extracting the productcode out of the registry you can start an uninstall from your script with the correct ProductCode.
Posted by: naveen.packager 12 years ago
Green Belt
0
Check if you can try this.

Check whether you have any unintstall.exe in the INSTALLDIR of this app. If you have it then you can try the following command line or something similar to this..

Path of uninstall.exe /s. (thinking that each systems uninstall.exe will handle the uninstall of its own app)

Not confidant but hope it will work.
Posted by: dbloomfield 12 years ago
Senior Yellow Belt
0
We have also experienced this problem before where the product code is randomly generated on each computer. Previously we have created a script with the following logic to un-install the software (xp, vbscript deployed through SCCM)

Get key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
For each sub key in above reg
get value: "displayname"
if displayname = "software you want to un-install" then
get value "uninstallstring"
run contents of "uninstallstring"
end if
next

This way it will find the product key of the software that you are looking for and run the msi un-installer with the correct code for that computer. You will need to log into a computer with the software installed to find the exact display name used by the software.

hope that helps
Posted by: anonymous_9363 12 years ago
Red Belt
0
We have also experienced this problem before where the product code is randomly generated on each computer.Really?!? I've never seen that in all the time I've been doing this nonsense. How on God's green earth does the vendor do updates or patches?!?

Anyway, in my view, this is a pointer to poor packaging. The MSI should have been extracted and used from the outset as the "master". If it turned out that the set-up stub was performing other functions, they should have been added via a transform.
Posted by: pjbaars 12 years ago
Orange Belt
0
I've never seen that in all the time I've been doing this nonsense.

It's indeed very strange. Maybe it's Wise Package studio!? That application is also generating new productcode's. [;)]
Posted by: anonymous_9363 12 years ago
Red Belt
0
When it's told to, yes. You seem to be assreting that it does so on a whim which, again, is something I've never experienced as a long-term WPS user.
Posted by: pjbaars 12 years ago
Orange Belt
0
Oh no. I think we have a misunderstanding here. I don't want to say that WPS is generating on-the-fly a new productcode.

Never mind.

But I'm curious what application is doing such weird things.
Posted by: dbloomfield 12 years ago
Senior Yellow Belt
0
I cant find the application that did this to confirm, however something in the back of my mind "labview version 6" springs to mind as the culprit.

Anyway, in my view, this is a pointer to poor packaging. The MSI should have been extracted and used from the outset as the "master". If it turned out that the set-up stub was performing other functions, they should have been added via a transform.

Completely agree, extracting the MSI when repackaging the installer would likely prevent this issue. the question was how to silently un-install after his has happened. Mistakes happen, just got to find a way to deal with it.

Really?!? I've never seen that in all the time I've been doing this nonsense. How on God's green earth does the vendor do updates or patches?!?

I work for a university, sadly we get a lot of really random applications to package. Sometimes made by fred bloggs in his shed in the back garden and they love do completely random illogical things especially when they try to make up their own little "security" measures to counter piracy. On one package this month i've even been asked to provide details back to the developer so that they could HARD CODE keys and file paths into their app!
Posted by: pjgeutjens 12 years ago
Red Belt
0
On one package this month i've even been asked to provide details back to the developer so that they could HARD CODE keys and file paths into their app!

I hope you immediately sent along an 'Educational Baseball Bat™' and instructions on how to use it on one self...

EDIT: Sorry Ian, forgot the ™ [:)]
Posted by: dbloomfield 12 years ago
Senior Yellow Belt
0
As an educational institute we often get software free or at a significant discount. Therefore the baseball bat is not always the best option :) A friendly suggestion that it is not "enterprise friendly" if often the most we can do.
Posted by: jmcfadyen 12 years ago
5th Degree Black Belt
0
you could access the installer service directly via the api.

set objInstalller = CreateObject("WindowsInstaller.Installer")
set objProductList = objInstaller.Products(......)

for each objProduct in objProductList
' code here to detect product name)
' code here to uninstall via productCode.
next
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