4

VS10 で C# GUI アプリを作成しています。必要な機能の 1 つは、特定のファイルの内容を確認することです。更新が必要な場合は、管理者モードで更新する必要があります。マニフェスト ファイルに書き込むと、ファイルの内容に関係なくアプリが強制的に管理者モードで実行されますが、これは望ましくありません (面倒だからです)。実行時に、必要な場合にのみ管理者モードのプロンプトを表示する方法はありますか? ありがとう!

4

2 に答える 2

4

残念ながら、実行時にエスカレートすることはできません。

同じ目標を達成するには、ファイルを更新するコードを独自の実行可能ファイルに分離します。この実行可能ファイルには、マニフェストを通じて管理者アクセス権があります。

このアプリケーションをメイン アプリから実行すると、コードの残りの部分で不必要にアクセス許可をエスカレートすることなく、必要なときに管理者アクセスを要求できます。

于 2012-09-03T06:08:01.280 に答える
2

解決策は、必要に応じてアプリケーションを管理者モードで再起動することだと思います。

簡単なグーグルは明らかにします:

CodeProject から

しかし、私は@WillEddinsの答えに同意します...管理者の「モード」コードを別の実行可能ファイルに分離する方が(可能/実用的であれば)「より良い」でしょう。これは、管理機能が非管理機能とどの程度緊密に統合されているか (とりわけ、労力/コスト/利益/リスクなど) に依存すると思います。

于 2012-09-03T06:01:10.867 に答える