应用程序(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,则还必须指定 可执行文件 属性。 如果指定 EntryPoint,则不得指定 StartPage 属性。 长度为 1 到 256 个字符的字符串,表示处理扩展的任务。 这通常是 Windows 运行时类型的完全命名空间限定名称;但它可以是特殊值之一“windows.fullTrustApplication”或“windows.partialTrustApplication”。 如果未指定 EntryPoint,则改用为应用定义的 EntryPoint。
可执行文件 应用的默认启动可执行文件。 指定的文件必须存在于包中。 在较旧的系统上(请参阅备注部分了解详细信息),如果指定 可执行文件,则还必须指定 EntryPoint 属性。 如果指定 可执行文件,则必须 指定 StartPage 属性。 长度为 1 到 256 个字符的字符串,必须以 .exe 结尾,不能包含以下字符:<>:"|?*
uap10:HostId 当前应用的主机应用的应用 ID。 此属性用于托管的应用。 长度介于 1 到 255 个字符之间的字母数字字符串。 必须以字母开头。
ID 包中应用程序的唯一标识符。 此值有时称为包相对应用标识符(PRAID)。 ID 在包中是唯一的,但不是全局的。 系统上可能有另一个使用相同 ID 的包。 同一个 ID 不能在同一个包中多次使用。 使用 Visual Studio 模板时,此属性的默认值 应用。 开发人员应在清单中手动更改此项。 应用发布到 Microsoft 应用商店后,不应更改应用的标识符;这样做将中断磁贴在“开始”屏幕上的位置。 长度介于 1 到 64 个字符之间的 ASCII 字符串。 此字符串包含用句点分隔的 alpha 数字字段。 每个字段必须以 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 应用,包括打包了外部位置的应用,并且必须使用“mediumIL”TrustLevel

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

所有共享通用属性(一些在 appxmanifest.xml中声明),并作为包标识和应用程序标识的进程运行。 你可以将其视为处于两个组中。 一个组是 UWP 应用(“windowsApp”):另一种是 Windows .exeWinMain(“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 允许应用替代与扩展的运行时行为关联的生命周期行为。 具有 RuntimeBehavior“windowsApp”的应用或扩展隐式具有 AppLifecycleBehavior“systemManaged”,除非另有指定。 RuntimeBehavior“packagedClassicApp”或“win32App”的应用或扩展隐式 AppLifecycleBehavior“非托管”,除非另有指定。 以下值之一:“systemManaged”、“unmanaged”。
uap11:CurrentDirectoryPath 指定启动应用程序进程时的初始目录。 此属性支持宏。 有关详细信息,请参阅包清单架构中的 宏。 不能包含以下字符的可选字符串:<>|?*。 >
uap11:Parameters 此属性继承自基本扩展语法,不适用于 com4 扩展。 除了语法验证之外,此值将被忽略。 此属性支持宏。 有关详细信息,请参阅包清单架构中的 宏。 一个可选字符串,其长度在 1 到 32767 个字符之间,其开头和结尾有非空格字符。

子元素

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

父元素

Parent 元素 描述
应用程序 表示构成包的一个或多个应用。

言论

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 元素上指定激活信息属性;(可选)可以在应用范围 扩展 元素上指定它们。 如果未在 扩展上指定它们,则继承自父 应用程序。 在组合中指定这些属性,例如,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"以外的任何其他值,则这也是事实。

可以在 自定义功能中详细了解此自定义功能。

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

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

有关使用 SupportsMultipleInstances 属性支持多个、单独的 UWP 应用实例的详细信息,请参阅 创建多实例通用 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