这是这个问题的后续。
我正在使用这个稍作修改的脚本来枚举所有已安装的 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
然而,令人惊讶的是其糟糕的表现。枚举我的 XP 机器上安装的 34 个 MSI 软件包需要 3 到 5 分钟!
相比之下,旁边的 Linux 机器需要 7 秒才能枚举 1400+ RPM...叹息
这有什么线索吗?