WMIを使ってスクリプトで適当に取れるんじゃないか、と予想したが、いまいちうまくいかないようだ。
最初にWin32_ProductとWin32_SoftwareFeatureが使えそうだと言うのはすぐ検索で見つかったが、どうもこの2つはWindows Installerでインストールされたソフトしかひっかからないっぽい。
というわけで直接レジストリ(Uninstall)から引っ張ってくるしかないようだ。
Const HKEY_LOCAL_MACHINE = &H80000002 Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") unKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall" objReg.EnumKey HKEY_LOCAL_MACHINE, unKeyPath, arrSubKeys For Each Subkey in arrSubKeys objReg.GetStringValue HKEY_LOCAL_MACHINE, unKeyPath & "\" & subkey, "DisplayName", strValue If Not IsNull(strValue) Then Wscript.Echo strValue End If Next wscript.Quit