Windows 应用程序部署(WinAppDeployCmd.exe)是一种命令行工具,可用于将通用 Windows 平台(UWP)应用从 Windows 10 电脑部署到任何 Windows 10 设备。 当 Windows 10 设备通过 USB 连接或在同一子网上可用时,可以使用此工具部署应用包,而无需Microsoft Visual Studio 或该应用的解决方案。 还可以在不先打包到远程电脑或 Xbox One 的情况下部署应用。 本文介绍如何使用此工具安装 UWP 应用。
只需安装 Windows 10 SDK 即可从命令提示符或脚本文件运行 WinAppDeployCmd 工具。 使用 WinAppDeployCmd.exe安装应用时,它会使用 .appx/.msix 文件或 AppxManifest(对松散文件)将应用侧载到 Windows 10 设备上。 此命令不会安装应用所需的证书。 若要运行应用,Windows 10 设备必须处于开发人员模式或已安装证书。
若要部署到移动设备,必须先创建包。 有关详细信息,请参阅此文。
WinAppDeployCmd.exe 工具位于 Windows 10 电脑上:C:\Program Files (x86)\Windows Kits\10\bin\<SDK 版本>\x86\WinAppDeployCmd.exe(基于 SDK 的安装路径)。
注释
在 SDK 版本 15063 及更高版本中,SDK 在特定版本的文件夹中并列安装。 早期的 SDK(包括及早于 14393 的版本)直接写入到父文件夹中。
首先,将 Windows 10 设备连接到同一子网,或使用 USB 连接将其直接连接到 Windows 10 计算机。 然后,使用本文后面的命令的以下语法和示例来部署 UWP 应用:
WinAppDeployCmd 语法和选项
这是 WinAppDeployCmd.exe的通用语法:
WinAppDeployCmd command -option <argument>
下面是使用各种命令的一些其他语法示例:
WinAppDeployCmd devices
WinAppDeployCmd devices <x>
WinAppDeployCmd install -file <path> -ip <address>
WinAppDeployCmd install -file <path> -guid <address> -pin <p>
WinAppDeployCmd install -file <path> -ip <address> -dependency <a> <b>
WinAppDeployCmd install -file <path> -guid <address> -dependency <a> <b>
WinAppDeployCmd uninstall -file <path>
WinAppDeployCmd uninstall -package <name>
WinAppDeployCmd update -file <path>
WinAppDeployCmd list -ip <address>
WinAppDeployCmd list -guid <address>
WinAppDeployCmd deployfiles -file <path> -remotedeploydir <remoterelativepath> -ip <address>
WinAppDeployCmd registerfiles -remotedeploydir <remoterelativepath> -ip <address>
WinAppDeployCmd addcreds -credserver <server> -credusername <username> -credpassword <password> -ip <address>
WinAppDeployCmd getcreds -credserver <server> -ip <address>
WinAppDeployCmd deletecreds -credserver <server> -ip <address>
可以在目标设备上安装或卸载应用,也可以更新已安装的应用。 若要保留已安装的应用保存的数据或设置,请使用 更新 选项,而不是 安装 选项。
下表描述了 WinAppDeployCmd.exe的命令。
命令 | 说明 |
---|---|
设备 | 显示可用网络设备的列表。 |
安装 | 将 UWP 应用包安装到目标设备。 |
更新 | 更新已在目标设备上安装的 UWP 应用。 |
列表 | 显示在指定目标设备上安装的 UWP 应用列表。 |
卸载 | 从目标设备卸载指定的应用包。 |
deployfiles | 将目标路径中的松散文件应用传输到设备上的远程相对路径。 |
registerfiles | 在远程部署目录中注册松散文件应用。 |
addcreds | 将凭据添加到 Xbox,以使其能够访问用于应用注册的网络位置。 |
getcreds | 从网络共享运行应用程序时,获取目标使用的网络凭据。 |
deletecreds | 删除从网络共享运行应用程序时目标使用的网络凭据。 |
下表介绍了 WinAppDeployCmd.exe选项。
命令 | 说明 |
---|---|
-h (-help) | 显示命令、选项和参数。 |
-ip | 目标设备的 IP 地址。 |
-g (-guid) | 目标设备的唯一标识符。 |
-d (-dependency) | (可选)指定每个包依赖项的依赖项路径。 如果未指定路径,该工具将在根目录中搜索应用包和 SDK 目录的依赖项。 |
-f (-file) | 要安装、更新或卸载的应用包的文件路径。 |
-p (-package) | 要卸载的应用包的完整包名称。 (可以使用 list 命令查找设备上已安装的包的完整名称) |
-针 | 如果需要与目标设备建立连接,则为引脚。 (如果需要身份验证,系统将提示你使用 -pin 选项重试) |
-credserver | 用于目标使用的网络凭据的服务器名称。 |
-credusername | 供目标使用的网络凭据的用户名。 |
-credpassword | 供目标使用的网络凭据的密码。 |
-connecttimeout | 连接设备时使用的超时时间,以秒为单位。 |
-remotedeploydir | 用于将文件复制到远程设备上的相对目录路径/名称;这是一个众所周知的、自动确定的远程部署文件夹。 |
-删除额外文件 | 切换以指示是否应清除远程目录中的现有文件以匹配源目录。 |
下表介绍了 WinAppDeployCmd.exe选项。
论点 | 说明 |
---|---|
<x> | 超时时间(以秒为单位) (默认值为 10) |
<地址> | 目标设备的 IP 地址或唯一标识符。 |
<a><b>... | 每个应用包依赖项的依赖项路径。 |
<p> | 设备设置中显示的用于建立连接的字母数字PIN码。 |
<路径> | 文件系统路径。 |
<名称> | 要卸载的应用包的完整包名称。 |
<服务器> | 文件网络上的服务器。 |
<用户名> | 有权访问文件网络上服务器的凭据的用户。 |
<密码> | 有权访问文件网络上服务器的凭据的密码。 |
<remotedeploydir> | 设备上相对于部署位置的目录 |
WinAppDeployCmd.exe 示例
下面是有关如何使用 WinAppDeployCmd.exe语法从命令行部署的一些示例。
显示可用于部署的设备。 该命令在 3 秒内超时。
WinAppDeployCmd devices 3
从电脑的下载目录中通过 MyApp.appx 包将应用安装到 IP 地址为 192.168.0.1 的 Windows 10 设备,使用 PIN 为 A1B2C3 来建立与设备的连接。
WinAppDeployCmd install -file "Downloads\MyApp.appx" -ip 192.168.0.1 -pin A1B2C3
从 IP 地址为 192.168.0.1 的 Windows 设备中卸载指定的包(基于其全名)。 可以使用列表命令查看设备上安装的任何包的完整名称。
WinAppDeployCmd uninstall -package Company.MyApp_1.0.0.1_x64__qwertyuiop -ip 192.168.0.1
使用指定的应用包更新已在 Windows 10 设备上安装的应用,其 IP 地址为 192.168.0.1。
WinAppDeployCmd update -file "Downloads\MyApp.appx" -ip 192.168.0.1
将应用的文件部署到具有 IP 地址为 192.168.0.1 的电脑或 Xbox,这些文件位于与 AppxManifest 相同的文件夹中,并被部署到设备部署路径下的 app1_F5 目录。
WinAppDeployCmd deployfiles -file "C:\apps\App1\AppxManifest.xml" -remotedeploydir app1_F5 -ip 192.168.0.1
在 192.168.0.1 的电脑或 Xbox 部署路径下的 app1_F5 目录中注册应用。
WinAppDeployCmd registerfiles -remotedeploydir app1_F5 -ip 192.168.0.1
使用 WinAppDeployCmd 在 Xbox One 上设置电脑远程运行部署
PC 运行功能允许您将 UWP 应用部署到 Xbox One,无需复制二进制文件,因为这些文件托管在与 Xbox 同一个网络中的网络共享资源上。 为此,你需要一个已解锁为开发者模式的 Xbox One,以及一个 Xbox 可以访问的网络驱动器上的独立文件 UWP 应用程序。
运行此项以注册应用:
WinAppDeployCmd registerfiles -ip <Xbox One IP> -remotedeploydir <___location of app> -username <user for network> -password <password for user>
ex. WinAppDeployCmd register files -ip 192.168.0.1 -remotedeploydir \\driveA\myAppLocation -username admin -password A1B2C3