/win32manifest (Visual Basic)
更新 : 2007 年 11 月
プロジェクトの移植可能な実行可能 (PE) ファイルに埋め込むユーザー定義の Win32 アプリケーション マニフェスト ファイルを識別します。
/win32manifest: fileName
引数
- fileName
カスタム マニフェスト ファイルのパスを指定します。
解説
既定では、asInvoker の要求実行レベルを指定するアプリケーション マニフェストが、Visual Basic コンパイラによって埋め込まれます。このマニフェストは、実行可能ファイルをビルドするフォルダ内に作成されます。Visual Studio を使用する場合、通常この場所は bin\Debug フォルダまたは bin\Release フォルダになります。カスタム マニフェストを用意して、たとえば highestAvailable または requireAdministrator の要求実行レベルを指定する場合は、このオプションを使用してファイルの名前を指定します。
メモ : |
---|
このオプションと /win32resource オプションは相互に排他的です。同じコマンド ライン内で両方のオプションを使用すると、ビルド エラーが発生します。 |
要求実行レベルを指定するアプリケーション マニフェストのないアプリケーションは、Windows Vista のユーザー アカウント制御機能によってファイルとレジストリが仮想化されます。仮想化の詳細については、「Windows Vista の ClickOnce 配置」を参照してください。
アプリケーションが次のいずれかの条件を満たす場合、アプリケーションは仮想化されます。
/nowin32manifest オプションを使用し、それ以降のビルド ステップでマニフェストを指定していないか、/win32resource オプションを使用して Windows リソース (.res) ファイルの一部としてマニフェストを指定していない。
要求実行レベルを指定しないカスタム マニフェストを指定している。
Visual Studio は既定の .manifest ファイルを作成し、実行可能ファイルと共に debug ディレクトリおよび release ディレクトリに格納します。既定の app.manifest ファイルは、プロジェクト デザイナで [アプリケーション] タブの [UAC 設定の表示] をクリックして、表示または編集できます。詳細については、「[アプリケーション] ページ (プロジェクト デザイナ) (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>
参照
参照
/nowin32manifest (Visual Basic)