次のノードを持つマニフェストファイルを持つプロジェクトがあります。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
...デフォルトで「管理者として」のみ実行することを意味します。
周りを検索して、この作業を行うには、2つのオプションがあります。
オプション2を試しましたが、アプリを実行しても管理者権限は要求されませんか?
では、VS2010でオプション1を実行するにはどうすればよいですか? mt.exeについて聞いたことがありますが、ビルド後に行われるため、これは私には良くありません。ソリューションの一部とプロジェクトファイル自体のオプションが必要です。
では、どうすればこれを機能させることができますか?喜んで2をやりますが、うまくいかないようです。
Visual Studio 2010では、新しいプロジェクトのデフォルト設定は、マニフェストをアプリケーションに埋め込むことです(オプション#1)。デフォルトでは、デフォルトのマニフェストが含まれていますが。あなたがする必要があるのは、カスタムマニフェストを追加することです。
これにより、app.manifestという名前のファイルがプロジェクトに追加されます。そのファイルを開き、次のように行を変更します
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
これは、Visual Studio2008でも機能するはずです。
VS2010では少し異なります。プロジェクトを右クリックして、[プロパティ]を選択します。 「アプリケーション」タブを選択し、「Windows設定の表示」をクリックします。これによりマニフェストが開きます。次に、必要な変更を加えます。
既存のapp.manifestを別のプロジェクト(C#)にコピーすることによって引き起こされる同じ問題に遭遇しました。
プロジェクトをアンロードし、csprojファイルを編集して、次のセクションを挿入することで修正しました。
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
これにより、アプリケーションはapp.manifestを正しく取得できました。