应用程序 (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 字母字符开头。 不能将这些值用作字段值: CON、 PRN、 AUX、 NUL、 COM1、 COM2、 COM3、 COM4、 COM5、 COM6、 COM7、 COM8、 COM9、 LPT1、 LPT2、 LPT3、 LPT4、 LPT5、 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 应用,包括打包到外部位置的应用。 通常使用 TrustLevel 的“mediumIL” (但“appContainer”也是) 选项。 “windowsApp”-通用 Windows 平台 (UWP) 应用。 始终使用“appContainer”的 TrustLevel 。 所有属性都共享 () 中 appxmanifest.xml 声明的一些属性,并作为具有包标识和应用程序标识的进程运行。 你可以将它们视为在两个组中。 一组是 UWP 应用 (“windowsApp”) ;另一个是具有 main 或 WinMain (“packagedClassicApp”或“win32App”) 的 Windows.exe 。 第二组也称为 桌面应用。 |
具有以下值之一的字符串:“packagedClassicApp”、“win32App”或“windowsApp”。 | 否 | |
StartPage | 处理扩展点的网页。 | 一个字符串,其值长度在 1 到 256 个字符之间,不能包含以下字符:< 、、> : 、" 、 | ? 或 * 。 任何有效的 URI 或 IRI (非 ASCII 版本的 URI) 。 |
否 | |
desktop4:Subsystem | 指示应用是标准 UWP 应用还是 UWP 控制台应用。 | 可以是以下任一值的字符串: console 或 windows。 | 否 | |
uap10:Subsystem | 指示应用是标准 UWP 应用还是 UWP 控制台应用。 | 可以是以下任一值的字符串: console 或 windows。 | 否 | |
desktop4:SupportsMultipleInstances | 指示支持多个单独的 UWP 应用实例。 有关详细信息,请参阅备注部分。 | 布尔值。 | 否 | |
uap10:SupportsMultipleInstances | 指示支持多个单独的 UWP 应用实例。 有关详细信息,请参阅备注部分。 | 布尔值。 | 否 | |
uap10:TrustLevel | 指定应用的信任级别 “mediumIL”- 应用 完全信任;其进程运行的完整性级别 为中等 (请参阅 强制完整性控制) 。 需要“完全信任权限级别”受限功能 (请参阅 应用功能声明) 。 “appContainer”- 应用在轻型应用容器中运行 (请参阅 MSIX AppContainer 应用) ;其进程以 较低的完整性级别运行。 未打包的应用也可以在 AppContainer 中运行。 |
具有以下值之一的字符串:“mediumIL”或“appContainer”。 | 否 | |
uap16:BaseNamedObjectsIsolation | 为应用启用 BaseNameObject (BNO) 隔离。 | 一个字符串,可以是以下任何值: package 或 none。 | 否 | |
uap17:BaseNamedObjectsIsolation | 为应用启用 BaseNameObject (BNO) 隔离。 | 一个字符串,可以是以下任何值: package 或 none。 | 否 | |
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: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) 的说明。
- Executable, 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。 因此,如果指定 可执行文件 和 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,则无需在扩展级别声明它 (例如,在 BackgroundTasks 或 AppService 元素) 。
- 应用应仅对后台任务、后台音频或应用服务声明 SupportsMultipleInstances 。
- 控制台应用将始终是多实例的,并且必须显式声明 SupportsMultipleInstances。
- 应用可以使用清单中的 ResourceGroup 声明将多个后台任务分组到同一主机中。 这与多实例相冲突,在多实例中,每个激活操作会进入单独的主机。 因此,应用无法在清单中同时声明 SupportsMultipleInstances 和 ResourceGroup 。
有关使用 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 |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈