Installare app con lo strumento WinAppDeployCmd.exe

Windows Application Deployment (WinAppDeployCmd.exe) è uno strumento della riga di comando che consente di distribuire un'app UWP (Universal Windows Platform) da un PC Windows 10 a qualsiasi dispositivo Windows 10. Puoi usare questo strumento per distribuire un pacchetto dell'app quando il dispositivo Windows 10 è connesso tramite USB o disponibile nella stessa subnet senza dover usare Microsoft Visual Studio o la soluzione per tale app. Puoi anche distribuire l'app in un PC remoto o in Xbox One senza prima creare un pacchetto. Questo articolo descrive come installare le app UWP con questo strumento.

È sufficiente che sia installato Windows 10 SDK per eseguire lo strumento WinAppDeployCmd da un prompt dei comandi o da un file script. Quando installi un'app con WinAppDeployCmd.exe, lo strumento usa il file con estensione appx/msix oppure AppxManifest (per i file indipendenti) per trasferire localmente la tua app in un dispositivo Windows 10. Questo comando non installa il certificato necessario per la tua app. Per eseguire l'app, il dispositivo Windows 10 deve essere in modalità sviluppatore o il certificato deve essere già installato.

Per la distribuzione nei dispositivi mobili, devi prima creare un pacchetto. Per ulteriori informazioni, vedi qui.

Lo strumento WinAppDeployCmd.exe si trova qui nel PC Windows 10: C:\Program Files (x86)\Windows Kits\10\bin\<Versione SDK>\x86\WinAppDeployCmd.exe (in base al percorso di installazione per l'SDK).

Nota

Nella versione 15063 e versioni successive dell'SDK, questo è installato affiancato in cartelle specifiche della versione. Gli SDK precedenti (prima della versione 14393 inclusa) vengono scritti direttamente nella cartella padre.

Prima di tutto, connetti il dispositivo Windows 10 alla stessa subnet o direttamente al computer Windows 10 con una connessione USB. Usa quindi la sintassi seguente e gli esempi di questo comando disponibili più avanti nell'articolo per distribuire l'app UWP:

Sintassi e opzioni di WinAppDeployCmd

Questa è la sintassi generale usata per WinAppDeployCmd.exe:

WinAppDeployCmd command -option <argument>

Ecco alcuni esempi aggiuntivi di sintassi per l'uso di vari comandi:

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>

Puoi installare o disinstallare un'app nel dispositivo di destinazione oppure puoi aggiornare un'app già installata. Per mantenere i dati o le impostazioni salvate da un’app già installata, usa le opzioni di aggiornamneto invece delle opzioni di installazione.

La tabella seguente descrive i comandi relativi a WinAppDeployCmd.exe.

Comando Descrizione
dispositivi Visualizza l'elenco dei dispositivi di rete disponibili.
installazione Installa un pacchetto di app UWP nel dispositivo di destinazione.
update Aggiorna un'app UWP già installata nel dispositivo di destinazione.
list (elenca) Mostra l'elenco delle app UWP installate nel dispositivo di destinazione specificato.
disinstallazione Disinstalla il pacchetto dell'app specificato dal dispositivo di destinazione.
deployfiles Copia l'app di file indipendenti dal percorso di destinazione al percorso relativo remoto nel dispositivo.
registerfiles Registra l'app di file indipendenti nella directory di distribuzione remota.
addcreds Aggiunge le credenziali a un dispositivo Xbox in modo che possa accedere a un percorso di rete per la registrazione dell'app.
getcreds Ottiene le credenziali di rete che la destinazione usa quando un'applicazione viene eseguita da una condivisione di rete.
deletecreds Elimina le credenziali di rete che la destinazione usa quando un'applicazione viene eseguita da una condivisione di rete.

La tabella seguente descrive le opzioni per WinAppDeployCmd.exe.

Comando Descrizione
-h (-help) Mostra i comandi, le opzioni e gli argomenti.
-ip Indirizzo IP del dispositivo di destinazione.
-g (-guid) Identificatore univoco del dispositivo di destinazione.
-d (-dependency) (Facoltativo) Specifica il percorso di dipendenza per ognuna delle dipendenze del pacchetto. Se non viene specificato alcun percorso, lo strumento cerca le dipendenze nella directory radice del pacchetto dell'app e nelle directory dell'SDK.
-f (-file) Percorso del file per il pacchetto dell'app da installare, aggiornare o disinstallare.
-p (-package) Nome completo del pacchetto per il pacchetto dell'app da disinstallare. (Puoi usare il comando list per trovare i nomi completi per i pacchetti già installati nel dispositivo)
-pin L'eventuale pin necessario per stabilire una connessione con il dispositivo di destinazione. (Ti verrà chiesto di riprovare con l'opzione -pin se è necessaria l'autenticazione)
-credserver Nome del server delle credenziali di rete che verranno usate dalla destinazione.
-credusername Nome utente delle credenziali di rete che verranno usate dalla destinazione.
-credpassword Password delle credenziali di rete che verranno usate dalla destinazione.
-connecttimeout Timeout in secondi usato per la connessione al dispositivo.
-remotedeploydir Percorso relativo directory/nome in cui copiare i file nel dispositivo remoto. Deve trattarsi di una cartella di distribuzione remota ben nota, determinata automaticamente.
-deleteextrafile Opzione che indica se i file esistenti nella directory remota devono essere ripuliti per creare una corrispondenza con la directory di origine.

La tabella seguente descrive le opzioni per WinAppDeployCmd.exe.

Argomento Descrizione
<x> Timeout in secondi. (Il valore predefinito è 10)
<address> Indirizzo IP o identificatore univoco del dispositivo di destinazione.
<a><b> ... Percorso di dipendenza per ognuna delle dipendenze del pacchetto dell'app.
<p> Pin alfanumerico mostrato nelle impostazioni del dispositivo per stabilire una connessione.
<path> Percorso del file system.
<name> Nome completo del pacchetto dell'app da disinstallare.
<server> Server nella rete di file.
<username> Utente per le credenziali con accesso al server nella rete di file.
<password> Password per le credenziali con accesso al server nella rete di file.
<remotedeploydir> Directory nel dispositivo relativa al percorso di distribuzione

Esempi di WinAppDeployCmd.exe

Ecco alcuni esempi di distribuzione dalla riga di comando usando la sintassi per WinAppDeployCmd.exe.

Mostra i dispositivi disponibili per la distribuzione. Per il comando è previsto un timeout di 3 secondi.

WinAppDeployCmd devices 3

Installa l'app dal pacchetto MyApp.appx che si trova nella directory Download del PC in un dispositivo Windows 10 con indirizzo IP 192.168.0.1 e PIN A1B2C3 per stabilire una connessione con il dispositivo

WinAppDeployCmd install -file "Downloads\MyApp.appx" -ip 192.168.0.1 -pin A1B2C3

Disinstalla il pacchetto specificato (in base al nome completo) da un dispositivo Windows con un indirizzo IP 192.168.0.1. Puoi usare il comando list per visualizzare i nomi completi di tutti i pacchetti installati in un dispositivo.

WinAppDeployCmd uninstall -package Company.MyApp_1.0.0.1_x64__qwertyuiop -ip 192.168.0.1

Aggiorna l'app già installata nel dispositivo Windows 10 con un indirizzo IP 192.168.0.1 usando il pacchetto dell'app specificato.

WinAppDeployCmd update -file "Downloads\MyApp.appx" -ip 192.168.0.1

Distribuisce i file di un'app in un PC o un dispositivo Xbox con un indirizzo IP 192.168.0.1 nella stessa cartella del file AppxManifest nella directory app1_F5 nel percorso di distribuzione del dispositivo.

WinAppDeployCmd deployfiles -file "C:\apps\App1\AppxManifest.xml" -remotedeploydir app1_F5 -ip 192.168.0.1

Registra l'app nella directory app1_F5 nel percorso di distribuzione del PC o del dispositivo Xbox con indirizzo IP 192.168.0.1.

WinAppDeployCmd registerfiles -remotedeploydir app1_F5 -ip 192.168.0.1

Uso di WinAppDeployCmd per configurare la distribuzione dell'esecuzione da PC in Xbox One

L'esecuzione da PC consente di distribuire un'applicazione UWP in una console Xbox One senza copiare i file binari, che saranno ospitati in una condivisione di rete nella stessa rete della console Xbox. A tale scopo, devi disporre di una console Xbox One sbloccata dallo sviluppatore e di un'applicazione UWP con file separati in un'unità di rete accessibile dalla console Xbox.

Esegui questa operazione per registrare l'app:

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