共用方式為


應用程式 (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 字母字元開頭。 您無法將這些值當做域值使用:CONPRNAUXNULCOM1COM2COM3COM45COM6COM7COM8COM9LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9 是的
uap10:Parameters 包含要傳遞至應用程式的命令行參數。 僅支援具有套件身分識別 傳統型應用程式(請參閱 部署概觀)。 長度介於 1 到 32767 個字元的字串,開頭和結尾有非空格符。
ResourceGroup 標記,用來將擴充功能啟用分組在一起,以供資源管理之用(例如 CPU 和記憶體)。 請參閱 Application@ResourceGroup中的<<備註> 一節。 長度介於 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,則必須指定 ExecutableEntryPoint 属性(且僅適用於 C#、C++ 或 VB 應用程式)。

uap10 已在 Windows 10 版本 2004 中引進 (10.0;組建 19041)

windows 10 版本 2004 (10.0) 引進了 uap10 命名空間 (適用於 uap10:RuntimeBehavioruap10:TrustLevel;組建 19041)。 如果您的套件安裝在比這還舊的系統上,則您需要提供對等的屬性組合(請參閱下一節),否則啟用資訊將會不完整,安裝將會失敗。

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

啟用資訊屬性的組合

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

  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:TrustLevel 和同時 EntryPoint,這是多餘的。 但是,如果你這樣做,那麼如果他們相互矛盾,這是一個錯誤。

通用 Windows 平臺 (UWP) 應用程式啟用需要 EntryPoint。 因此,如果您指定 Executableuap10:RuntimeBehavior=“windowsApp” (沒有 EntryPoint),則這是錯誤。 在此情況下,EntryPoint 會指定 “windows.fullTrustApplication” 和 “windows.partialTrustApplication” 以外的專案;和這兩個以外的值已經說出與 uap10:RuntimeBehavior =“windowsApp” 相同的專案。 因此,在此情況下,uap10:RuntimeBehavior 會是多餘的,而且您會指定 ExecutableEntryPoint

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

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