应用程序 (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 可激活的类 ID (例如,“Office.Winword.Class”) 、“windows.fullTrustApplication”或“windows.partialTrustApplication”。 如果指定 EntryPoint,则还必须指定 Executable 属性。 如果指定 EntryPoint,则不得指定 StartPage 属性。 长度介于 1 到 256 个字符之间的字符串,表示处理扩展的任务。 这通常是Windows 运行时类型的完全命名空间限定名称;但它可以是特殊值“windows.fullTrustApplication”或“windows.partialTrustApplication”之一。 如果未指定 EntryPoint,则改用为应用定义的 EntryPoint。
可执行文件 应用的默认启动可执行文件。 指定的文件必须存在于包中。 在较旧的系统上 (请参阅备注部分,了解) 的详细信息,如果指定 Executable,则还必须指定 EntryPoint 属性。 如果指定 Executable,则 不得 指定 StartPage 属性。 长度介于 1 到 256 个字符之间的字符串,必须以 .exe 结尾,并且不能包含以下字符:<、、>:"|?、 或 *
uap10:HostId 当前应用的主机应用的应用 ID。 此属性用于 托管应用 长度介于 1 到 255 个字符之间的字母数字字符串。 必须以字母开头。
Id 包中应用程序的唯一标识符。 此值有时称作“包相对应用标识符”(PRAID)。 ID 在包中是唯一的,但不是全局的。 系统中可以有另一个包使用相同的 ID。 同一 ID 不能在同一包中多次使用。 使用 Visual Studio 模板时,此属性的默认值为 App。 开发人员应在清单中手动更改此设置。 应用发布到 Microsoft Store 后,不应更改应用的标识符;这样做会中断磁贴在“开始”屏幕上的位置。 长度介于 1 到 64 个字符之间的 ASCII 字符串。 此字符串包含句点分隔的字母数字字段。 每个字段必须以 ASCII 字母字符开头。 不能将这些值用作字段值: CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9
uap10:Parameters 包含要传递给应用的命令行参数。 仅支持具有包标识的 桌面应用 (请参阅 部署概述) 。 长度介于 1 到 32767 个字符之间的字符串,开头和结尾处有一个非空格字符。
ResourceGroup 用于将扩展激活分组到一起以进行资源管理 (例如 CPU 和内存) 的标记。 请参阅 Application@ResourceGroup 中的“备注”部分。 长度介于 1 到 255 个字符之间的字母数字字符串。 必须以字母开头。
uap10:RuntimeBehavior 指定应用的运行时行为。

“packagedClassicApp”-WinUI 3 应用或 (Centennial) 桌面桥应用。 对于 WinUI 3 应用,通常使用 TrustLevel 的“mediumIL” (但“appContainer”也是) 选项。

“win32App”-任何其他类型的 Win32 应用,包括打包到外部位置的应用。 通常使用 TrustLevel 的“mediumIL” (但“appContainer”也是) 选项。

“windowsApp”-通用 Windows 平台 (UWP) 应用。 始终使用“appContainer”的 TrustLevel

所有属性都共享 () 中 appxmanifest.xml 声明的一些属性,并作为具有包标识和应用程序标识的进程运行。 你可以将它们视为在两个组中。 一组是 UWP 应用 (“windowsApp”) ;另一个是具有 mainWinMain (“packagedClassicApp”或“win32App”) 的 Windows.exe。 第二组也称为 桌面应用
具有以下值之一的字符串:“packagedClassicApp”、“win32App”或“windowsApp”。
StartPage 处理扩展点的网页。 一个字符串,其值长度在 1 到 256 个字符之间,不能包含以下字符:<、、>:"|?*。 任何有效的 URI 或 IRI (非 ASCII 版本的 URI) 。
desktop4:Subsystem 指示应用是标准 UWP 应用还是 UWP 控制台应用。 可以是以下任一值的字符串: consolewindows
uap10:Subsystem 指示应用是标准 UWP 应用还是 UWP 控制台应用。 可以是以下任一值的字符串: consolewindows
desktop4:SupportsMultipleInstances 指示支持多个单独的 UWP 应用实例。 有关详细信息,请参阅备注部分。 布尔值。
uap10:SupportsMultipleInstances 指示支持多个单独的 UWP 应用实例。 有关详细信息,请参阅备注部分。 布尔值。
uap10:TrustLevel 指定应用的信任级别

“mediumIL”- 应用 完全信任;其进程运行的完整性级别 为中等 (请参阅 强制完整性控制) 。 需要“完全信任权限级别”受限功能 (请参阅 应用功能声明) 。

“appContainer”- 应用在轻型应用容器中运行 (请参阅 MSIX AppContainer 应用) ;其进程以 较低的完整性级别运行。 未打包的应用也可以在 AppContainer 中运行。
具有以下值之一的字符串:“mediumIL”或“appContainer”。
uap16:BaseNamedObjectsIsolation 为应用启用 BaseNameObject (BNO) 隔离。 一个字符串,可以是以下任何值: packagenone
uap17:BaseNamedObjectsIsolation 为应用启用 BaseNameObject (BNO) 隔离。 一个字符串,可以是以下任何值: packagenone
desktop11:AppLifecycleBehavior 允许应用替代与扩展的运行时行为关联的生命周期行为。 除非另行指定, 否则 RuntimeBehavior 为“windowsApp”的应用或扩展隐式具有“systemManaged”的 AppLifecycleBehavior 。 除非另行指定,否则 具有 RuntimeBehavior 的“packagedClassicApp”或“win32App”的应用或扩展隐式具有 AppLifecycleBehavior 为“非托管”。 以下值之一:“systemManaged”、“unmanaged”。
uap11:CurrentDirectoryPath 指定启动应用程序进程时的初始目录。 此属性支持宏。 有关详细信息,请参阅 包清单架构中的宏 不能包含以下字符的可选字符串: <>|?*。 >
uap11:Parameters 此属性继承自基本扩展语法,不适用于 com4 扩展。 除语法验证外,此值将被忽略。 此属性支持宏。 有关详细信息,请参阅 包清单架构中的宏 一个可选字符串,其值长度介于 1 到 32767 个字符之间,开头和结尾处有一个非空格字符。

子元素

子元素 描述
uap:ApplicationContentUriRules 指定 Web 上下文中的哪些页面有权访问系统的地理位置设备, (应用是否有权访问此功能) 并访问剪贴板。
扩展 (类型:CT_ApplicationExtensions) 定义应用的一个或多个扩展点。
uap7:Properties 指定应用的属性。
uap:VisualElements 描述应用的视觉方面:其默认磁贴、徽标图像、文本和背景色、初始屏幕方向、初始屏幕和锁屏磁贴外观。

父元素

父元素 说明
应用程序 表示构成包的一个或多个应用。

注解

Application 元素包含与应用相关的扩展点通用的属性。 其他扩展点使用此信息来获取有关应用的信息。 应用程序 属性还用作启动和管理应用实例的 激活信息 , (换句话说,它们描述如何启动进程,以及) 的行为。

StartPage 属性仅适用于 JavaScript 应用。 如果未指定 StartPage ,则必须 (指定 可执行文件EntryPoint 属性,并且仅适用于 C#、C++或 VB 应用) 。

uap10 是在 Windows 10 版本 2004 (10.0 中引入的;内部版本 19041)

uap10和) 的命名空间 (uap10:RuntimeBehavioruap10:TrustLevel 在 Windows 10 版本 2004 (10.0 中引入;内部版本 19041) 。 如果包安装在早于该版本的系统上,则需要提供等效的属性组合 (请参阅以下部分) ,否则激活信息将不完整,安装将失败。

但是,如果包具有 <TargetDeviceFamily MinVersion="10.0.19041.0">或更高版本,则它仅在支持 命名空间的 uap10 系统上安装。 在这种情况下,应使用 uap10:RuntimeBehavioruap10:TrustLevel 属性,而不是较旧的等效组合, (请参阅以下部分) 。

激活信息属性的组合

可以在 Application 元素上指定激活信息属性;可以选择在应用范围 扩展 元素上指定它们。 如果未在 扩展中指定它们,则它们继承自父 应用程序。 可以在组合中指定这些属性,例如 ,EntryPointRuntimeBehaviorTrustLevel 具有重叠的含义,它们指定 (和/或继承的组合) 。 下面是激活信息属性的一些有效组合。

  1. 可执行文件、uap10:RuntimeBehavior=“packagedClassicApp”、uap10:TrustLevel=[“mediumIL”或“appContainer” (默认值(如果省略) ]
  2. 可执行文件、uap10:RuntimeBehavior=“win32App”、uap10:TrustLevel=“mediumIL” (,请参阅本主题前面的 uap10:RuntimeBehavior) 的说明。
  3. ExecutableEntryPoint=“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" while uap10:RuntimeBehavior="windowsApp" 需要 Microsoft.coreAppActivation_8wekyb3d8bbwe 自定义功能。

如果 uap10:TrustLevel="mediumIL"EntryPoint 是 或 "windows.partialTrustApplication"以外的"windows.fullTrustApplication"任何其他值,则也是如此。

可以在自定义 功能中阅读有关此自定义功能的详细信息。

有关多实例应用的重要说明

  • 如果应用在 Application 元素中声明 SupportsMultipleInstances,则所有前台扩展也将是多实例的。
  • 如果应用在 Application 元素中声明 SupportsMultipleInstances,则无需在扩展级别声明它 (例如,在 BackgroundTasksAppService 元素) 。
  • 应用应仅对后台任务、后台音频或应用服务声明 SupportsMultipleInstances
  • 控制台应用将始终是多实例的,并且必须显式声明 SupportsMultipleInstances
  • 应用可以使用清单中的 ResourceGroup 声明将多个后台任务分组到同一主机中。 这与多实例相冲突,在多实例中,每个激活操作会进入单独的主机。 因此,应用无法在清单中同时声明 SupportsMultipleInstancesResourceGroup

有关使用 SupportsMultipleInstances 属性支持多个单独的 UWP 应用实例的详细信息,请参阅Create多实例通用 Windows 应用

要求

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