VB2008のセットアッププロジェクトを使用して、インストーラを作成しようとしています。
このインストーラでは、インストールするソフトで使用するファイルをダブルクリックすることによりこのソフトが起動できるように、
このソフトで使用するファイルの拡張子を、このソフトに関連付けるようにレジストリの登録を行いたいと思っています。
以下のサイトを参考に、それっぽいことを行うことができました。
※カスタム動作エディタの使い方
http://dobon.net/vb/dotnet/deployment/customaction.html
※プログラムをファイルの拡張子に関連付ける
http://dobon.net/vb/dotnet/system/associatedapp.html
しかし、上記「プログラムをファイルの拡張子に関連付ける」で紹介されている、対象拡張子のファイルへのアイコン設定は、
実行ファイル(exe)のアイコンなのですが、自作のアイコン(*.ico)をファイルに設定させたい場合はどうすればよいのでしょうか?
※「プログラムをファイルの拡張子に関連付ける」より参照・アイコンの設定のソース
'アイコンのパスとインデックス
Dim iconPath As String = Application.ExecutablePath
Dim iconIndex As Integer = 0
(略)
'アイコンの登録
Dim iconkey As Microsoft.Win32.RegistryKey = _
Microsoft.Win32.Registry.ClassesRoot.CreateSubKey( _
fileType + "\DefaultIcon")
iconkey.SetValue("", iconPath + "," + iconIndex.ToString())
iconkey.Close()
これは、実行ファイル(exe)に、指定した拡張子のファイルに設定するアイコンを作成しなくてはならないのでしょうか?
ご教授よろしくお願いいたします。
やりたいことは,「関連付け」なのですよね。
それであれば,わざわざカスタム動作を設定しなくても,「ファイルの種類」を使えば設定できます。
また,アイコンは,アイコン自体を「ファイルシステム」の項目に含めておき,
指定したい「ファイルの種類」の「Icon」プロパティに指定する事で実現可能です。
セットアッププロジェクトに、「ファイルの種類」エディタがあることには気がつきませんでした。(^^;)
一生懸命カスタム動作を勉強しましたが、これを使うまでもなかったのですね。
また、アイコンについても上記の方法でうまくいきました。
YuO様ありがとうございました。感謝・感謝です。
ツイート | ![]() |