Dlaczego wyliczanie zainstalowanych pakietów MSI jest tak powolne?
To jest kontynuacja tegopytanie.
Używam tego nieco zmodyfikowanego skryptu do wyliczenia wszystkich zainstalowanych pakietów 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
Zaskakujące jest jednak jego fatalne zachowanie. Wyliczenie 34 zainstalowanych pakietów MSI na moim pudełku XP zajmuje od 3 do 5 minut!
Dla porównania, skrzynka z Linuksem, która siedzi poza tym, bierze 7s do wyliczenia ponad 1400 RPM ...westchnienie
Jakieś wskazówki na ten temat?