-win32manifest (Visual Basic)
プロジェクトのポータブル実行可能 (PE) ファイルに埋め込まれる、ユーザー定義の Win32 アプリケーション マニフェスト ファイルを識別します。
構文
-win32manifest: fileName
引数
期間 | 定義 |
---|---|
fileName |
カスタム マニフェスト ファイルのパス。 |
Remarks
既定では、asInvoker の要求実行レベルを指定するアプリケーション マニフェストが、Visual Basic コンパイラによって埋め込まれます。 マニフェストは、実行可能ファイルがビルドされたのと同じフォルダー (Visual Studio を使用している場合、通常は bin\Debug または bin\Release フォルダー) に作成されます。 カスタム マニフェストを指定する (たとえば、highestAvailable または requireAdministrator の要求実行レベルを指定する) 場合は、このオプションを使用してファイルの名前を指定します。
Note
このオプションと -win32resource オプションは、相互に排他的です。 同じコマンド ラインで両方のオプションを使おうすると、ビルド エラーが発生します。
アプリケーション マニフェストを持たないアプリケーションは、要求実行レベルを指定した場合、Windows Vista のユーザー アカウント制御機能によって、ファイルまたはレジストリの仮想化の対象となります。 仮想化について詳しくは、「Windows Vista の ClickOnce 配置」を参照してください。
次の条件のいずれかに該当する場合、アプリケーションは仮想化の対象となります。
-nowin32manifest
オプションを使用していて、後のビルド手順でマニフェストを提供していないか、-win32resource
オプションを使用して Windows リソース (.res) ファイルの一部としていない。要求実行レベルが指定されていないカスタム マニフェストを提供している。
Visual Studio は、既定の .manifest ファイルを作成し、それを実行可能ファイルと一緒にデバッグ ディレクトリとリリース ディレクトリに保存します。 既定の app.manifest ファイルは、プロジェクト デザイナーの [アプリケーション] タブにある [UAC 設定の表示] をクリックして表示または編集することができます。 詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。
アプリケーション マニフェストは、カスタムのビルド後手順として提供するか、-nowin32manifest
オプションを使用して、Win32 リソース ファイルの一部として提供できます。 アプリケーションを Windows Vista でファイルまたはレジストリの仮想化の対象にする場合は、これと同じオプションを使用します。 これにより、コンパイラで PE ファイル内に既定のマニフェストが作成されて埋め込まれなくなります。
例
次の例は、Visual Basic コンパイラによって PE に挿入される既定のマニフェストを示しています。
Note
コンパイラによって、標準のアプリケーション名 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