プロジェクトのポータブル実行可能ファイル (PE) ファイルに埋め込むユーザー定義の Win32 アプリケーション マニフェスト ファイルを識別します。
構文
-win32manifest: fileName
論争
任期 | 定義 |
---|---|
fileName |
カスタム マニフェスト ファイルのパス。 |
注釈
既定では、Visual Basic コンパイラは、asInvoker の要求された実行レベルを指定するアプリケーション マニフェストを埋め込みます。 実行可能ファイルがビルドされているのと同じフォルダー (Visual Studio を使用する場合は通常、bin\Debug フォルダーまたは bin\Release フォルダー) にマニフェストが作成されます。 highestAvailable または requireAdministrator の要求された実行レベルを指定するなど、カスタム マニフェストを指定する場合は、このオプションを使用してファイルの名前を指定します。
注
このオプションと -win32resource オプションは相互に排他的です。 同じコマンド ラインで両方のオプションを使用しようとすると、ビルド エラーが発生します。
要求された実行レベルを指定するアプリケーション マニフェストがないアプリケーションは、Windows Vista のユーザー アカウント制御機能の下でファイル/レジストリ仮想化の対象になります。 仮想化の詳細については、「 Windows Vista での ClickOnce 配置」を参照してください。
次のいずれかの条件に該当する場合、アプリケーションは仮想化の対象になります。
-nowin32manifest
オプションを使用し、後のビルド 手順でマニフェストを指定したり、-win32resource
オプションを使用して Windows リソース (.res) ファイルの一部として提供したりすることはありません。要求された実行レベルを指定しないカスタム マニフェストを指定します。
Visual Studio では、既定の .manifest ファイルが作成され、実行可能ファイルと共にデバッグ ディレクトリとリリース ディレクトリに格納されます。 プロジェクト デザイナーの [アプリケーション] タブで [UAC 設定の表示] をクリックすると、既定の app.manifest ファイルを表示または編集できます。 詳細については、 アプリケーション ページ、プロジェクト デザイナー (Visual Basic)を参照してください。
-nowin32manifest
オプションを使用して、ビルド後のカスタム ステップとして、または Win32 リソース ファイルの一部として、アプリケーション マニフェストを提供できます。 アプリケーションを Windows Vista でファイルまたはレジストリの仮想化の対象にする場合は、これと同じオプションを使用します。 これにより、コンパイラが既定のマニフェストを作成して PE ファイルに埋め込むのを防ぐことができます。
例
次の例は、Visual Basic コンパイラが PE に挿入する既定のマニフェストを示しています。
注
コンパイラは、標準のアプリケーション名 MyApplication.app をマニフェスト XML に挿入します。 これは、Windows Server 2003 Service Pack 3 でアプリケーションを実行できるようにするための回避策です。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
こちらも参照ください
.NET