Acrobat Reader X – Rimuovere qualsiasi versione con VBS script / SCCM

Al lavoro mi trovavo con il problema di disnintallare la versione di Adobe Reader X attualmente installata su un pò di macchine per installare una versione modificata, privata della funzione update.
Il problema nasce dal fatto che abbiamo installate diverse versioni dalla 10.0.0 alla 10.1.1. Avrei dovuto, quindi, creare diversi script e diverse collections in SCCM per risolvere il problema.

Per fortuna uno script ha risolto il mio problema. Eccolo:


WScript.Echo GetProductCode("Adobe Reader")
Function GetProductCode(strName)
Dim strComputer, oReg, strKeyPath, strValueNAme, strValue, arrSubKeys, subkey
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
arrSubKeys = Null
Set ObjShell = CreateObject("WScript.Shell")
ObjShell.LogEvent 4, "Seaching in registry for installed products by search term: " & strName
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
computer antivirus software
If Not IsNull(arrSubKeys) Then
For Each subkey In arrSubKeys
' WScript.Echo subkey
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & subkey
strValueName = "DisplayName"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
If InStr(LCase(strValue), LCase(strName)) > 0 Then
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & subkey
strValueName = "UninstallString"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
ObjShell.LogEvent 4, "Found Installed "& strName &" product Code: " & Replace(Replace(strValue, "MsiExec.exe /X",""), "MsiExec.exe /I","")
If strValue <> "" Then
GetProductCode = Replace(Replace(strValue, "MsiExec.exe /X",""), "MsiExec.exe /I","")
End If
End If
Next
End If
arrSubKeys = Null
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "MsiExec.exe /X" & GetProductCode &" REBOOT=ReallySuppress /qn"
set wshshell = nothing
End Function

Aggiungo anche che funziona con qualsiasi versione di Adobe Reader, io ho provato anche con la 9.4, in qualsiasi lingua.
Potete anche scaricare lo script: Uninstall Acrobat X.

Ora posso procedere con la creazione del mio Package di install/uninstall felicemente.