-win32manifest (Visual Basic)
識別要內嵌到專案的可攜式執行檔 (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>