Silent uninstall for InstallShiled created setup.exe
Hi All,
I am facing an issue with un-installing an application, which is basically setup.exe which puts different Install GUID for every installation performed. Unfortunately, install GUID is supposed to be the uninstall string for the setup.exe.
Following is the uninstall string :
"C:\Program Files\InstallShield Installation Information\{Install GUID}\setup.exe" -runfromtemp -l0x0007 -uninst
When I tried uninstalling by direclty passing -uninst command for given setup, it throws Installshield Wizard error saying :
"First call to regdbcreatekeyex failed"
Any suggestions/solutions are most welcome.
One more important thing is that, for some client specific reasons this application is not supposed to re-packaged, and hence needs to be delivered with Silent installation mechanisms for "AS IT IS" source.
I am facing an issue with un-installing an application, which is basically setup.exe which puts different Install GUID for every installation performed. Unfortunately, install GUID is supposed to be the uninstall string for the setup.exe.
Following is the uninstall string :
"C:\Program Files\InstallShield Installation Information\{Install GUID}\setup.exe" -runfromtemp -l0x0007 -uninst
When I tried uninstalling by direclty passing -uninst command for given setup, it throws Installshield Wizard error saying :
"First call to regdbcreatekeyex failed"
Any suggestions/solutions are most welcome.
One more important thing is that, for some client specific reasons this application is not supposed to re-packaged, and hence needs to be delivered with Silent installation mechanisms for "AS IT IS" source.
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
SandeepPanat
12 years ago
ORIGINAL: shivashankarfc
When I tried uninstalling by direclty passing -uninst command for given setup, it throws Installshield Wizard error saying :
Did you try to use -uninst for the source executable? You shouln't.
Once the application is installed, you'll need to browse to the folder 'C:\Program Files\InstallShield Installation Information\{Install GUID}' and then run the setup.exe present there with the below switch.
setup.exe -l0x0007 -uninst
Posted by:
shivashankarfc
12 years ago
Well, that was my last try that I gave to uninstall by passing -uninst parameter directly to setup.exe.
As I said earlier, this application is mass deployment and it installs a different GUID for every installation. So how can a specific GUID be recorded as part of uninstall.iss if I were supposed to record the uninstallation.
As I said earlier, this application is mass deployment and it installs a different GUID for every installation. So how can a specific GUID be recorded as part of uninstall.iss if I were supposed to record the uninstallation.
Posted by:
SandeepPanat
12 years ago
Yes, I forgot to mention that uninstall.iss can be created for silent uninstallation.
You didn't tell which is this application, however even if I guess...it shouldn't create different GUID entries for every installation. Instead, mostly these type of apps install multiple MSI's for which you can search the GUID's and use normal WI uninstall routine. Isn't the GUID at 'C:\Program Files\InstallShield Installation Information' same for every installation?
You didn't tell which is this application, however even if I guess...it shouldn't create different GUID entries for every installation. Instead, mostly these type of apps install multiple MSI's for which you can search the GUID's and use normal WI uninstall routine. Isn't the GUID at 'C:\Program Files\InstallShield Installation Information' same for every installation?
Posted by:
robtk
12 years ago
This script works for me most of the time in removing Installshield programs silently.
'==========================================================================
' NAME: Uninstall.vbs
' COMMENT: Silently uninstalls InstallShield app
' Notes: This script and the Installshield response file must be in the same folder to work.
'==========================================================================
On Error Resume Next
Dim oShell, path, rc, strCmd, myParm, guid
Set oShell = CreateObject("WScript.Shell")
' Get the path of this script
path = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
oShell.CurrentDirectory = path
' Remove the app. Edit the guid varible to match your app.
guid = "{BFD82B08-BA41-11D0-8F0E-08005A48339D}"
strValue=oShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & guid & "\" & "UninstallString")
rc = InStr(strValue, guid)
If rc <> 0 Then
strCmd = "C:\Program Files\InstallShield Installation Information\" & guid & "\setup.exe"
myParm = " -s -f1" & path & "\uninstall.iss -l0x0009 -removeonly"
strCmd = Chr(34) & strCmd & Chr(34) & myParm
oShell.Run strCmd,,True
End If
Set oShell = Nothing
WScript.Quit(0)
Posted by:
shivashankarfc
12 years ago
Hello robtk,
Thanks for the script. This script works when the GUID remains same for every install, but unfortunately the application generates a different GUID everytime it installs, but the location remains the same(C:\Program Files\InstallShield Installation Information\{GUID}).
Since this application is for mass deployment, and every install would generate a different GUID, in that case it would not possible to enter a particular GUID to uninstall the application.
Once again,I appreciate your reply.
Cheers
Shiv
Thanks for the script. This script works when the GUID remains same for every install, but unfortunately the application generates a different GUID everytime it installs, but the location remains the same(C:\Program Files\InstallShield Installation Information\{GUID}).
Since this application is for mass deployment, and every install would generate a different GUID, in that case it would not possible to enter a particular GUID to uninstall the application.
Once again,I appreciate your reply.
Cheers
Shiv
Posted by:
andemats
12 years ago
Hmm.. What kind of software is this?
GUID = GloballyUnique IDentifier. So the GUID is a unique reference for a software, component, webpages etc...
I would check the registry for the uninstall string. Search the following registry for your software and grab the uninstall string from there.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
GUID = Globally
I would check the registry for the uninstall string. Search the following registry for your software and grab the uninstall string from there.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
Posted by:
ankur12sharma
10 years ago
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.