0

Visual Studio 2008 を使用して VBNet プログラムをデプロイするためのセットアップ プログラムを作成しました。このセットアップ プログラム内で、ユーザーのデスクトップにインストールする「プライマリ出力」へのショートカットを作成しました。

現在、すべてが正しく機能しています。プログラムは「C:\Program Files」の下にインストールされ、デスクトップにショートカットが作成されます。また、このショートカットを使用すると、UAC によって、このプログラムを管理者として実行することを自動化するように求められます。ここまでは順調ですね...

しかし!プログラムが管理者として実行する必要があることを示すマニフェストでコンパイルされている場合でも、デスクトップ アイコンに UAC シールド オーバーレイがありません。また、インストール後に同じ実行可能ファイルへの新しいショートカットをデスクトップに手動で作成すると、この新しいショートカットにシールド オーバーレイが表示されます。

iconCache.db ファイルを再起動して削除しようとしましたが、うまくいきませんでした。

私の質問は次のとおりです。最初にインストールしたときに、デスクトップ ショートカットを UAC シールド オーバーレイと共に表示するにはどうすればよいですか。

ありがとう!

4

3 に答える 3

2

ビルド後のイベントを使用して、または Visual Studio によって自動的にファイルnon-advertised内の 1 つのテーブル行を変更することで、ショートカットを作成できます。msiOrca

プロジェクトのプロパティに移動し、次のように入力しますPostBuildEvent

cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')"

WiRunSql.vbs ファイルは、Microsoftから入手できます。

よろしくルモ

于 2011-10-25T08:39:02.643 に答える
0

インストーラーによって作成されたアイコンは、.exe ファイルではなく、レジストリ キーを指していることをお勧めします。ショートカットのプロパティを開きます。[ショートカット] タブの [ターゲット]フィールドが無効になっていて、アプリケーションの名前が含まれている場合は、それが当てはまります。

アイコンを非広告にすると、作成されたショートカットは .exe ファイルを指します。ただし、この場合、.exe が見つからない場合、インストールを自動的に修復することはできません。

于 2011-01-12T14:22:53.797 に答える
0

詳細がなければ、私の唯一の推測は、ターゲットが存在する前にショートカットを作成して、ウィンドウがマニフェストを表示できないようにすることです。

于 2010-04-11T22:07:51.970 に答える