Win应用清单文件

1. Package.appxmanifest 文件概述

Package.appxmanifest 文件是 Windows 应用程序的清单文件,包含有关应用程序的元数据和配置信息。它定义了应用程序的名称、版本、描述、图标、权限等信息。Package.appxmanifest 文件是 Windows 应用程序打包和部署的核心部分。

在VS2022中创建 WinUI3 项目时,Package.appxmanifest 文件会自动生成。可以在项目的根目录下找到该文件。 该文件是 XML 格式的,可以使用文本编辑器或 Visual Studio 的图形化界面进行编辑。

2. Package.appxmanifest 文件的结构

2.1 应用资产

  1. 显示名称:应用程序的名称,在 Windows 开始菜单和任务栏中显示。
  2. 入口点:指定应用启动时要执行的类或文件。默认为 $targetentrypoint$,通常在 WinUI 3 应用中指向 App.xaml.cs 文件中的 OnLaunched 方法。
  3. 默认语言:指定应用程序的默认语言。可以使用语言代码(如 en-USzh-CN 等)来表示不同的语言。
  4. 说明:应用程序的简短描述,通常在 Windows 应用商店中显示。它应该清晰地传达应用程序的功能和特点。
  5. 信任级别:指定应用的安全上下文。
    1. AppContainer:沙盒环境,限制应用访问系统资源,提供更高的安全性。
    2. MediumIL:较高权限,允许访问更多系统资源。
  6. 运行时行为:
    1. WindowsApp:传统 UWP 应用程序的运行时行为,遵循 Windows 应用生命周期管理。
    2. PackagedClassicApp:打包的传统应用程序,通常是通过 Desktop Bridge 打包的 Win32 应用,保留 Win32 行为但享受现代包装。
    3. Win32App:标准 Win32 应用程序行为,适用于传统桌面应用程序。
    4. AppSilo:提供隔离环境,允许应用在隔离的上下文中执行代码,增强安全性和稳定性。
  7. 支持的旋转:指示应用程序首选的屏幕方向。
  8. 锁定屏幕通知:
    1. 徽章:小图标通知,可在锁屏界面显示数字或图标,通常用于显示未读消息数量或应用状态。
    2. 徽章和磁贴文本:除徽章外,还可显示文字通知,提供更丰富的信息内容。
  9. 资源组:用于组织和管理应用资源(如图标、语言文件)。
  10. 磁贴更新:配置动态磁贴的更新方式。
    • 重复(时间):定义磁贴内容更新的频率(如每30分钟、每小时)。
    • URI模板:指定获取磁贴更新内容的网络地址,用于动态更新磁贴内容。

2.2 视觉对象资产

视觉对象资产定义了应用的图形标识元素。

2.3 功能

功能定义应用可以访问的系统资源和API权限。

2.4 声明

声明定义应用可以与Windows操作系统和其他应用进行深度集成的方式。

2.5 内容URI

内容URI规则定义了应用内WebView控件可以导航到的网站。

2.6 打包

  1. 包名: 应用程序的唯一标识符,通常是一个反向域名格式的字符串(如 com.example.app)。
  2. 包显示名称:应用程序在 Windows 系统中的显示名称。