/MANIFEST (サイド バイ サイド アセンブリ マニフェストを作成する)

リンカーがサイド バイ サイド マニフェスト ファイルを作成するかどうかを指定します。

構文

/MANIFEST[:{EMBED[,ID=resource_id]|NO}]

解説

/MANIFEST リンカー オプションは、サイド バイ サイド マニフェスト ファイルを作成するようにリンカーに指示します。 マニフェスト ファイルの詳細については、 Manifest ファイルリファレンスを参照してください。

既定値は、/MANIFEST です。

/MANIFEST:EMBED オプションは、リンカーがRT_MANIFEST型のリソースとしてイメージにマニフェスト ファイルを埋め込む必要があることを指定します。 省略可能な ID パラメーターは、マニフェストに使用するリソース ID を設定します。 実行可能ファイルには、 resource_id 値 1 を使用します。 DLL の場合は値 2 を使用して、プライベート依存関係を指定できるようにします。 ID パラメーターが指定されていない場合、/DLL オプションが設定されている場合は既定値は 2、それ以外の場合は既定値は 1 です。

Visual Studio 2008 から、実行可能ファイルのマニフェスト ファイルには、ユーザー アカウント制御 (UAC) 情報を指定するセクションが含まれるようになりました。 /MANIFESTを指定しても、/MANIFESTUACまたは/DLLを指定しない場合は、UAC レベルが asInvoker に設定された既定の UAC フラグメントがマニフェストに挿入されます。 UAC レベルの詳細については、「 /MANIFESTUAC (マニフェストに UAC 情報を埋め込む)」を参照してください。

UAC の既定の動作を変更するには、次のいずれかのオプションを設定します。

  • /MANIFESTUAC オプションを指定し、UAC レベルを目的の値に設定します。

  • または、マニフェストで UAC フラグメントを生成しない場合は、 /MANIFESTUAC:NO オプションを指定します。

/MANIFESTを指定せず、/MANIFESTDEPENDENCY属性を指定すると、マニフェスト ファイルが作成されます。 /MANIFEST:NOを指定した場合、マニフェスト ファイルは作成されません。

/MANIFESTを指定した場合、マニフェスト ファイルの名前は出力ファイルの完全な名前と同じですが、ファイル名.manifest追加されます。 たとえば、出力ファイル名が MyFile.exe場合、マニフェスト ファイル名は MyFile.exe.manifest/MANIFESTFILE:nameを指定した場合、マニフェストの名前は、nameで指定した名前になります。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳しくは、「コンパイラとビルドのプロパティを設定する」をご覧ください。

  2. [構成プロパティ]>[リンカー]>[マニフェスト ファイル] プロパティ ページを選択します。

  3. [マニフェストの生成] プロパティを変更します。 [OK] または [適用] を選択して、変更内容を保存します。

このリンカーをコードから設定するには

  1. 以下を参照してください。GenerateManifest

関連項目

マニフェスト ファイルリファレンス
/MANIFESTDEPENDENCY (マニフェストの依存関係を指定する)
/MANIFESTFILE (マニフェスト ファイルに名前を付けます)
/MANIFESTUAC (マニフェストに UAC 情報を埋め込む)
MSVC リンカーのリファレンス
MSVC リンカー オプション