|
分類:[C#]
お世話になっております。
VS2005でMSIにてインストーラを作成しております。
作成したプログラム(DLL)がGACなどの登録が必要なため、
System.Configuration.Installのインストーラクラスを継承し、Install関数などをオーバーラップして実装しています。
無事インストールも出来、動作に問題はないのですが、
コントローラパネルの[プログラムの追加と削除]に表示される自分のプログラムアイコンがMSIのシステムアイコンで表示されてしまいます。
調べてみますと、上記アイコンは下記ディレクトリの値に従うそうなのです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID} DisplayIcon =
インストーラはインストール時に自動でGUIDを生成して書き込むようで、MSIのインストーラはデフォルトではDisplayIconキーを記入しないようなのです。
そこで、InstallAfter関数内で、インストール後に自分でキーを追加し、アイコンまでのフルパスを書きに行こうかと考えたのですが、
インストーラが自動で生成するGUIDが分からずに困っております。
インストーラクラス内で、DisplayIconにパスを渡せればと思うのですが、調べた限りでは分かりませんでした。
DisplayIconにパスを渡す方法、あるいはGUIDを知る方法を御存知であれば、是非御教授願います。
|