應用程式 (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 字母字元。 您無法使用這些做為域值:CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9、LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9 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」) ;另一個是具有 mainWinMain (“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) 隔離。 可以是下列任何值的字串: packagenone No
uap17:BaseNamedObjectsIsolation 啟用應用程式的BaseNameObject (BNO) 隔離。 可以是下列任何值的字串: packagenone 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)

uap10Windows 10 2004 (10.0 版中引進了 和 uap10:TrustLevel) 命名空間 uap10:RuntimeBehavior (;組建 19041) 。 如果您的套件安裝在早於該版本的系統上,則您必須提供相等的屬性組合, (請參閱下一節) ,否則啟用資訊將會不完整,而且安裝將會失敗。

但是,如果您的套件具有 <TargetDeviceFamily MinVersion="10.0.19041.0">或更高版本,則它只會安裝在支援命名空間的 uap10 系統上。 在此情況下,您應該使用 uap10:RuntimeBehavioruap10:TrustLevel 屬性來喜好設定為較舊的對等組合, (請參閱下一節) 。

啟用資訊屬性的組合

您可以在 Application 元素上指定啟用資訊屬性;而且您可以選擇性地在應用程式範圍 Extension 元素上指定它們。 如果未在 延伸模組上指定它們,則會繼承自父 應用程式。 您可以以組合方式指定這些屬性,例如 EntryPointRuntimeBehaviorTrustLevel 具有重疊的意義,而且這些屬性會以組合方式指定 (和/或繼承) 。 以下是啟用資訊屬性的一些有效組合。

  1. 可執行檔uap10:RuntimeBehavior=“packagedClassicApp”, uap10:TrustLevel=[“mediumIL” 或 “appContainer” (省略) ]
  2. 可執行檔uap10:RuntimeBehavior=“win32App”, uap10:TrustLevel=“mediumIL” (以取得其他需求,請參閱本主題稍早的 uap10:RuntimeBehavior) 。
  3. 可執行檔EntryPoint=“windows.fullTrustApplication” (相當於 uap10:RuntimeBehavior=“packagedClassicApp”, uap10:TrustLevel=“mediumIL”)
  4. 可執行檔EntryPoint=“windows.partialTrustApplication” (相當於 uap10:RuntimeBehavior=“packagedClassicApp”, uap10:TrustLevel=“appContainer”)
  5. 可執行檔EntryPoint=“<任何其他>專案”

如您所見,如果您的目標系統不支援 uap10 命名空間,您可以改為指定 EntryPoint 屬性。 同樣地,舊系統上 的 uap10:TrustLevel=“appContainer”' 相當於 EntryPoint=“windows.partialTrustApplication”。

同時指定 uap10:RuntimeBehavior/uap10:TrustLevelEntryPoint 是多餘的,但如果您這麼做,則如果發生衝突,就會發生錯誤。

通用 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 (層級宣告 ,例如,在 BackgroundTasksAppService 元素) 。
  • 應用程式應該只在背景工作、背景音訊或應用程式服務上宣告 SupportsMultipleInstances
  • 控制台應用程式一律會是多重實例,而且必須明確宣告 SupportsMultipleInstances
  • 應用程式可以使用指令清單中的 ResourceGroup 宣告,將多個背景工作分組到相同的主機。 這會與多重執行個體衝突,其中的每個啟用都會分別進入不同的主機。 因此,應用程式無法在指令清單中宣告 SupportsMultipleInstancesResourceGroup

如需使用 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