2010-11-18 15 views
1

は、私はユーザー権限に応じて自分のアプリケーションの動作を変更する必要があります。 可能な場合は管理者として実行し、そうでない場合は管理者権限で実行します。

  1. 私のアプリケーションは、管理者として実行することができます

  2. 私のアプリケーションが限られた権限

「requireAdministrator」が埋め込まれているのでマニフェスト内で、同じ.exeが(1)と(2)を同時に処理することはできません。

この問題を解決するにはどうすればよいですか?私は2つの実行ファイル(1つは "requireAdministrator")をパックし、どちらを実行するかを決定する予定です。 他にも提案がありますか?

答えて

2

requireAdministratorまたはasInvokerの代わりにhighestAvailableを要求するマニフェストを使用できます。これは、昇格に同意できる人がそれを実行している場合には上がりますが、OTSプロンプトが必要で、管理者IDとパスワードを入力する必要がある人であれば昇格しません。特権を持っているかどうかを確信してコードを書くことはできないので、私はそれ自身を気にしません。しかし、これはあなたが求めているものを達成する方法です。