0

VS2008 C#WinFormsと展開プロジェクト。設定を保存するには、レジストリにアクセスする必要があります。ただし、そのためには、プロジェクトに外部マニフェストを追加する必要があります。マニフェストが含まれていないと、アプリケーションはレジストリにアクセスできません。

(別の方法はありますか?)

1つの設定としてマニフェスト:requestedExecutionLevel level = "requireAdministrator" uiAccess = "false"

assemblyIdentityのバージョンがプロジェクト名とバージョンと一致することを確認しました。

マニフェストが含まれていると、すべてうまく機能しますが、アプリケーションを起動するたびにユーザーアクセス制御がポップアップし続けます。なぜUACは、ユーザーが前回[OK]をクリックしたことを覚えていないのですか?ユーザーが1回クリックすることに満足していますが、毎回クリックするわけではありません。これを充電するには何が必要ですか?ありがとう

4

1 に答える 1

0

アプリケーションを としてマークするのではなく、 としてrequireAdministratorマークしてくださいasInvoker

次に、絶対に管理者アクセスが必要な限られた場所で、ShellExecute と魔法のrunas動詞を使用してアプリのコピーを再起動します。

これにより、UAC 同意ダイアログがトリガーされ、アプリが管理者として実行されます。

于 2014-01-03T03:35:34.313 に答える