トップ回答者
UACの動的昇格

質問
回答
-
今、Vistaで開発しているのですが、UACを動的に昇格させることはできるのですか?
原則として、できないはずです。プロセスの再起動やマニフェストでなく、イメージとしてはApple Software Updateのような感じです。
Apple Software Updateの動きを確認していませんが、レジストリキーを見る限り、COM Elevationを使っているようですね。
(ボタンを押したらUACダイアログが表示され、OKが押されたらそのアプリケーションが昇格される、といった感じです)
http://msdn.microsoft.com/en-us/library/ms679687(VS.85).aspx
レジストリの下記のキーあたりを見ると、Apple Software Updateを構成するコンポーネントであることと、Elevationキーがあることが分かります。
HKEY_CLASSES_ROOT\CLSID\{91A9E6A9-3935-4A37-AFBA-F0904B166364}
COM Elevationは別プロセスとしてCOMを動かし、そのプロセスとの間を通信する仕組み…のはず。
ちゃんと理解してないので間違っているかもしれません。
解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。- 回答としてマーク かずひろかず 2009年4月17日 11:27
すべての返信
-
今、Vistaで開発しているのですが、UACを動的に昇格させることはできるのですか?
原則として、できないはずです。プロセスの再起動やマニフェストでなく、イメージとしてはApple Software Updateのような感じです。
Apple Software Updateの動きを確認していませんが、レジストリキーを見る限り、COM Elevationを使っているようですね。
(ボタンを押したらUACダイアログが表示され、OKが押されたらそのアプリケーションが昇格される、といった感じです)
http://msdn.microsoft.com/en-us/library/ms679687(VS.85).aspx
レジストリの下記のキーあたりを見ると、Apple Software Updateを構成するコンポーネントであることと、Elevationキーがあることが分かります。
HKEY_CLASSES_ROOT\CLSID\{91A9E6A9-3935-4A37-AFBA-F0904B166364}
COM Elevationは別プロセスとしてCOMを動かし、そのプロセスとの間を通信する仕組み…のはず。
ちゃんと理解してないので間違っているかもしれません。
解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。- 回答としてマーク かずひろかず 2009年4月17日 11:27