セットアッププロジェクトのある小さなアプリがあります。プライマリ出力へのショートカットを作成すると、exeのアプリケーションアイコンで指定されているアイコンではなく、標準のWin7アイコンが表示されますか?
デスクトップのショートカットアイコンがexeファイルと同じアイコンであることを確認するための最良の方法は何ですか?たとえば、exeのアイコンを変更した場合は、セットアップアイコンも変更したいと思います。
セットアッププロジェクトのある小さなアプリがあります。プライマリ出力へのショートカットを作成すると、exeのアプリケーションアイコンで指定されているアイコンではなく、標準のWin7アイコンが表示されますか?
デスクトップのショートカットアイコンがexeファイルと同じアイコンであることを確認するための最良の方法は何ですか?たとえば、exeのアイコンを変更した場合は、セットアップアイコンも変更したいと思います。
ショートカットのアイコンを設定すると、プライマリ出力をソースとして設定できます。セットアッププロジェクトのファイルシステムエディタで、ショートカットのプロパティペインにある[(アイコン)]コンボボックスをクリックし、[(参照...)]オプションの[参照...]ボタンをクリックします。あなたはこれを見るでしょう:
次に、出力を追加し、exeのプライマリ出力を選択します。
target.exeファイルからショートカットにアイコンを追加できます...[ターゲットマシンのファイルシステム]で、アイコンを追加するフォルダー(ユーザーのデスクトップなど)のショートカットを参照します。ショートカットを右クリックして、[プロパティウィンドウ]を選択します。アイコンの行が表示されます...クリックして[参照]を選択し、Application Folder / yourExe.exe(ICONからExeファイルに変更)を参照して、[OK]と言います。選択したyourExe.exeのアイコンが表示されます(OK)。基本的に、セットアッププロジェクトの[追加/削除]アイコン([コントロールパネル] / [アンインストール]に表示されます)...プロパティページでも同じことを行う必要があります。さまざまなフォルダ(ユーザーのデスクトップ、ユーザーのスタートアップなど)にあるすべてのショートカットに対して、これを実行する必要があります。すべてのアイコンが正常に機能します。
Gertの答えに追加するには、最初にプロジェクトをビルドするようにしてください。そうしないと、セットアップアプリにアイコンが表示されません。
IWshShortcutを使用する非常に簡単な方法(.net 2でも機能します):
WshRuntimeLibrary.IWshShortcut MyShortcut = (IWshRuntimeLibrary.IWshShortcut)WshShell.CreateShortcut(fullPathLnk);
string iconLoc = MyShortcut.IconLocation; // <- example: "c:\icon.ico,0"
iconLocがまだ存在するかどうかを確認し、存在しない場合は修正し、アイコンファイルの検索と読み取りなどに使用します。