Windows Installer では、インストールしたソフトウェアの管理にプロダクトコード(Product Code)とアップグレードコード(Upgrade Code)を用いています。
ここで、プロダクトコードは同一ソフトウェアのバージョン識別に、アップグレードコードはソフトウェアの識別に使用しています。
先のブログで、アップグレードコードがレジストリの何処にあるのかを調べなくては、というお話しをしましたが、ようやく、判明しました。
プロダクトコードもアップグレードコードも、GUIDという32桁の識別コードな訳ですが、Visual Studioのセットアッププロジェクトで表示されるGUIDは、Windows Installer でジストリに登録する際に、パックGUID化したキーで登録されるということなのです。
どうりで、そのままのコードでレジストリを検索しても見つからないはずです。
参考サイト:いものホームページ Windows Installer
ちなみに、アップグレードコードを管理しているレジストリキーは、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\
で、この下にずらっとパックGUID化したアップグレードコードのサブキーが格納されています。
そして、このアップグレードサブキーの項目として、プロダクトコードが格納されており、これでアップグレードコードとプロダクトコードの紐付けができますから、後は、そのプロダクトコードをアンパックして、アンインストール情報を検索すれば、OKということになります。
ただ、気になるのは、アップグレードサブキーの下に、複数のプロダクトコードが格納されている場合がある点です。
多分、複数のバージョンが同時存在を許可しているケースだと思うのですが、これは要調査ですね。
まあ、とりあえず、この問題の解決まで、あと一歩というとこまできました。
やれやれです。