wixのインストール中にコンピューターにインストールされたソフトウェアを検出する最良の方法は何ですか. いろいろな方法でできることを知っています。appsearch 、registrysearch 、 directorysearch 、 filesearchなど。
MsiGetProductInfo
また、Windowsインストーラーには関数がありComponentSearch
、wixにはguidに基づいて情報を検索する機能があることも知っています..また、レジストリで検索する可能性もHKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
ありますが、さらに多くの可能性があります。HKCU
、HKLM
および64または32ビット?
私にとって最良のオプションはMsiGetProductInfo
、探しているアプリの GUID を配置して、インストール ディレクトリ、バージョンなどの情報を取得できる のようなものです。
私はいくつかの記事を読みましたが、多くの人がレジストリ検索を通じてこれを行っています。そしてディレクトリ検索。しかし、パッチによってアプリ ディレクトリの構造が変更された場合はどうなるでしょうか。または、レジストリ キーを変更します。これらの変更によっても、GUID は一意である必要があります。
また、私の上司は、レジストリの検索に反対していると言っていました。それで、これについてどう思いますか?それを行うための最良のオプションは何ですか。
編集:追加の質問。GUIDを使用したすべてのインストールシステムではないように見えます。