/MANIFESTUAC (UAC 情報をマニフェストに組み込む)
ユーザー アカウント制御 (UAC) 情報をプログラム マニフェストに組み込むかどうかを指定します。
構文
/MANIFESTUAC
/MANIFESTUAC:NO
/MANIFESTUAC:
level
/MANIFESTUAC:
uiAccess
/MANIFESTUAC:
fragment
パラメーター
NO
リンカーでは、UAC 情報をプログラム マニフェストに埋め込みません。
level
level=
、その後に 'asInvoker'
、'highestAvailable'
、'requireAdministrator'
のいずれか。 既定値は 'asInvoker'
です。 詳細については、「解説」を参照してください。
uiAccess
アプリケーションでユーザー インターフェイスの保護レベルをバイパスし、入力をデスクトップ上のアクセス許可の高いウィンドウにアクセスできるようにするには uiAccess='true'
、それ以外の場合は uiAccess='false'
。 既定値は uiAccess='false'
です。 ユーザー インターフェイスのユーザー補助アプリケーションでのみ、この引数を uiAccess='true'
に設定します。
fragment
level
値および uiAccess
値を格納する文字列。 二重引用符で囲まれる場合があります。 詳細については、「解説」を参照してください。
解説
コマンド ラインで複数の /MANIFESTUAC
オプションを指定した場合は、最後に入力したオプションが優先されます。
/MANIFESTUAC:
level
の選択肢は次のとおりです。
level='asInvoker'
: アプリケーションは、それを開始したプロセスと同じアクセス許可レベルで実行されます。 [管理者として実行] を選択すると、アプリケーションをより高いアクセス許可に昇格させることができます。level='highestAvailable'
: アプリケーションは、可能な限り高いアクセス許可レベルで実行されます。 アプリケーションを開始するユーザーが管理者グループのメンバーである場合、このオプションはlevel='requireAdministrator'
と同じです。 使用可能な最も高いアクセス許可レベルが、開始したプロセスのレベルより高い場合は、資格情報の入力が求められます。level='requireAdministrator'
: アプリケーションは、管理者のアクセス許可を使用して実行されます。 アプリケーションを開始するユーザーは、管理者グループのメンバーである必要があります。 開始したプロセスが管理者のアクセス許可で実行されない場合は、資格情報の入力が求められます。
/MANIFESTUAC:
fragment
オプションを使用することにより、level
値と uiAccess
値の両方の指定を 1 ステップで行うことができます。 fragment は、次の形式で指定します。
次に例を示します。
/MANIFESTUAC:"level='highestAvailable' uiAccess='true'"
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[マニフェスト ファイル] プロパティ ページを選択します。
[ユーザー アカウント制御 (UAC) を有効にする]、[UAC の実行レベル]、[UAC による UI 保護のバイパス] の各プロパティを変更します。
このリンカーをコードから設定するには
- EnableUAC、UACExecutionLevel、および UACUIAccess を参照してください。