7

レジストリを使用して、最近開いた 10 個のファイルを保存するプログラムがあります。一度にローカル マシンに保存しようとしましたが、代わりに現在のユーザーに保存することにしました。すべてを機能させようとする過程で、プログラムを強制的に管理者として実行するマニフェストを作成しましたが、これはもう必要ないと思います。私が抱えている問題は、要件を削除できないように見えることです。

私は....プロジェクトのプロパティを「マニフェストなしでアプリケーションを作成する」に変更し、デフォルトで asInvoker に設定される app.manifest という新しい項目を追加し、そのマニフェストを使用するようにプロパティを変更し、マニフェストという単語がファイル名。

これらの試みはどれもうまくいきませんでした。プログラムはまだ管理者として実行されています。何かが欠けているに違いありませんが、何がわかりません。

app.manifest の行は次のとおりです。

  <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
    <requestedExecutionLevel level="asInvoker" uiAccess="false" />
  </requestedPrivileges>

助けてくれてありがとう!!

ゲイリー

4

2 に答える 2

10

Properties フォルダー内の app.manifest ファイルを見てください。次の行を削除します。

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

これの代わりに次の行を追加します。

 <requestedExecutionLevel  level="asInvoker" uiAccess="false" />

これで問題が解決しない場合は、まず bin\Debug フォルダーからマニフェスト ファイルも削除したことを確認してください。出力フォルダーでファイルがまだ使用できる可能性があるため、単にソリューションから削除するだけでは役に立ちません。

そのため、プロジェクトからマニフェスト ファイルを削除するのではなく、期待どおりに動作するように変更する必要があると思います。

于 2012-07-12T18:02:08.217 に答える
3

この質問はもう1年以上前のものですが、1日節約できるかもしれないので答えています。

アプリケーションを管理者モードで実行するように構成していて、それらの権利を取り消したい場合は、次の手順を実行する必要があります。

変化する

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

<requestedExecutionLevel  level="asInvoker" uiAccess="false" />

プロジェクトを右クリック->ソリューションをクリーンアップ->ソリューションを再構築するだけです。

于 2013-08-19T05:13:26.200 に答える