1

Тема: VBScript: получение списка установленного софта на компьютере

Скрипт читает соответствующую ветвь реестра и выводит названия всех установленных продуктов, а также командные строки их деинсталляции.
Автор скрипта - mozers.

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

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
    EnumerateValues (strKeyPath & "\" & subkey)
Next

Sub EnumerateValues(strSubKey)
    Dim DisplayName, UninstallString
    oReg.EnumValues HKEY_LOCAL_MACHINE, strSubKey, arrValueNames, arrValueTypes
On Error Resume Next
    For Each strValueName In arrValueNames
        oReg.GetStringValue HKEY_LOCAL_MACHINE, strSubKey, strValueName, strValue
        If UCase(strValueName) = "DISPLAYNAME" Then DisplayName = strValue
        If UCase(strValueName) = "UNINSTALLSTRING" Then UninstallString = strValue
    Next
    If DisplayName <> "" Then
    WScript.Echo (DisplayName & vbNewLine & ">  " & UninstallString)
    End If
End Sub
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.