Pacchetto app DISM (con estensione appx o appxbundle) Opzioni di manutenzione Command-Line

È possibile usare i comandi di manutenzione del pacchetto dell'app per aggiungere, rimuovere ed elencare i pacchetti di app di cui è stato effettuato il provisioning (.appx o .appxbundle) in un'immagine di Windows. Un oggetto .appxbundle è una raccolta di pacchetti di app e risorse usati insieme per arricchire l'esperienza dell'app, riducendo al minimo il footprint del disco in un determinato PC. Per informazioni dettagliate sui pacchetti con estensione appxbundle e sulla pipeline di Microsoft Store, vedere Creazione di pacchetti di app. È possibile aggiungere all'immagine solo un subset dei pacchetti all'interno di un file con estensione appxbundle quando viene eseguito il provisioning di un bundle tramite GESTIONE dei dati. Per altre informazioni, vedere Informazioni sull'aggiunta di pacchetti di risorse .appxbundle a un'immagine.

I pacchetti di app con provisioning vengono aggiunti a un'immagine di Windows e quindi installati per ogni profilo utente nuovo o esistente al successivo accesso dell'utente. Per altre informazioni, inclusi i requisiti per il provisioning dei pacchetti dell'app, vedere Sideload Apps with DISM ( Sideload Apps with DISM).

È anche possibile usare PowerShell per aggiungere, rimuovere ed elencare pacchetti di app (.appx o .appxbundle) per immagine o per utente in un'installazione di Windows. Per altre informazioni, vedere Cmdlet DISM (Deployment Imaging Servicing Management) in Windows PowerShell e cmdlet di installazione delle app in Windows PowerShell.

Sintassi di manutenzione DISM

La sintassi di base per la manutenzione di un'immagine DiSM di Windows è:

DISM.exe {/Image:<path_to_image_directory>|/Online} [dism_global_options] {servicing_option} <servicing_argument>]

Opzioni per le immagini offline

Le opzioni di manutenzione del pacchetto dell'app (.appx o appxbundle) seguenti sono disponibili per un'immagine offline.

DISM.exe /Image:<path_to_image_directory> [/Get-ProvisionedAppxPackages | /Add-ProvisionedAppxPackage | /Remove-ProvisionedAppxPackage | /Set-ProvisionedAppxDataFile | /StubPackageOption]

Opzioni per le immagini online

Le opzioni di manutenzione del pacchetto dell'app (.appx o .appxbundle) seguenti sono disponibili per un sistema operativo in esecuzione.

DISM.exe /Online [/Get-ProvisionedAppxPackages | /Add-ProvisionedAppxPackage | /Remove-ProvisionedAppxPackage | /Set-ProvisionedAppxDataFile | /StubPackageOption]

/Get-Help /?

Quando viene usata immediatamente dopo un'opzione della riga di comando del pacchetto dell'app, vengono visualizzate informazioni sull'opzione e sugli argomenti. Altri argomenti potrebbero diventare disponibili quando viene specificata un'immagine.

Dism /image:C:\test\offline /Add-ProvisionedAppxPackage /?
Dism /online /Get-ProvisionedAppxPackages /?

/Get-ProvisionedAppxPackages

Visualizza le informazioni sui pacchetti dell'app (.appx o .appxbundle), in un'immagine impostata per l'installazione per ogni nuovo utente.

Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages

/Add-ProvisionedAppxPackage

Aggiunge uno o più pacchetti di app all'immagine.

L'app verrà aggiunta all'immagine di Windows e registrata per ogni profilo utente esistente o nuovo al successivo accesso dell'utente. Se l'app viene aggiunta a un'immagine online, l'app non verrà registrata per l'utente corrente fino alla successiva registrazione dell'utente.

Effettuare il provisioning delle app in un sistema operativo online in modalità controllo in modo che i collegamenti rigidi appropriati possano essere creati per le app che contengono gli stessi file (per ridurre al minimo l'utilizzo dello spazio su disco) garantendo anche che non vengano eseguite app per un'installazione riuscita.

Sintassi:

dism.exe /Add-ProvisionedAppxPackage {/FolderPath:<App_folder_path> [/SkipLicense\] [/CustomDataPath:<custom_file_path>]  /PackagePath:<main_package_path> [/DependencyPackagePath:<dependency_package_path>] {[/LicensePath:<license_file_path>] [/SkipLicense\]} [/CustomDataPath:<custom_file_path>]} [/Region:<region>]
  • Usare /FolderPath per specificare una cartella di file di app non compressi contenente un pacchetto principale, tutti i pacchetti di dipendenza e il file di licenza. Questa opzione è supportata solo per un pacchetto di app non compresso.

  • Usare /PackagePath per specificare un pacchetto dell'app (.appx o .appxbundle). È possibile usare /PackagePath quando si esegue il provisioning di un'app line-of-business online.

    Importante

    Usare il parametro per effettuare il /PackagePath provisioning di pacchetti con estensione appxbundle. Non è inoltre possibile effettuare il provisioning dei pacchetti di dipendenza con /PackagePath, è necessario effettuare il provisioning con il /DependencyPackagePath parametro per un'app.

  • /PackagePath non è supportato da un PC host che esegue Windows Preinstallation Environment (WinPE) 4.0, Windows Server 2008 R2 o una versione precedente di Windows.

  • Usare /Region per specificare le aree in cui è necessario effettuare il provisioning di un pacchetto dell'app (.appx o .appxbundle). L'argomento area può essere:

    • all, che indica che l'app deve essere effettuato il provisioning per tutte le aree o
    • Elenco delimitato da punti e virgola delle aree. Le aree saranno sotto forma di codici ALFA-3166-1 Alfa-2 o ISO 3166-1 Alfa-3. Ad esempio, la Stati Uniti può essere specificata come "STATI UNITI" o "USA" (distinzione tra maiuscole e minuscole). Quando non viene specificato un elenco di aree, il pacchetto verrà effettuato il provisioning solo se viene aggiunto al layout di avvio.
  • Usare /DependencyPackagePath per specificare ogni pacchetto di depencency necessario per il provisioning dell'app. I pacchetti di dipendenza necessari di un'app sono disponibili esaminando gli <PackageDependency> elementi nella AppxManifest.xml nella radice del pacchetto .appx dell'app. Se più app condividono la stessa dipendenza, è necessario installare la versione secondaria più recente di ogni versione principale del pacchetto di dipendenza. Ad esempio, App1, App2 e App3 hanno una dipendenza da Microsoft.NET.Native.Framework. App1 specifica Microsoft.NET.Native.Framework.1.6 con versione secondaria 25512.0, App2 specifica Microsoft.NET.Native.Framework.1.6 con versione secondaria 25513.0 e App3 specifica Microsoft.NET.Native.Framework.1.3 con versione secondaria 24202.0. Poiché sia App1 che App2 specificano la stessa versione principale del pacchetto di dipendenza, è necessario installare solo la versione secondaria 25513.0 più recente, mentre App3 specifica una versione principale diversa del pacchetto di dipendenza, quindi deve essere installata anche. Pertanto, i pacchetti di dipendenza che devono essere installati sono Microsoft.NET.Native.Framework.1.6 con versione secondaria 25513.0 e Microsoft.NET.Native.Framework.1.3 con versione secondaria 24202.0.

    Se il pacchetto ha dipendenze specifiche dell'architettura, è necessario installare tutte le architetture applicabili per la dipendenza dall'immagine di destinazione. Ad esempio, in un'immagine di destinazione x64, includere un percorso per i pacchetti di dipendenza x86 e x64 o includerli entrambi nella cartella dei file di app non compressi. Se il pacchetto di dipendenza arm è specificato o incluso, il servizio di gestione delle risorse di distribuzione lo ignorerà poiché non si applica all'immagine x64 di destinazione.

    Architettura computerDipendenze da installare:
    x64x64 e x86
    x86x86
    ArmSolo Arm
  • Usare /CustomDataPath per specificare un file di dati personalizzato facoltativo per un'app. È possibile specificare qualsiasi nome file. Il file verrà rinominato in Custom.dat quando viene aggiunto all'immagine.

  • Usare /LicensePath con l'opzione /PackagePath per specificare il percorso del file di .xml contenente la licenza dell'applicazione.

  • Usare /SkipLicense solo con le app che non richiedono una licenza in un computer abilitato per il sideload. L'uso /SkipLicense in altri scenari può compromettere un'immagine.

Esempi:

Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage /FolderPath:c:\Test\Apps\MyUnpackedApp /CustomDataPath:c:\Test\Apps\CustomData.xml
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appx /DependencyPackagePath:C:\Test\Apps\MyPackedApp\Framework-x86.appx /DependencyPackagePath:C:\Test\Apps\MyPackedApp\Framework-x64.appx /LicensePath:C:\Test\Apps\MyLicense.xml
Dism /Online /Add-ProvisionedAppxPackage /FolderPath:C:\Test\Apps\MyUnpackedApp /SkipLicense
Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /SkipLicense
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /Region:"all"
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /Region:"US;GB"

/Remove-ProvisionedAppxPackage

Rimuove il provisioning per i pacchetti di app (.appx o .appxbundle) dall'immagine. I pacchetti dell'app non verranno registrati nei nuovi account utente creati.

Sintassi:

/Remove-ProvisionedAppxPackage /PackageName:<PackageName>

Importante

Questa opzione rimuoverà solo il provisioning per un pacchetto se è registrato in qualsiasi profilo utente. Usare il cmdlet Remove-AppxPackage in PowerShell per rimuovere l'app per ogni utente già registrato per rimuovere completamente l'app dall'immagine. Se l'app non è stata registrata in alcun profilo utente, l'opzione /Remove-ProvisionedAppxPackage rimuoverà completamente il pacchetto. Per rimuovere i pacchetti di app da un Windows Server 2012 o versione successiva, immagine con l'esperienza desktop installata, è necessario rimuovere i pacchetti dell'app prima di rimuovere l'esperienza desktop. L'esperienza desktop è un requisito dell'opzione /Remove-ProvisionedAppxPackage per le installazioni Server Core di Windows Server.

Esempio:

Dism /Image:C:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_ac4zc6fex2zjp

/Optimize-ProvisionedAppxPackages

Ottimizza le dimensioni totali dei pacchetti di cui è stato eseguito il provisioning nell'immagine sostituendo file identici con collegamenti rigidi. Una volta che un'immagine con pacchetti AppX con provisioning è online, /optimize-provisionedappxpackages non sarà in grado di ottimizzare i pacchetti AppX di cui è stato effettuato il provisioning. Se si accetta un'immagine offline e si aggiungono pacchetti, verranno ottimizzati solo i pacchetti di cui è stato eseguito il provisioning dopo il ripristino dell'immagine.

Questo comando non è supportato in un'immagine online.

DISM.exe /Image:C:\test\offline /Optimize-ProvisionedAppxPackages

/Set-ProvisionedAppxDataFile

Aggiunge un file di dati personalizzato nel pacchetto dell'app specificato (.appx o .appxbundle).

Sintassi

/Set-ProvisionedAppxDataFile [/CustomDataPath<custom_file_path>] /PackageName<PackageName>

Il pacchetto dell'app specificato (con estensione appx o appxbundle) deve essere già aggiunto all'immagine prima di aggiungere il file di dati personalizzato con questa opzione. È anche possibile aggiungere un file di dati personalizzato quando si usa l'opzione /Add-ProvisionedAppxPackage .

  • Usare /CustomDataPath per specificare un file di dati personalizzato facoltativo per un'app. È possibile specificare qualsiasi nome file. Il file verrà rinominato in Custom.dat quando viene aggiunto all'immagine. Se esiste già un file Custom.dat, verrà sovrascritto.

  • Usare /PackageName per specificare un pacchetto dell'app (.appx o .appxbundle).

Esempio:

DISM.exe /Image:C:\test\offline /Set-ProvisionedAppxDataFile /CustomDataPath:c:\Test\Apps\Custom.dat /PackageName:microsoft.appx.app1_1.0.0.0_neutral_ac4zc6fex2zjp

/StubPackageOption

Usato insieme alle opzioni di manutenzione del pacchetto dell'app per specificare la preferenza stub del pacchetto.

Sintassi:

/StubPackageOption:{installstub | installfull}
  • InstallStub imposta il pacchetto di provisioning sulla versione stub. Imposta in modo implicito la preferenza stub su stub.
  • InstallFull imposta il pacchetto di provisioning per il provisioning della versione completa. Imposta in modo implicito la preferenza stub su completa.

Se non viene specificata alcuna opzione di pacchetto stub rispetto alla versione del pacchetto di cui è stato effettuato il provisioning, è impostata sulle preferenze stub predefinite.

Esempio:

Dism /image:C:\test\offline /add-provisionedappxpackage /packagepath:"C:\dism\stub\appwithresources.appxbundle" /stubpackageoption:installstub

Informazioni su come DISM aggiunge pacchetti di risorse con estensione appxbundle a un'immagine

Quando un oggetto .appxbundle viene aggiunto all'immagine, non tutti i pacchetti di risorse all'interno del bundle sono applicabili. Ad esempio, se un'app viene aggiunta a un'immagine di Windows con una lingua predefinita spagnola (Spagna), le risorse francese (Francia) non devono essere incluse. Per determinare quali risorse vengono aggiunte all'immagine, l'applicabilità del pacchetto viene determinata usando:

  • Language Resource Pack: se non è presente una lingua del sistema operativo, il Language Pack dell'app corrispondente non viene aggiunto. Ad esempio, potrebbe essere presente un'immagine che è un Windows 10 con inglese (Stati Uniti) come lingua predefinita e un Language Pack spagnolo (Spagna) incluso. I Pacchetti di risorse dell'app inglese (Stati Uniti) e spagnolo (Spagna) verranno aggiunti all'immagine. Se un resource pack francese (Francia) o qualsiasi altra lingua è disponibile nel bundle dell'app, non verrà aggiunto.

  • Resource Pack di scalabilità e DirectX (DXFL): i Resource Pack di scalabilità e DirectX (DXFL) dipendono dalla configurazione hardware del dispositivo Windows. Poiché il tipo di hardware di destinazione non può essere noto al momento dell'esecuzione dei comandi DISM, tutti i pacchetti di risorse DXFL e scalabilità vengono aggiunti all'immagine in fase di provisioning. Per altre informazioni sullo sviluppo di un'app con risorse di ridimensionamento, vedere Linee guida per la scalabilità in densità di pixel (app di Microsoft Store).

Per un'immagine contenente più Language Pack, i pacchetti di risorse dell'app verranno aggiunti all'immagine per ogni lingua. Dopo che il primo utente ha eseguito l'accesso al PC con l'immagine distribuita e l'utente ha scelto una lingua durante L'OOBE, i pacchetti di risorse inapplicabili, (Language Resource Pack, pacchetti di risorse di scalabilità e pacchetti di risorse DXFL) che non corrispondono alle impostazioni del profilo utente vengono rimosse.

Ad esempio, un'app può supportare lingue inglese (US), francese (Francia) e spagnolo (Spagna). Se l'app viene aggiunta a un'immagine con Language Pack (Stati Uniti) e spagnolo (Spagna), vengono aggiunti solo i Resource Pack (Stati Uniti) e Spagnolo (Spagna) all'immagine. Se un utente accede per la prima volta e, durante OOBE, seleziona l'inglese (US) come lingua del sistema operativo, i pacchetti di risorse spagnolo (Spagna) verranno rimossi dopo il completamento dell'accesso.

Importante

Se si aggiunge o si rimuove un Language Pack da un'immagine, si modifica il contesto di applicabilità che può causare l'eliminazione di un set non corretto o incompleto di pacchetti di risorse nell'immagine. Quando un Language Pack viene aggiunto o rimosso, è necessario, ancora una volta, aggiungere tutti i pacchetti con estensione appxbundle (inclusi i pacchetti di dipendenza e il file di licenza di Microsoft Store) all'immagine. In questo modo verrà garantito il provisioning del set corretto di pacchetti di risorse.

Limitazioni

  • Non è possibile installare un pacchetto app (con estensione appx) in un sistema operativo che non supporta le app Windows 8. Non è possibile installare un pacchetto di bundle dell'app (con estensione appxbundle) in un sistema operativo che non supporta almeno app Windows 8.1. Le app non sono supportate in WinPE 4.0, l'opzione di installazione Windows Server 2012 Server Core o in qualsiasi versione di Windows precedente a Windows 8 e Windows Server 2012.

    Per installare ed eseguire app in Windows Server 2012, è necessario installare l'esperienza desktop.

  • L'opzione /FolderPath è supportata solo per i pacchetti dell'app in base al formato .appx.

  • /PackagePath deve essere sempre usato per i pacchetti con estensione appxbundle.

Che cos'è DISM?

Opzioni Command-Line di gestione delle immagini DISM

Opzioni di manutenzione e Command-Line gestione delle immagini di distribuzione

Trasferire localmente le app con Gestione e manutenzione immagini distribuzione