Jump to content

VBS for uninstall a Windows installer

Recommended Posts

Dear all,

Can someone please help me out with this script? I can't make it work. I am not so familiar with the vb script :( 

Thanks for your help!!!!

Option Explicit 'all variables must be defined

Dim oReg, oShell, oFSO 
Dim UninstallString, ProductCode
Dim strComputer, colItems, objWMIService, objItem
Dim strKeyPath, subkey, arrSubKeys
strComputer = "." 

'Enter Product Code Of The Application Here That You Want To Uninstall within the Bracket 
ProductCode = "{88C972E7-D7FC-40F3-9FE5-180957F37B45}"


' Get scripting objects needed throughout script.
Set oShell = CreateObject("WScript.Shell")

UninstallString = "MsiExec.exe /X{88C972E7-D7FC-40F3-9FE5-180957F37B45} /qn" & " /norestart"

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ 
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
For Each subkey In arrSubKeys 
 IF subkey = ProductCode Then 
 oShell.Run UninstallString, 1, True
 End If


Set oShell = Nothing
Set oReg = Nothing
'************* End Code ************



Edited by ghoomp

Share this post

Link to post
Share on other sites


 I am not so familiar with the vb script

And as this an AutoIt forum, why would we be familiar with it either? I suggest you ask on a VB forum.


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:


ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area


Share this post

Link to post
Share on other sites

For Autoit, you can do it like this:

ShellExecuteWait("msiexec.exe", '/x "<uninstall code>" /qn')

If you don't have the actual uninstall code (say you have several versions of an application on different machines and need to uninstall them all). You can do something like this:

$sName = "PDF-XChange"
$oWMI = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
$aProducts = $oWMI.ExecQuery("Select * from Win32_Product Where Name LIKE '%" & $sName & "%'")

For $app in $aProducts
    If StringInStr($app.Name, $sName) Then $app.Uninstall()


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...