应用程序(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 字母字符开头。 不能将这些值用作字段值:CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4LPT5、LPT6、LPT7、LPT8和 LPT9。 | 是的 | |
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 .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 | 允许应用替代与扩展的运行时行为关联的生命周期行为。 具有 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:RuntimeBehavior
和 uap10:TrustLevel
)在 Windows 10 版本 2004(10.0) 中引入内部版本 19041)。 如果包安装在早于该版本的系统上,则需要提供等效的属性组合(请参阅以下部分),否则激活信息将不完整,安装将失败。
但是,如果包具有 <TargetDeviceFamily MinVersion="10.0.19041.0">
或更高版本,则它仅安装在支持 uap10
命名空间的系统上。 在这种情况下,应使用 uap10:RuntimeBehavior
和 uap10:TrustLevel
属性,而不是较旧的等效组合(请参阅以下部分)。
激活信息属性的组合
可以在 Application 元素上指定激活信息属性;(可选)可以在应用范围 扩展 元素上指定它们。 如果未在 扩展上指定它们,则继承自父 应用程序。 在组合中指定这些属性,例如,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。 因此,如果指定 Executable 和 uap10:RuntimeBehavior=“windowsApp”(没有 EntryPoint),则这是一个错误。 在这种情况下,EntryPoint 将指定“windows.fullTrustApplication”和“windows.partialTrustApplication”以外的其他内容;和这两个值以外的值已经说与 uap10:RuntimeBehavior=“windowsApp”相同。 因此,在这种情况下,uap10:RuntimeBehavior 将是冗余的,你将指定 Executable 和 EntryPoint。
不支持 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 级别(例如,在 BackgroundTasks 或 AppService 元素中)声明它。
- 应用应仅声明后台任务、后台音频或应用服务的 SupportsMultipleInstances。
- 控制台应用始终是多实例的,必须显式声明 SupportsMultipleInstances。
- 应用可以使用清单中的 ResourceGroup 声明将多个后台任务分组到同一主机中。 这与多实例冲突,其中每个激活进入单独的主机。 因此,应用不能在清单中声明 SupportsMultipleInstances 和 ResourceGroup。
有关使用 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 |