WindowsにインストールされているプログラムのGUIDを一覧表示するにはどうすればよいですか?または、MSIファイルがある場合はGUIDを見つけるのが簡単ですか?
OrcaでMSIファイルを調べていますが、GUIDを見つける場所がわかりません。
ありがとう!
WindowsにインストールされているプログラムのGUIDを一覧表示するにはどうすればよいですか?または、MSIファイルがある場合はGUIDを見つけるのが簡単ですか?
OrcaでMSIファイルを調べていますが、GUIDを見つける場所がわかりません。
ありがとう!
Windows インストーラー データベースの 3 つの主要な GUID は、Package Code、ProductCode、およびUpgradeCodeです。1 つ目は要約情報ストリーム (Orca の [表示] メニュー) に保存され、残りはプロパティ テーブルに保存されます。(マージ モジュールやパッチなどの他の形式のデータベースには、マージ モジュールの GUID やパッチ コード GUID など、同様の場所に同様の GUID があり、それぞれがパッケージ コードと同じように格納されます。)
マシン上でそれらを見つけるには、ProductCode がよく使用される Uninstall キーを調べます。または、マシンに現在インストールされているものを列挙したい場合は、MsiEnumProductsを呼び出すことができます。
インストールされたパッケージの製品 GUID を見つけるには、いくつかの方法があります。オプション番号 3 を優先してください。
最も一般的なものは次のとおりです。
- 32-BIT SECTION:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall (per user section)
- 64-BIT SECTION:
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- MERGED SECTION (supposedly all of the above merged together, I have not verified):
HKCR\Installer\Products
問題の製品をアンインストールしようとしている場合は、この包括的なアンインストール MSI の回答を参照してください: msiexec を使用せずにコマンド ラインから MSI ファイルをアンインストールする
Powershell の代わりにVBScriptを使用する方が快適な場合は、Phil Wilson からのこの回答を試してください: how to find the products are installed - newer product are already installed MSI windows
通常 (例外なく)、ソフトウェアの一部が MSI ベースのインストールを使用している場合、GUID はアンインストール エントリで見つけることができます。通常、キー名であるか、UninstallString および/または UninstallPath 値に表示されます。ProductGuid の値が存在する場合、生活は楽になることがあります。
アンインストール エントリは次の場所にあります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Windows の 64 ビット バージョンでは、このようなキーが 2 つあります。1 つは 64 ビット ソフトウェア用で、もう 1 つは 32 ビット ソフトウェア用です。
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall