OrangeMaker_logo
memo アイコン VS2008/VS2010 備忘録

 VisualStudio2008/2010関連でちょっとしたメモを記録します。
  (記載内容について正しい保障があるものではありませんのでご注意ください。)

UACの指定方法

VISTA以降ではUAC(ユーザアクセス制御)のレベルの指定が可能です。

UACの指定は、プロジェクトのプロパティ設定で行います。
設定箇所は、リンク-マニュフェストファイルで指定します。

UAC指定

ユーザアカウント制御(UAC)を有効を「はい」にしてUACの実行レベルを「asInvoker」の指定が通常の指定です。
ここで設定した内容で組み込みマニュフェストファイルが生成され実行モジュールに組み込まれます。
ここで、UACの実行レベルを「requestAdmistrator」にするとそのアプリケーションは特権レベルの指定となりアイコンに盾マークがつく状態になります。盾マークがついたアプリケーションは起動時にUACの実行可否を求めるダイアログを表示されます。

もうひとつの選択枝はユーザアカウント制御(UAC)を「いいえ」にしておく方法があります。これはUACの指定がないアプリケーションとなります。(VS6などでマニュフェストを組み込まない状態のアプリと同じ状態です。)拙作のLauncherOnScheduleやPortableSではこのUACなしの状態に設定します。その理由は、これらのアプリケーションではプロセス起動を行っておりasInvokerのレベルからrequestAdministrotorのレベルのアプリケーションを起動(CreateProcess)すると権限違反のエラーとなります。UACの指定なしとしておくとrequestAdministratorのアプリを起動時にUACのダイアログを表示してユーザの可否を求める動きとなります。