[参数列表] 命令: /install 安装一个包。 /update 更新一个包(必须已安装旧版本)。 /register 注册一个应用程序清单文件。 /stage 暂存一个包。 /remove 移除包。 /read 读取包信息。 /get 列出所有已安装的应用。 /find 查找已安装的应用。 /active 启动一个应用。 /config 配置设置。 /version 显示版本信息。 /encoding 设置控制台输出编码。可与其他命令一起使用。 /? 显示本帮助信息。 您可以使用“pkgcli <命令> /?”来获取有关该命令的详细信息。 ]]> [arguments] Commands: /install Install a package. /update Update a package (previous version must be installed). /register Register an app manifest file. /stage Stage a package. /remove Remove the package. /read Read package information. /get List all installed apps. /find Find installed apps. /active Launch an app. /config Configure settings. /version Display version information. /encoding Set console output encoding. With other commands. /? Show this help. You can use "pkgcli /?" to get the detail infomation about this command. ]]> pkgcli /en:<代码页|名称> 操作说明: 为当前会话设置控制台输出编码。 当输出内容包含非 ASCII 字符时非常有用。 参数: <代码页> 数字代码页标识符(例如 65001 表示 UTF-8,936 表示 GB2312)。 <名称> 编码名称(例如 utf-8、gb2312、windows-1252)。 示例: pkgcli /encoding:65001 (设置为 UTF-8) pkgcli /encoding:utf-8 pkgcli /en:936 (设置为 GB2312/GBK) pkgcli /en:gb2312 注意: 此设置仅影响当前 pkgcli 进程,不会持久保存。 ]]> pkgcli /en: Operation: Set the console output encoding for the current session. Useful when the output contains non-ASCII characters. Arguments: Numeric code page identifier (e.g., 65001 for UTF-8, 936 for GB2312). Encoding name (e.g., utf-8, gb2312, windows-1252). Examples: pkgcli /encoding:65001 (Set to UTF-8) pkgcli /encoding:utf-8 pkgcli /en:936 (Set to GB2312/GBK) pkgcli /en:gb2312 Note: This setting only affects the current pkgcli process and does not persist. ]]> <文件路径...> [/developmode] [/force] [/allres] 命令: /install 安装一个包。支持 .appx、.appxbundle、.msix、.msixbundle。 /register 注册一个包。支持 AppxManifest.xml 或 *.appxmanifest。 /update 更新已安装的应用。支持的格式与 /install 相同。 /stage 暂存一个包(预部署)。支持的格式与 /install 相同。 选项(部署选项标志): /developmode 以开发模式安装/注册。请勿与捆绑包一起使用。 /force 当包或其依赖项正在使用时,强制关闭应用程序以允许注册。 /allres 跳过资源适用性检查;暂存/注册捆绑包中的所有资源包。 参数: <文件路径...> 一个或多个包或清单文件路径。可以是: - 直接指向 .appx、.msix、.appxbundle、.msixbundle 或 .xml 清单的路径。 - 一个包含此类路径列表的 .txt 文件(每行一个路径)。 - 如果命令没有重复,则该命令适用于所有列出的文件。 示例: pkgcli /install MyApp.appx pkgcli /register /manifest:AppxManifest.xml /developmode pkgcli /update MyApp.msixbundle /force pkgcli /stage MyApp.appx /allres ]]> [/developmode] [/force] [/allres] Commands: /install Install a package. Supports .appx, .appxbundle, .msix, .msixbundle. /register Register a package. Supports AppxManifest.xml or *.appxmanifest. /update Update an installed app. Supports same formats as /install. /stage Stage a package (pre-deploy). Supports same formats as /install. Options (DeploymentOptions flags): /developmode Install/register in development mode. Do not use with bundle packages. /force Force application shutdown to allow registration when the package or its dependencies are in use. /allres Skip resource applicability checks; stage/register all resource packages in a bundle. Arguments: One or more package or manifest file paths. Can be: - Direct path to .appx, .msix, .appxbundle, .msixbundle, or .xml manifest. - A .txt file containing a list of such paths (one per line). - If no command is repeated, the command applies to all listed files. Examples: pkgcli /install MyApp.appx pkgcli /register /manifest:AppxManifest.xml /developmode pkgcli /update MyApp.msixbundle /force pkgcli /stage MyApp.appx /allres ]]> [<包全名>...] [/yes] 操作说明: 移除一个或多个包。 参数: <包全名> 已安装包的全名 (Package Full Name)。 格式:<标识名>_<版本号>_<处理器架构>_<资源ID>_<发布者ID> 示例:Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe 选项: /yes 自动确认卸载,不进行提示。 别名:/y、/agree 您可以指定多个包全名,用空格分隔。 示例: pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234 pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes ]]> [...] [/yes] Operation: Remove one or more packages. Arguments: The full name of the installed package. Format: ____ Example: Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe Options: /yes Automatically confirm the uninstallation without prompting. Aliases: /y, /agree You can specify multiple full names separated by spaces. Examples: pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234 pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes ]]> ] 操作说明: 列出所有已安装包及其属性。 注意: 若想执行此命令,请以管理员模式运行。 选项: /filter:<筛选器> 仅显示指定的属性。 筛选器不区分大小写,支持通配符“*”。 多个筛选器用逗号“,”或分号“;”分隔。 示例: /filter:Identity:Name,Identity:Version /filter:Identity:* (所有 Identity 属性) /filter:Properties:DisplayName 输出: 每个包以 [FullName] 节的形式输出,后跟 key = value 行。 可将输出重定向到文件,以保存为类似 INI 的格式。 示例: pkgcli /get pkgcli /get /filter:Identity:FullName,Properties:DisplayName ]]> ] Operation: List all installed packages with their properties. Note: To run this command, please use Administrator mode. Options: /filter: Show only the specified properties. Filters are case-insensitive and support '*' wildcard. Multiple filters separated by comma ',' or semicolon ';'. Examples: /filter:Identity:Name,Identity:Version /filter:Identity:* (all Identity properties) /filter:Properties:DisplayName Output: Each package is printed as a section [FullName] followed by key = value lines. Redirect output to a file to save as INI-like format. Examples: pkgcli /get pkgcli /get /filter:Identity:FullName,Properties:DisplayName ]]> [/filter:<筛选器>] pkgcli /find <标识名> <标识发布者> [/filter:<筛选器>] 操作说明: 查找与给定标识符匹配的已安装包。 注意: 若想执行此命令,请以管理员模式运行。 参数: <包全名> 包的全名。 <包系列名> 包的系列名。 <标识名> 包标识的名称部分(例如 "Microsoft.WindowsStore")。 <标识发布者> 发布者部分(例如 "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US")。 选项: /filter:<筛选器> 与 /get 命令中的 /filter 相同。 示例: pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App pkgcli /find Microsoft.WindowsStore pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..." ]]> [/filter:] pkgcli /find [/filter:] Operation: Find installed packages matching the given identifier. Note: To run this command, please use Administrator mode. Arguments: Full name of a package. Family name of a package. Name part of the package identity (e.g., "Microsoft.WindowsStore"). Publisher part (e.g., "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"). Options: /filter: Same as in /get command. Examples: pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App pkgcli /find Microsoft.WindowsStore pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..." ]]> [args] 操作说明: 启动一个 Windows 商店应用。 参数: App User Model ID (AUMID)。 格式:<包系列名>!<应用ID> 示例:Microsoft.WindowsStore_8wekyb3d8bbwe!App [args] 传递给应用的可选命令行参数。 示例: pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App pkgcli /active MyAppFamily!App --fullscreen --debug ]]> [arguments] Operation: Launch a Windows Store app. Arguments: The Application User Model ID (AUMID). Format: ! Example: Microsoft.WindowsStore_8wekyb3d8bbwe!App [arguments] Optional command-line arguments passed to the app. Examples: pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App pkgcli /active MyAppFamily!App --fullscreen --debug ]]> ] 说明: 读取 Appx/MSIX 包(.appx、.appxbundle、.msix、.msixbundle)或其清单文件(.xml、.appxpackage、.msixpackage)。 提取包/清单信息,并以 JSON 格式输出到控制台,或保存为包含 info.json 或 info.xml 的 ZIP 压缩包。 选项: /manifest:<文件> 指定要读取的清单文件。 /package:<文件> 指定要读取的包文件。 <文件> 如果未提供 /manifest 或 /package,则使用第一个无名参数作为输入文件。 文件类型根据扩展名自动检测: .xml、.appxpackage、.msixpackage → 使用清单读取器 .appx、.appxbundle、.msix、.msixbundle → 使用包读取器 /item:<路径> 不输出整个 JSON 对象,仅输出给定路径下的值。 路径语法:使用 '.' 或 ':' 作为分隔符,不区分大小写。 支持索引器(例如 [0])、集合的 .length 以及自动 Base64 访问(例如 LogoBase64)。 示例: /item:Identity.Name /item:Properties.Publisher /item:applications[0] /item:applications.length /item:applications[0].LogoBase64 /usepri 启用 PRI 资源解析(本地化和缩放图片)。要正确解析资源字符串和图片,需要此选项。 /savexml:<输出文件> 将提取的数据保存为 XML 文件,并放入 ZIP 压缩包中。 压缩包中将包含一个 info.xml 文件,内含结构化数据。 /savejson:<输出文件> 将提取的数据保存为 JSON 文件,并放入 ZIP 压缩包中。 压缩包中将包含一个 info.json 文件,内含结构化数据。 /help 显示此帮助文本。 输出行为: - 如果既未指定 /savexml 也未指定 /savejson,则信息直接以 JSON 格式输出到控制台。 - 如果使用了 /item,则仅输出指定路径下的值(以字符串、版本或格式化 JSON 的形式)。 - 如果使用了 /savexml 或 /savejson,则数据将保存到指定的文件(ZIP 压缩包),并显示成功/失败信息。 示例: pkgcli /read MyApp.appx pkgcli /read /manifest:AppxManifest.xml /usepri pkgcli /read /package:MyApp.msixbundle /item:Identity.Name pkgcli /read /package:MyApp.appx /savejson:output.zip pkgcli /read MyApp.appx /item:applications[0].DisplayName ]]> ] Description: Read an Appx/MSIX package (.appx, .appxbundle, .msix, .msixbundle) or its manifest file (.xml, .appxpackage, .msixpackage). Extracts package/manifest information and outputs as JSON to the console, or saves as a ZIP archive containing either info.json or info.xml. Options: /manifest: Specify a manifest file to read. /package: Specify a package file to read. If no /manifest or /package is provided, the first unnamed parameter is used as the input file. File type is auto-detected by extension: .xml, .appxpackage, .msixpackage → ManifestReader .appx, .appxbundle, .msix, .msixbundle → PackageReader /item: Instead of outputting the whole JSON object, output only the value at the given path. Path syntax: use '.' or ':' as separators, case-insensitive. Supports indexers (e.g., [0]), .length for collections, and automatic Base64 access (e.g., LogoBase64). Examples: /item:Identity.Name /item:Properties.Publisher /item:applications[0] /item:applications.length /item:applications[0].LogoBase64 /usepri Enable PRI resource resolution (localization and scaled images). Required for proper resource string and image resolution. /savexml: Save extracted data as an XML file wrapped in a ZIP archive. The archive will contain an info.xml file with the structured data. /savejson: Save extracted data as a JSON file wrapped in a ZIP archive. The archive will contain an info.json file with the structured data. /help Display this help text. Output Behavior: - If neither /savexml nor /savejson is given, the information is printed directly to the console as JSON. - If /item is used, only the value at the specified path is printed (as a string, version, or formatted JSON). - If /savexml or /savejson is used, the data is saved to the specified file (ZIP archive) and a success/failure message is shown. Examples: pkgcli /read MyApp.appx pkgcli /read /manifest:AppxManifest.xml /usepri pkgcli /read /package:MyApp.msixbundle /item:Identity.Name pkgcli /read /package:MyApp.appx /savejson:output.zip pkgcli /read MyApp.appx /item:applications[0].DisplayName ]]> 显示指定配置键的值。 pkgcli /config /set:<键名> <值> 将配置键设置为指定值。 pkgcli /config /refresh 从 config.ini 重新加载配置。 配置键(部分): AppMetadataItems 从清单中读取的应用元数据字段列表,用逗号分隔。 默认值:"Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo" 配置文件: 位于 pkgcli.exe 同目录下的 config.ini。 示例: pkgcli /config pkgcli /config /show:AppMetadataItems pkgcli /config /set:AppMetadataItems "Id,DisplayName,Logo" pkgcli /config /refresh ]]> Show value of a specific configuration key. pkgcli /config /set: Set configuration key to the given value. pkgcli /config /refresh Reload configuration from config.ini. Configuration keys (partial): AppMetadataItems Comma-separated list of application metadata fields to read from manifests. Default: ""Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo"" Configuration file: config.ini in the same directory as pkgcli.exe. Examples: pkgcli /config pkgcli /config /show:AppMetadataItems pkgcli /config /set:AppMetadataItems ""Id,DisplayName,Logo"" pkgcli /config /refresh ]]> ({0}/{1}) 正在执行操作... ({0}/{1}) Performing operation... ({0}/{1}) 正在执行操作... {2}% of {3}% ({0}/{1}) Performing operation... {2}% of {3}% 操作已完成。 All Done. 我们将要移除 {0} 个应用。确定要继续吗?(Y/N) We are about to remove {0} app(-s). Do you want to continue? (Y/N) 用户取消操作 User canceled. 已完成。 Done. 无法找到键 "{0}"。 Cannot find key "{0}". 键为空值。 Key is empty.