web-dev-qa-db-ja.com

VS2010セットアッププロジェクトでショートカットの正しいアイコンを設定する

セットアッププロジェクトのある小さなアプリがあります。プライマリ出力へのショートカットを作成すると、exeのアプリケーションアイコンで指定されているアイコンではなく、標準のWin7アイコンが表示されますか?

デスクトップショートカットアイコンがexeファイルと同じアイコンであることを確認するための最良の方法は何ですか?例えばexeのアイコンを変更した場合は、セットアップアイコンも変更したいと思います。

16
BlueChippy

ショートカットのアイコンを設定すると、プライマリ出力をソースとして設定できます。セットアッププロジェクトのファイルシステムエディタで、ショートカットのプロパティペインにある[(アイコン)]コンボボックスをクリックし、[(参照...)]オプション、[参照...]ボタンをクリックします。あなたはこれを見るでしょう:

Add Output

次に、出力を追加し、exeのプライマリ出力を選択します。

19
Gert Arnold

Target.exeファイルからショートカットにアイコンを追加できます... [ターゲットマシンのファイルシステム]で、アイコンを追加するフォルダー(ユーザーのデスクトップなど)のショートカットを参照します。ショートカットを右クリックして、[プロパティウィンドウ]を選択します。アイコンの行が表示されます...クリックして[参照]を選択し、[アプリケーションフォルダー/yourExe.exe](ICONからExeファイルに変更)を参照して、[OK]と言います。選択したyourExe.exeのアイコンが表示されます(OK)。基本的に、セットアッププロジェクトの[追加/削除]アイコン([コントロールパネル]/[アンインストール]に表示されます)...プロパティページでも同じことを行う必要があります。さまざまなフォルダ(ユーザーのデスクトップ、ユーザーのスタートアップなど)のすべてのショートカットに対してこれを行う必要があります。すべてのアイコンが正常に機能しました。

5
user16719

Gertの答えに追加するには、最初にプロジェクトをビルドするようにしてください。そうしないと、セットアップアプリにアイコンが表示されません。

2
Mike Bethany

IWshShortcutを使用する非常に簡単な方法(.net 2でも機能します):

WshRuntimeLibrary.IWshShortcut MyShortcut = (IWshRuntimeLibrary.IWshShortcut)WshShell.CreateShortcut(fullPathLnk);    
string iconLoc = MyShortcut.IconLocation; // <- example: "c:\icon.ico,0"

IconLocがまだ存在するかどうかを確認し、存在しない場合は修正し、アイコンファイルを検索して読み取るために使用します。

1
Gian C.