セットアッププロジェクトのある小さなアプリがあります。プライマリ出力へのショートカットを作成すると、exeのアプリケーションアイコンで指定されているアイコンではなく、標準のWin7アイコンが表示されますか?
デスクトップショートカットアイコンがexeファイルと同じアイコンであることを確認するための最良の方法は何ですか?例えばexeのアイコンを変更した場合は、セットアップアイコンも変更したいと思います。
ショートカットのアイコンを設定すると、プライマリ出力をソースとして設定できます。セットアッププロジェクトのファイルシステムエディタで、ショートカットのプロパティペインにある[(アイコン)]コンボボックスをクリックし、[(参照...)]オプション、[参照...]ボタンをクリックします。あなたはこれを見るでしょう:
次に、出力を追加し、exeのプライマリ出力を選択します。
Target.exeファイルからショートカットにアイコンを追加できます... [ターゲットマシンのファイルシステム]で、アイコンを追加するフォルダー(ユーザーのデスクトップなど)のショートカットを参照します。ショートカットを右クリックして、[プロパティウィンドウ]を選択します。アイコンの行が表示されます...クリックして[参照]を選択し、[アプリケーションフォルダー/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がまだ存在するかどうかを確認し、存在しない場合は修正し、アイコンファイルを検索して読み取るために使用します。