Это продолжение этого вопроса .
Я использую этот слегка измененный скрипт для перечисления всех установленных пакетов MSI:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & _
strComputer & _
"\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("SELECT * FROM Win32_Product")
If colSoftware.Count > 0 Then
For Each objSoftware in colSoftware
WScript.Echo objSoftware.Caption & vbtab & _
objSoftware.Version
Next
Else
WScript.Echo "Cannot retrieve software from this computer."
End If
Что удивительно, так это его ужасная производительность. Перечисление 34 установленных пакетов MSI на моем компьютере XP занимает от 3 до 5 минут!
Для сравнения, для Linux, который стоит рядом, требуется 7 с, чтобы перечислить 1400+ об / мин ... sigh
Есть какие-нибудь подсказки по этому поводу?