Windows アプリケーションの展開 (WinAppDeployCmd.exe) は、Windows 10 PC から任意の Windows 10 デバイスにユニバーサル Windows プラットフォーム (UWP) アプリを展開するために使用できるコマンド ライン ツールです。 このツールを使用すると、Windows 10 デバイスが USB で接続されている場合、または同じサブネット上で使用できる場合に、Microsoft Visual Studio またはそのアプリのソリューションを必要とせずにアプリ パッケージを展開できます。 リモート PC または Xbox One にパッケージ化せずにアプリを展開することもできます。 この記事では、このツールを使用して UWP アプリをインストールする方法について説明します。
コマンド プロンプトまたはスクリプト ファイルから WinAppDeployCmd ツールを実行するには、Windows 10 SDK をインストールするだけで済みます。 WinAppDeployCmd.exeを使用してアプリをインストールすると、.appx/.msix ファイルまたは AppxManifest (ルーズ ファイルの場合) が使用され、アプリが Windows 10 デバイスにサイドロードされます。 このコマンドでは、アプリに必要な証明書はインストールされません。 アプリを実行するには、Windows 10 デバイスが開発者モードであるか、既に証明書がインストールされている必要があります。
モバイル デバイスに展開するには、まずパッケージを作成する必要があります。 詳細については、このページを参照してください。
WinAppDeployCmd.exe ツールは、Windows 10 PC 上にあります。C:\Program Files (x86)\Windows Kits\10\bin\<SDK バージョン>\x86\WinAppDeployCmd.exe (SDK のインストール パスに基づく)。
注
バージョン 15063 以降の SDK では、SDK はバージョン固有のフォルダー内に並べてインストールされます。 以前の SDK (14393 以前および 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 アプリの一覧を表示します。 |
アンインストール | 指定したアプリ パッケージをターゲット デバイスからアンインストールします。 |
ファイルの配置 | ターゲット パスにあるルーズ ファイル アプリをデバイス上のリモート相対パスにコピーします。 |
レジスタファイル | リモート展開ディレクトリにルーズ ファイル アプリを登録します。 |
addcreds | Xbox に資格情報を追加して、アプリ登録用のネットワークの場所にアクセスできるようにします。 |
getcreds | ネットワーク共有からアプリケーションを実行するときに使用するターゲットのネットワーク資格情報を取得します。 |
deletecreds | ネットワーク共有からアプリケーションを実行するときにターゲットが使用するネットワーク資格情報を削除します。 |
次の表では、WinAppDeployCmd.exeのオプションについて説明します。
命令 | 説明 |
---|---|
-h (-help) | コマンド、オプション、引数を表示します。 |
-ip | ターゲット デバイスの IP アドレス。 |
-g (-guid) | 対象デバイスの一意の識別子。 |
-d (-dependency) | (省略可能)各パッケージの依存関係の依存関係パスを指定します。 パスが指定されていない場合、ツールはアプリ パッケージと SDK ディレクトリのルート ディレクトリ内の依存関係を検索します。 |
-f (-file) | インストール、更新、またはアンインストールするアプリ パッケージのファイル パス。 |
-p (-package) | アンインストールするアプリ パッケージの完全なパッケージ名。 (list コマンドを使用して、デバイスに既にインストールされているパッケージの完全な名前を見つけることができます) |
-ピン | ターゲット デバイスとの接続を確立するために必要な場合は、ピン。 (認証が必要な場合は、-pin オプションを使用して再試行するように求められます) |
-credserver | ターゲットで使用するネットワーク資格情報のサーバー名。 |
-credusername | ターゲットで使用するネットワーク資格情報のユーザー名。 |
-クレッドパスワード | ターゲットが使用するネットワーク資格情報のパスワード。 |
-connecttimeout (接続タイムアウト) | デバイスに接続するときに使用されるタイムアウト (秒単位)。 |
-remotedeploydir | リモート デバイス上でファイルをコピーする相対ディレクトリ パス/名前。これは、よく知られている、自動的に決定されたリモート展開フォルダーになります。 |
-削除追加ファイル | リモート ディレクトリ内の既存のファイルをソース ディレクトリと一致するように消去するかどうかを指定するために切り替えます。 |
次の表では、WinAppDeployCmd.exeのオプションについて説明します。
引数 | 説明 |
---|---|
<x> | タイムアウト (秒単位)。 (既定値は 10) |
<アドレス> | ターゲットデバイスのIPアドレスまたは一意の識別子。 |
< ><b> ... | 各アプリ パッケージの依存関係の依存関係パス。 |
<p> | デバイス設定に表示される英数字のピンは接続を確立するためのものです。 |
<パス> | ファイル システム パス。 |
<の名前> | アンインストールするアプリ パッケージの完全なパッケージ名。 |
<サーバー> | ファイル ネットワーク上のサーバー。 |
<ユーザー名> | サーバーへのアクセス権を持つ資格情報を有するファイルネットワークのユーザー。 |
<のパスワード> | ファイル ネットワーク上のサーバーにアクセスできる資格情報のパスワード。 |
<remotedeploydir を> します | 展開場所を基準としたデバイス上のディレクトリ |
WinAppDeployCmd.exe の例
WinAppDeployCmd.exeの構文を使用してコマンド ラインからデプロイする方法の例を次に示します。
展開に使用できるデバイスを表示します。 コマンドは 3 秒でタイムアウトします。
WinAppDeployCmd devices 3
PC のダウンロード ディレクトリにある 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 デバイスから、指定したパッケージ (完全な名前に基づいて) をアンインストールします。 list コマンドを使用すると、デバイスにインストールされているパッケージの完全な名前を確認できます。
WinAppDeployCmd uninstall -package Company.MyApp_1.0.0.1_x64__qwertyuiop -ip 192.168.0.1
指定したアプリ パッケージを使用して、Windows 10 デバイスに既にインストールされているアプリを 192.168.0.1 の IP アドレスで更新します。
WinAppDeployCmd update -file "Downloads\MyApp.appx" -ip 192.168.0.1
AppxManifest と同じフォルダー内の IP アドレスが 192.168.0.1 の PC または Xbox にアプリのファイルを、デバイスの展開パスの下にあるapp1_F5 ディレクトリに展開します。
WinAppDeployCmd deployfiles -file "C:\apps\App1\AppxManifest.xml" -remotedeploydir app1_F5 -ip 192.168.0.1
PC または Xbox の展開パス (192.168.0.1) の下の app1_F5 ディレクトリにアプリを登録します。
WinAppDeployCmd registerfiles -remotedeploydir app1_F5 -ip 192.168.0.1
WinAppDeployCmd を使用した Xbox One での PC 展開からの実行の設定
PC から実行すると、バイナリをコピーせずに Xbox One に UWP アプリケーションを展開できます。代わりに、バイナリは 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