3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

Visual Studio セットアッププロジェクトのショートカットアイコンでハマる

Visual Studio セットアッププロジェクトでスターメニューにヘルプファイル(chm)へのショートカットを追加しようと思ったんですが、アイコンにハマりました。

何も設定しないと下記のようなアイコンになっちゃうんですよね。

アイコン設定するには、ショートカットのプロパティの Icon から*.icoかアイコンを埋め込んだdll,exeを選択してしないといけません。

で、exeとかの場合は、ファイル自体にアイコン埋め込んでるんで、それを選択すればいいんですが、ヘルプファイルみたいに、自身にアイコン持ってない場合はどうすればいいんだろうと悩みました。

(勝手にファイルに関連付けられたアイコンを設定してくれるという気が効いたことはセットアッププロジェクトはやってくれないですしね。)

仕方ないので、ヘルプ用のアイコンを作り(正確にはVS付属のアイコンを拝借)、それをアプリケーションフォルダに出力するようにしました。

そして、ショートカットのプロパティの Icon からそのヘルプアイコンを指定するようにします。

しかし、ただショートカットにアイコンを付けたいがために、アプリケーションフォルダにファイル出力し、アイコンファイルが残ったままなのは気持ち悪いですね。

それでいろいろ探してると、MSDNフォーラム:セットアッププロジェクトでのアイコン指定でやりたいことがそっくりそのまま載ってました。

どうやら、対象ファイルの Exclude プロパティ を True にしてやるとインストール先には残らず、ショートカットアイコンとしても使えるようです。

(そもそも、ヘルプファイルは、exe作ってるプロジェクトのコンテンツファイルとしして、セットアッププロジェクト上で、アプリケーションフォルダに出力するようにしてるんですが、ショートカット作るときに、それだと選択できないため、わざわざヘルプファイル単体をアプリケーションフォルダ出力するようにしたのもちょっと納得いかんのですが。。)