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