應用程式 (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?
<!-- 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:子系統 | 指出應用程式是否為標準 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 |
子元素
子項目 | 描述 |
---|---|
uap:ApplicationContentUriRules | 指定如果應用程式有權存取此功能,) 和剪貼簿的存取權,Web 內容中的哪些頁面可以存取系統的地理位置裝置 (。 |
擴充功能 (類型:CT_ApplicationExtensions) | 定義應用程式的一或多個擴充點。 |
uap7:Properties | 指定應用程式的屬性。 |
uap:VisualElements | 描述應用程式的視覺層面:其預設磚、標誌影像、文字和背景色彩、初始螢幕方向、啟動顯示畫面和鎖定畫面磚外觀。 |
父元素
父元素 | 描述 |
---|---|
應用程式 | 代表組成套件的一或多個應用程式。 |
備註
Application 元素包含與應用程式相關的擴充點通用屬性。 其他擴充性點會使用此資訊來取得應用程式的相關信息。 應用程式 屬性也會在 (應用程式實例的啟動和管理中做為 啟用資訊 ,換句話說,它們會描述如何啟動進程,以及哪些行為) 。
StartPage 屬性僅適用於 JavaScript 應用程式。 如果未指定 StartPage ,則必須指定 可執行檔 和 EntryPoint 屬性 (,且僅適用於 C#、C++或 VB 應用程式) 。
uap10 是在 2004 版 Windows 10 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"
和 是 或 "windows.partialTrustApplication"
以外的任何其他值"windows.fullTrustApplication"
,EntryPoint
也是如此。
您可以在自訂功能中深入瞭解此自定義 功能。
多實例應用程式的重要注意事項
- 如果應用程式在 Application 元素內宣告 SupportsMultipleInstances,則所有前景延伸模組也會是多重實例。
- 如果應用程式在 Application 元素內宣告 SupportsMultipleInstances,則不需要在 Extensions (層級宣告 ,例如,在 BackgroundTasks 或 AppService 元素) 。
- 應用程式應該只在背景工作、背景音訊或應用程式服務上宣告 SupportsMultipleInstances 。
- 控制台應用程式一律會是多重實例,而且必須明確宣告 SupportsMultipleInstances。
- 應用程式可以使用指令清單中的 ResourceGroup 宣告,將多個背景工作分組到相同的主機。 這會與多重執行個體衝突,其中的每個啟用都會分別進入不同的主機。 因此,應用程式無法在指令清單中宣告 SupportsMultipleInstances 和 ResourceGroup 。
如需使用 SupportsMultipleInstances 屬性來支援多個 UWP app 實例的詳細資訊,請參閱 建立多實例通用 Windows 應用程式。
規格需求
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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應