Creare un bundle di pacchetti MSIXBundle MSIX packages

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.This article describes the process of creating a bundle after converting x86 and x64 versions of your Windows installers using the 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.By bundling the multiple architecture versions of your installer into one entity, only the bundle needs to be uploaded to the Store or another distribution location. 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.The Windows 10 deployment platform is aware of the .msixbundle package type and will only download the files that are applicable for your device's architecture. Tieni presente che se decidi di distribuire un pacchetto msixbundle per una determinata app, non puoi più tornare a distribuire un pacchetto MSIX.Keep in mind that if you decide to distribute an .msixbundle for a particular app, you cannot revert back to distributing just an MSIX package.

La sezione seguente illustra dettagliatamente la compilazione di un pacchetto msixbundle.The following section presents a step-by-step approach to build an .msixbundle. Presuppone che tu abbia già convertito le versioni x86 e x64 esistenti del programma di installazione di Windows in pacchetti MSIX.It assumes that you have already converted your existing x86 and x64 versions of the Windows installer to MSIX packages.

ConfigurazioneSetup

Per creare correttamente un bundle MSIX è necessaria la configurazione seguente:You will need the following setup to successfully build an MSIX bundle:

  • Windows 10 SDK (versione 1809 o successive)Windows 10 SDK (version 1809 or above)
  • Pacchetti MSIX convertiti da x64 e x86Converted x64 and x86 MSIX packages

Passaggio 1: trovare MakeAppx.exeStep 1: Find MakeAppx.exe

MakeAppx.exe è uno strumento disponibile in Windows 10 SDK che consente di creare pacchetti MSIX e quindi di aggregarli in bundle.MakeAppx.exe is a tool available in the Windows 10 SDK that allows for packaging and bundling of MSIX packages. Userai questo strumento per creare un bundle dei due pacchetti MSIX.You will use this tool to bundle the two MSIX packages together.

MakeAppx.exe può essere usato per estrarre il contenuto dei file di un pacchetto dell'app o un bundle di Windows 10.MakeAppx.exe can be used to extract the file contents of a Windows 10 app package or bundle. Consente anche di crittografare e decrittografare pacchetti dell'app e bundle.It also encrypts and decrypts app packages and bundles.

Una volta installato Windows 10 SDK, MakeAppx.exe si trova in genere qui:After the Windows 10 SDK is installed, MakeAppx.exe is usually found here:

  • [x86] - C:\Programmi (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe[x86] - C:\Program Files (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[x64] - C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\MakeAppx.exe

Passaggio 2: aggregare i pacchettiStep 2: Bundle the packages

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.The easiest way to bundle packages with MakeApp.exe is to add all the packages that you want to bundle together in one folder. La directory non deve contenere altro che i pacchetti che devono comporre il bundle.The directory must be free of everything else except the packages that been to be bundled.

Sposta i pacchetti dell'app che vuoi aggregare in un bundle in un'unica directory, come illustrato nello screenshot seguente.Move the app packages that you want to bundle into one directory, as shown in the following screenshot.

Creare un bundle di pacchetti in una directory

Nota

MakeAppx.exe crea bundle solo di pacchetti che hanno la stessa identità, ossia pacchetti con gli stessi ID app, editore e versione.MakeAppx.exe only bundles packages that have the same identity, which means that the AppID, publisher, version needs to be the same. Solo l'architettura del processore del pacchetto per un pacchetto di applicazione può essere diversa.Only the package processor architecture for an application package can be different.

MakeAppx.exe usa la sintassi della riga di comando seguente.MakeAppx.exe has the following command line syntax.

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.Here is an example command.

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.After running the command, an unsigned .msixbundle will be created in the path specified. Non è necessario firmare i pacchetti prima della creazione di bundle.Packages do not need to be signed before bundling.

Passaggio 3: firmare il bundleStep 3: Sign the bundle

Dopo aver creato il bundle, è necessario firmare il pacchetto prima di poter distribuire l'app agli utenti o installarla.After you create the bundle, you must sign the package before you can distribute the app to your users or install it.

Per firmare un pacchetto, è necessario un certificato di firma di codice generale e usare SignTool.exe da Windows 10 SDK.To sign a package, you will need a general code signing certificate and use SignTool.exe from the Windows 10 SDK.

È consigliabile usare un certificato attendibile dell'autorità di certificazione per semplificare la distribuzione del pacchetto nei dispositivi degli utenti finali.We strongly recommend that you use a trusted cert from certificate authority as that allows for the package to be distributed and deployed on your end users devices seamlessly. Una volta ottenuto l'accesso al certificato privato (file con estensione pfx), è possibile firmare il pacchetto come illustrato di seguito.Once you have access to the private certificate (.pfx file), you can sign the package as shown below.

Nota

SignTool.exe è disponibile nella stessa directory di MakeAppx.exe in Windows 10 SDK.SignTool.exe is available in the same directory as MakeAppx.exe in the Windows 10 SDK.

SignTool.exe usa la sintassi della riga di comando seguente.SignTool.exe has the following command line syntax.

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.Here is an example command.

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.For more information about signing app packages with SignTool.exe, see this article.

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.After successfully signing the bundle, you are ready to host it on a network share or on any content distribution network to distribute it to your users.