應用程式 (Windows 10)
代表包含套件中傳遞之部分或所有功能的應用程式。
元素階層
<應用程式>
Syntax
<Application
EntryPoint? = 'See the Attributes table for more info.'
Executable?
uap10:HostId?
Id
uap10:Parameters?
ResourceGroup?
uap10:RuntimeBehavior?
StartPage?
desktop4:Subsystem?
uap10:Subsystem?
desktop4:SupportsMultipleInstances?
uap10:SupportsMultipleInstances?
uap10:TrustLevel?
uap16:BaseNamedObjectsIsolation?
uap17:BaseNamedObjectsIsolation?
desktop11:AppLifecycleBehavior?
uap11:CurrentDirectoryPath?
uap11:Parameters?
<!-- Child elements -->
uap:ApplicationContentUriRules?
Extensions?
uap7:Properties
uap:VisualElements
</Application>
答案
?
選擇性 (零或一個)
&
交錯連接器 (可能會依任何順序發生)
屬性和元素
屬性
屬性 | 描述 | 資料類型 | 必要 | 預設值 |
---|---|---|---|---|
EntryPoint | 可啟動的類別標識碼 (例如,“Office.Winword.Class”) 或 “windows.fullTrustApplication” 或 “windows.partialTrustApplication”。 如果您指定 EntryPoint,則也必須指定 可執行文件 屬性。 如果您指定 EntryPoint,則不得指定 StartPage 屬性。 | 長度介於 1 到 256 個字元之間的字串,表示處理延伸的工作。 這通常是 Windows 執行階段 類型的完整命名空間限定名稱,但可以是其中一個特殊值 「windows.fullTrustApplication」 或 「windows.partialTrustApplication」。。 如果未指定 EntryPoint,則會改用為應用程式定義的 EntryPoint。 | No | |
可執行檔 | 應用程式的預設啟動可執行檔。 指定的檔案必須存在於封裝中。 在較舊的系統上, (請參閱一節以取得詳細數據) ,如果您指定 可執行檔,則也必須指定 EntryPoint 屬性。 如果您指定 可執行檔,則 不得 指定 StartPage 屬性。 | 長度介於 1 到 256 個字元之間的字串,必須以 .exe 結尾,且不能包含下列字元:< 、、> 、、: | " 、 ? 或 。 * |
No | |
uap10:HostId | 目前應用程式之主應用程式的應用程式識別碼。 這個屬性會用於 裝載的應用程式。 | 長度介於 1 到 255 個字元之間的英數位元字串。 必須以字母開頭。 | No | |
Id | 封裝內應用程式的唯一標識碼。 此值有時稱為「套件相關應用程式識別碼 (PRAID)」。 標識碼在封裝內是唯一的,但不是全域的。 系統上可能有另一個套件使用相同的識別碼。 相同的標識碼不能在同一個套件中多次使用。 使用 Visual Studio 範本時,此屬性的預設值為 App。 開發人員應該在指令清單中手動變更此專案。 應用程式發佈至 Microsoft Store 之後,不應該變更應用程式的標識碼;這麼做將會中斷 [開始] 畫面上的磚位置。 | 長度介於 1 到 64 個字元之間的 ASCII 字串。 此字串包含以英文句點分隔的英數欄位。 每個欄位的開頭必須為 ASCII 字母字元。 您無法使用這些做為網域值:CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。 | Yes | |
uap10:Parameters | 包含要傳遞至應用程式的命令行參數。 僅支援具有套件身分識別的 桌面應用程式 (請參閱 部署概觀) 。 | 長度介於 1 到 32767 個字元之間的字串,其開頭和結尾為非空格符。 | No | |
ResourceGroup | 標記,用來將擴充功能啟用群組在一起,以供資源管理之用 (例如 CPU 和記憶體) 。 請參閱Application@ResourceGroup中的一節。 | 長度介於 1 到 255 個字元之間的英數位元字串。 必須以字母開頭。 | No | |
uap10:RuntimeBehavior | 指定應用程式的運行時間行為。 “packagedClassicApp”—WinUI 3 應用程式或 傳統型橋接器 應用程式 (Centennial) 。 對於 WinUI 3 應用程式,通常會使用 TrustLevel 為 “mediumIL” (,但 “appContainer” 也是) 的選項。 “win32App”—任何其他類型的 Win32 應用程式,包括封裝外部位置的應用程式。 通常具有 「mediumIL」 (的 TrustLevel ,但 「appContainer」 也是) 的選項。 “windowsApp”— 通用 Windows 平台 (UWP) 應用程式。 一律會搭配 「appContainer」 的 TrustLevel 。 所有共用通用屬性 () 中 appxmanifest.xml 宣告的一些屬性,並以封裝身分識別和應用程式身分識別的程序執行。 您可以將它們視為位於兩個群組中。 一個群組是UWP app (「windowsApp」) ;另一個是具有 main 或 WinMain (“packagedClassicApp” 或 “win32App”) 的 Windows.exe 。 第二個群組也稱為 傳統型應用程式。 |
具有下列其中一個值的字串:“packagedClassicApp”、“win32App” 或 “windowsApp”。 | No | |
StartPage | 處理擴充點的網頁 | 長度介於 1 到 256 個字元之間的字串,不能包含下列字元:< 、、、| : " > 、、 ? 或 。* 任何有效的 URI 或 IRI (非 ASCII 版本的 URI) 。 |
No | |
desktop4:Subsystem | 指出應用程式是標準 UWP 應用程式還是 UWP 控制台應用程式。 | 可以是下列任何值的字串: 主控台 或 視窗。 | No | |
uap10:Subsystem | 指出應用程式是標準 UWP 應用程式還是 UWP 控制台應用程式。 | 可以是下列任何值的字串: 主控台 或 視窗。 | No | |
desktop4:SupportsMultipleInstances | 表示支援多個個別 UWP 應用程式的實例。 如需詳細資訊,請參閱一節。 | 布林值。 | No | |
uap10:SupportsMultipleInstances | 表示支援多個個別 UWP 應用程式的實例。 如需詳細資訊,請參閱一節。 | 布林值。 | No | |
uap10:TrustLevel | 指定應用程式的信任層級 “mediumIL”— 應用程式完全 信任;其進程會以 中 度完整性層級執行 (請參閱 強制完整性控制) 。 需要「完全信任許可權等級」受限制的功能 (請參閱 應用程式功能宣告) 。 “appContainer”— 應用程式會在輕量型應用程式容器中執行, (請參閱 MSIX AppContainer 應用程式) ;其進程會以低完整性層級執行。 您也可以讓未封裝的應用程式在 AppContainer 中執行。 |
具有下列其中一個值的字串:“mediumIL” 或 “appContainer”。 | No | |
uap16:BaseNamedObjectsIsolation | 啟用應用程式的BaseNameObject (BNO) 隔離。 | 可以是下列任何值的字串: package 或 none。 | No | |
uap17:BaseNamedObjectsIsolation | 啟用應用程式的BaseNameObject (BNO) 隔離。 | 可以是下列任何值的字串: package 或 none。 | No | |
desktop11:AppLifecycleBehavior | 允許應用程式覆寫與延伸模組運行時間行為相關聯的生命周期行為。 除非另有指定,否則具有 「windowsApp」 RuntimeBehavior 的應用程式或擴充功能隱含地具有 “systemManaged” 的 AppLifecycleBehavior 。 除非另有指定,否則具有 “packagedClassicApp” 或 “win32App” RuntimeBehavior 的應用程式或擴充功能隱含地具有 “unmanaged” 的 AppLifecycleBehavior 。 | 下列其中一個值:「systemManaged」、“Unmanaged” | No | |
uap11:CurrentDirectoryPath | 指定應用程式進程啟動時的初始目錄。 此屬性支持宏。 如需詳細資訊,請參閱 套件指令清單架構中的宏。 | 無法包含下列字元的選擇性字串:< 、、、| ? 、 或 * > 。 > |
No | |
uap11:Parameters | 此屬性繼承自基底延伸模組語法,不適用於 com4 延伸模組。 除了語法驗證之外,會忽略此值。 此屬性支持宏。 如需詳細資訊,請參閱 套件指令清單架構中的宏。 | 長度介於 1 到 32767 個字元的選擇性字串,其開頭和結尾為非空格符。 | No |
子元素
子項目 | 描述 |
---|---|
uap:ApplicationContentUriRules | 指定如果應用程式有權存取此功能) 和剪貼簿的存取權,Web 內容中的哪些頁面可以存取系統的地理位置裝置 (。 |
延伸模組 (類型:CT_ApplicationExtensions) | 定義應用程式的一或多個擴充點。 |
uap7:Properties | 指定應用程式的屬性。 |
uap:VisualElements | 描述應用程式的視覺層面:其預設磚、標誌影像、文字和背景色彩、初始螢幕方向、啟動顯示畫面,以及鎖定螢幕磚外觀。 |
父元素
父元素 | 描述 |
---|---|
應用程式 | 代表組成套件的一或多個應用程式。 |
備註
Application 元素包含與應用程式相關擴充點通用的屬性。 其他擴充點會使用此資訊來取得應用程式的相關信息。 應用程式 屬性也會在應用程式實例的啟動和管理中作為 啟用資訊 , (換句話說,它們會描述如何啟動進程,以及哪些行為) 。
StartPage 屬性僅適用於 JavaScript 應用程式。 如果未指定 StartPage ,則必須 (指定 可執行檔 和 EntryPoint 屬性,而且僅適用於 C#、C++ 或 VB 應用程式) 。
uap10 是在 Windows 10 2004 版 2004 (10.0 中引進的;組建 19041)
uap10
Windows 10 2004 (10.0 版引進了 和 uap10:TrustLevel
) 命名空間 uap10:RuntimeBehavior
(;組建 19041) 。 如果您的套件安裝在早於該版本的系統上,則您必須提供屬性的對等組合, (請參閱下一節) ,否則啟用資訊將會不完整,而且安裝將會失敗。
但是,如果您的套件具有 <TargetDeviceFamily MinVersion="10.0.19041.0">
或更新版本,則它只會安裝在支援 uap10
命名空間的系統上。 在此情況下,您應該將 uap10:RuntimeBehavior
和 uap10:TrustLevel
屬性喜好設定為較舊的對等組合, (請參閱下一節) 。
啟用資訊屬性的組合
您可以在 Application 元素上指定啟用資訊屬性;您也可以選擇性地在應用程式範圍 Extension 元素上指定它們。 如果未在 延伸模組上指定它們,則會繼承自父 應用程式。 您可以以組合方式指定這些屬性,例如 EntryPoint、 RuntimeBehavior 和 TrustLevel 具有重疊的意義,而且這些屬性會以組合方式指定 (和/或繼承) 。 以下是一些有效的啟用資訊屬性組合。
- 可執行檔、 uap10:RuntimeBehavior=“packagedClassicApp”、 uap10:TrustLevel=[“mediumIL” 或 “appContainer” (預設值,如果省略) ]
- 可執行檔, uap10:RuntimeBehavior=“win32App”, uap10:TrustLevel=“mediumIL” (以取得其他需求,請參閱本主題稍早的 uap10:RuntimeBehavior) 。
- 可執行檔, EntryPoint=“windows.fullTrustApplication” (相當於 uap10:RuntimeBehavior=“packagedClassicApp”, uap10:TrustLevel=“mediumIL”)
- 可執行檔, EntryPoint=“windows.partialTrustApplication” (相當於 uap10:RuntimeBehavior=“packagedClassicApp”, uap10:TrustLevel=“appContainer”)
- 可執行檔, EntryPoint=“<任何其他>專案”
如您所見,如果您的目標系統不支援 uap10
命名空間,您可以改為指定 EntryPoint 屬性。 同樣地,舊系統上 的 uap10:TrustLevel=“appContainer”' 對等專案是 EntryPoint=“windows.partialTrustApplication”。
但同時指定 uap10:RuntimeBehavior/uap10:TrustLevel 和 EntryPoint 是多餘的。 但是,如果您這樣做,則如果發生衝突,就會發生錯誤。
通用 Windows 平台 (UWP) 應用程式啟用需要 EntryPoint。 因此,如果您指定 可執行檔 和 uap10:RuntimeBehavior=“windowsApp” (且沒有 EntryPoint) ,則這是錯誤。 在此情況下, EntryPoint 會指定 「windows.fullTrustApplication」 和 「windows.partialTrustApplication」 以外的專案;和這兩個以外的值已經說出 與 uap10:RuntimeBehavior=“windowsApp” 相同的內容。 因此 ,在此案例中,uap10:RuntimeBehavior 會是多餘的,而且您會指定 可執行檔 和 EntryPoint。
不支援設定 uap10:RuntimeBehavior=“win32App” 和 uap10:TrustLevel=“appContainer”。
設定 uap10:TrustLevel="mediumIL"
時 uap10:RuntimeBehavior="windowsApp"
需要 Microsoft.coreAppActivation_8wekyb3d8bbwe
自定義功能。
如果 uap10:TrustLevel="mediumIL"
和 EntryPoint
是 或 "windows.partialTrustApplication"
以外的"windows.fullTrustApplication"
任何其他值,則這也是 true。
您可以在自訂功能中深入瞭解此自定義 功能。
多實例應用程式的重要注意事項
- 如果應用程式在 Application 元素內宣告 SupportsMultipleInstances,則所有前景延伸模組也會是多重實例。
- 如果應用程式在 Application 元素內宣告 SupportsMultipleInstances,則不需要在 Extensions 層級宣告 (例如,在 BackgroundTasks 或 AppService 元素) 。
- 應用程式應該只會在背景工作、背景音訊或應用程式服務上宣告 SupportsMultipleInstances 。
- 控制台應用程式一律會是多重實例,而且必須明確宣告 SupportsMultipleInstances。
- 應用程式可以使用指令清單中的 ResourceGroup 宣告,將多個背景工作分組到相同的主機。 這會與多重執行個體衝突,其中的每個啟用都會分別進入不同的主機。 因此,應用程式無法在指令清單中宣告 SupportsMultipleInstances 和 ResourceGroup 。
如需使用 SupportsMultipleInstances 屬性來支援多個個別 UWP 應用程式實例的詳細資訊,請參閱 Create 多重實例通用 Windows App。
規格需求
Item | 值 |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/uap/windows10 |
desktop4 屬性 | http://schemas.microsoft.com/appx/manifest/desktop/windows10/4 |
uap10 屬性 | http://schemas.microsoft.com/appx/manifest/uap/windows10/10 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應