C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 21 を表示中)
■9071 / )  C# MSI インストーラクラスのDisplayIcon
□投稿者/ asuka (32回)-(2007/10/18(Thu) 11:12:20)

分類:[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を知る方法を御存知であれば、是非御教授願います。

返信 編集キー/


管理者用

- Child Tree -