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()


√-1 2^3 ∑ π, and it was delicious!

How to get your question answered on this forum!

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