Son zamanlarda Windows yazılım paketlerimizi RPM'den (cygwin) MSI'ya (wix) geçirdik. Yerli bir pakete sahip olmak çok hoş bir değişikliktir ve onunla uğraşmayı düşünüyoruz. Ancak, MSI yaptığı şey için aşırı karmaşık hissediyor ve bazı temel yetenekleri sağlamak için görünmüyor. Ama muhtemelen yanıldım. Yüklü MSI'yi komut satırından nasıl listelerim?
komut satırından tüm yüklü MSI listelemek için bir yolu var mı? Bu ne ihtiyaç vardır ama komut satırından kaldırma listesini sorgulamak eğer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & _
strComputer & _
"\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("SELECT * FROM Win32_Product")
If colSoftware.Count > 0 Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile(_
"c:\SoftwareList.txt", True)
For Each objSoftware in colSoftware
objTextFile.WriteLine objSoftware.Caption & vbtab & _
objSoftware.Version
Next
objTextFile.Close
Else
WScript.Echo "Cannot retrieve software from this computer."
End If
Komut satırından kullanacağım bir şeyi tercih ederdim, ancak bunu yapar. Teşekkürler. – bltxd
Devam edin ve komut dosyasını komut satırından kullanın, sonra. Çalıştırmak için cscript.exe kullanın ve dosyaya değil stdout'a (örneğin: WScript.Echo objSoftware.Caption & vbtab & objSoftware.Version) çıktı vermeyin. Artık tüm FSO şeylerine gerek yok. – Tomalak