Creare un bundle di pacchetti MSIX

Questo articolo descrive il processo di creazione di un bundle dopo aver convertito le versioni x86 e x64 dei programmi di installazione di Windows tramite MSIX Packaging Tool.

Aggregando le diverse versioni di architettura del tuo programma di installazione in un'unica entità, tramite la creazione di un bundle, sarà sufficiente caricare il bundle nello Store o in un'altra posizione di distribuzione. La piattaforma di distribuzione di Windows 10 riconosce il tipo di pacchetto con estensione msixbundle e scarica solo i file validi per l'architettura del tuo dispositivo. Tieni presente che se decidi di distribuire un pacchetto msixbundle per una determinata app, non puoi più tornare a distribuire un pacchetto MSIX.

La sezione seguente illustra dettagliatamente la compilazione di un pacchetto msixbundle. Presuppone che tu abbia già convertito le versioni x86 e x64 esistenti del programma di installazione di Windows in pacchetti MSIX.

Impostazione

Per creare correttamente un bundle MSIX è necessaria la configurazione seguente:

  • Windows 10 SDK (versione 1809 o successive)
  • Pacchetti MSIX convertiti da x64 e x86

Passaggio 1: Trovare MakeAppx.exe

MakeAppx.exe è uno strumento disponibile in Windows 10 SDK che consente di creare pacchetti MSIX e quindi di aggregarli in bundle. Userai questo strumento per creare un bundle dei due pacchetti MSIX.

MakeAppx.exe può essere usato per estrarre il contenuto dei file di un pacchetto dell'app o un bundle di Windows 10. Consente anche di crittografare e decrittografare pacchetti dell'app e bundle.

Una volta installato Windows 10 SDK, MakeAppx.exe si trova in genere qui:

  • [x86] - C:\Programmi (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe
  • [x64] - C:\Programmi (x86)\Windows Kits\10\bin\10.0.17763.0\x64\MakeAppx.exe

Passaggio 2: Aggregare i pacchetti

Il modo più facile per creare un bundle di pacchetti con MakeApp.exe consiste nell'aggiungere tutti i pacchetti che vuoi aggregare in un'unica cartella. La directory deve essere gratuita di tutto il resto tranne i pacchetti che devono essere raggruppati.

Sposta i pacchetti dell'app che vuoi aggregare in un bundle in un'unica directory, come illustrato nello screenshot seguente.

Bundle packages in a directory

Nota

MakeAppx.exe crea bundle solo di pacchetti che hanno la stessa identità, ossia pacchetti con gli stessi ID app, editore e versione. Solo l'architettura del processore del pacchetto per un pacchetto di applicazione può essere diversa.

MakeAppx.exe usa la sintassi della riga di comando seguente.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d input_directorypath 
/p <filepath>.msixbundle

Ecco un comando di esempio.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d c:\AppPackages\ 
/p c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Dopo l'esecuzione del comando, viene creato un file con estensione msixbundle non firmato percorso specificato. Non è necessario firmare i pacchetti prima della creazione di bundle.

Passaggio 3: Firmare il bundle

Dopo aver creato il bundle, è necessario firmare il pacchetto prima di poter distribuire l'app agli utenti o installarla.

Per firmare un pacchetto, è necessario un certificato di firma di codice generale e usare SignTool.exe da Windows 10 SDK.

È consigliabile usare un certificato attendibile dell'autorità di certificazione per semplificare la distribuzione del pacchetto nei dispositivi degli utenti finali. Una volta ottenuto l'accesso al certificato privato (file con estensione pfx), è possibile firmare il pacchetto come illustrato di seguito.

Nota

SignTool.exe è disponibile nella stessa directory di MakeAppx.exe in Windows 10 SDK.

SignTool.exe usa la sintassi della riga di comando seguente.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd <Hash Algorithm> /a 
/f <Path to Certificate>.pfx /p <Your Password> <File path>.msixbundle

Ecco un comando di esempio.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd SHA256 /a 
/f c:\private-cert.pfx /p aaabbb123 c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Per altre informazioni sulla firma di pacchetti dell'app con SignTool.exe, vedi questo articolo.

Dopo aver firmato correttamente il bundle, puoi ospitarlo in una condivisione di rete o in una qualsiasi rete di distribuzione di contenuti per distribuirlo ai tuoi utenti.