使用 WinAppDeployCmd.exe 工具安装应用
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 Version>\x86\WinAppDeployCmd.exe(基于 SDK 的安装路径)。
注意
在 15063 版本及更高版本的 SDK 中,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>
你可以在目标设备上安装或卸载应用,也可以更新已经安装的应用。 若要保留由已经安装的应用保存的数据或设置,请使用 update 选项而非 install 选项。
下表介绍了 WinAppDeployCmd.exe 命令。
命令 | 说明 |
---|---|
设备 | 显示可用网络设备列表。 |
安装 | 将 UWP 应用包安装到目标设备。 |
update | 更新已安装在目标设备上的 UWP 应用。 |
list | 显示已安装在指定目标设备上的 UWP 应用列表。 |
卸载 | 从目标设备卸载指定的应用包。 |
deployfiles | 将目标路径处的松散文件应用复制到设备上的远程相对路径。 |
registerfiles | 将松散文件应用注册到远程部署目录。 |
addcreds | 将凭据添加到 Xbox 以允许它访问应用注册的网络位置。 |
getcreds | 从网络共享运行应用程序时,获取目标使用的网络凭据。 |
deletecreds | 从网络共享运行应用程序时,删除目标使用的网络凭据。 |
下表介绍了用于 WinAppDeployCmd.exe 的选项。
命令 | 说明 |
---|---|
-h (-help) | 显示命令、选项和参数。 |
-ip | 目标设备的 IP 地址。 |
-g (-guid) | 目标设备的唯一标识符。 |
-d (-dependency) | (可选)指定每个程序包依赖项的依赖项路径。 如果未指定任何路径,该工具会在应用包的根目录和 SDK 目录中搜索依赖项。 |
-f (-file) | 要安装、更新或卸载的应用包的文件路径。 |
-p (-package) | 要卸载的应用包的完整程序包名称。 (你可以使用列表命令查找已经安装在设备上的程序包的完整名称) |
-pin | 与目标设备建立连接所需的引脚。 (如果需要身份验证,将提示你使用 -pin 选项重试) |
-credserver | 供目标使用的网络凭据的服务器名称。 |
-credusername | 供目标使用的网络凭据的用户名。 |
-credpassword | 供目标使用的网络凭据的密码。 |
-connecttimeout | 连接到设备时所使用的超时(以秒为单位)。 |
-remotedeploydir | 要将文件复制到的远程设备上的相对目录路径/名称;这将是一个自动确定的已知远程部署文件夹。 |
-deleteextrafile | 用于指示是否应清除远程目录中的现有文件以匹配源目录的开关。 |
下表介绍了用于 WinAppDeployCmd.exe 的选项。
Argument | 说明 |
---|---|
<x> | 超时(以秒为单位)。 (默认值为 10 秒) |
<address> | 目标设备的 IP 地址或唯一标识符。 |
<a><b> ... | 每个应用包依赖项的依赖项路径。 |
p<> | 在设备设置中显示的用于建立连接的字母数字引脚。 |
<路径> | 文件系统路径。 |
name<> | 要卸载的应用包的完整程序包名称。 |
服务器<> | 文件网络上的服务器。 |
<username> | 有权访问文件网络上的服务器的凭据的用户。 |
password<> | 有权访问文件网络上的服务器的凭据的密码。 |
<remotedeploydir> | 设备上相对于部署位置的目录 |
WinAppDeployCmd.exe 示例
下面是一些示例,介绍了如何使用 WinAppDeployCmd.exe 的语法从命令行中进行部署。
显示可用于部署的设备。 命令超时 3 秒。
WinAppDeployCmd devices 3
将应用从电脑的“下载”目录中的 MyApp.appx 程序包安装到 IP 地址为 192.168.0.1、PIN 为 A1B2C3 的 Windows 10 设备,以与该设备建立连接
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
使用指定的应用包更新已经安装在 IP 地址为 192.168.0.1 的 Windows 10 设备上的应用。
WinAppDeployCmd update -file "Downloads\MyApp.appx" -ip 192.168.0.1
将应用的文件部署到 IP 地址为 192.168.0.1 的电脑或 Xbox 中,这些文件与该设备的部署路径下的 app1_F5 目录中 AppxManifest 位于同一文件夹中。
WinAppDeployCmd deployfiles -file "C:\apps\App1\AppxManifest.xml" -remotedeploydir app1_F5 -ip 192.168.0.1
将应用注册在 IP 地址为 192.168.0.1 的电脑或 Xbox 的部署路径下的 app1_F5 目录。
WinAppDeployCmd registerfiles -remotedeploydir app1_F5 -ip 192.168.0.1
使用 WinAppDeployCmd 设置 Xbox One 上的从电脑运行部署。
从电脑运行使你无需复制二进制文件就可以将 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