Generazione dei componenti del pacchetto MSIXGenerating MSIX package components

Questo articolo illustra come generare i componenti del pacchetto MSIX per creare il pacchetto della tua applicazione usando gli strumenti da riga di comando (senza usare Visual Studio o MSIX Packaging Tool).This article shows you how to generate MSIX package components for packaging your application using command line tools (without using Visual Studio or the MSIX Packaging Tool).

Per creare manualmente il pacchetto dell'app, devi creare un file manifesto del pacchetto, aggiungere i componenti del pacchetto e quindi eseguire lo strumento della riga di comando MakeAppx.exe che consente di generare un pacchetto MSIX.To manually package your app, you need to create a package manifest file, add your package components and then run the MakeAppx.exe command line tool to generate an MSIX package.

Prima di tutto, prepararsi per la creazione del pacchettoFirst, prepare to package

Se non l'hai ancora fatto, rivedi questa sezione in Cosa bisogna sapere prima di creare il pacchetto di un'applicazione.If you haven't yet, review this section on what you need to know before packaging your application.

Creare un manifesto del pacchettoCreate a package manifest

Crea un file, assegnagli il nome appxmanifest.xml e quindi aggiungi al file il codice XML seguente.Create a file, name it appxmanifest.xml, and then add this XML to it.

Questo è un modello di base contenente gli elementi e gli attributi richiesti dal pacchetto.It's a basic template that contains the elements and attributes that your package needs. A questi verranno aggiunti valori nella sezione successiva.We'll add values to these in the next section.

<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <Identity Name="" Version="" Publisher="" ProcessorArchitecture="" />
    <Properties>
       <DisplayName></DisplayName>
       <PublisherDisplayName></PublisherDisplayName>
             <Description></Description>
      <Logo></Logo>
    </Properties>
    <Resources>
      <Resource Language="" />
    </Resources>
      <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="" MaxVersionTested="" />
      </Dependencies>
      <Capabilities>
        <rescap:Capability Name="runFullTrust"/>
      </Capabilities>
    <Applications>
      <Application Id="" Executable="" EntryPoint="Windows.FullTrustApplication">
        <uap:VisualElements DisplayName="" Description=""   Square150x150Logo=""
                   Square44x44Logo=""   BackgroundColor="" />
      </Application>
     </Applications>
  </Package>

Impostare gli elementi del file a livello di pacchettoFill in the package-level elements of your file

Immetti nel modello le informazioni che descrivono il tuo pacchetto.Fill in this template with information that describes your package.

Informazioni sull'identitàIdentity information

Ecco un esempio dell'elemento Identity con il testo segnaposto per gli attributi.Here's an example Identity element with placeholder text for the attributes. Puoi impostare l'attributo ProcessorArchitecture su x64 o x86.You can set the ProcessorArchitecture attribute to x64 or x86.

<Identity Name="MyCompany.MySuite.MyApp"
          Version="1.0.0.0"
          Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
                ProcessorArchitecture="x64">

Nota

Se in Microsoft Store hai riservato il nome dell'applicazione, puoi recuperare il nome e l'editore usando il Centro per i partner.If you've reserved your application name in the Microsoft Store, you can obtain the Name and Publisher by using Partner Center. Se prevedi di trasferire localmente l'app in altri sistemi, puoi specificare nomi personalizzati per tali sistemi, purché il nome dell'editore scelto corrisponda a quello riportato sul certificato usato per firmare l'app.If you plan to sideload your application onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.

ProprietàProperties

L'elemento Properties ha tre elementi figlio obbligatori.The Properties element has 3 required child elements. Ecco un esempio del nodo Properties con il testo segnaposto per gli elementi.Here is an example Properties node with placeholder text for the elements. DisplayName è il nome della tua applicazione riservato nello Store, nel caso di app caricate nello Store.The DisplayName is the name of your application that you reserve in the Store, for apps which are uploaded to the Store.

<Properties>
  <DisplayName>MyApp</DisplayName>
  <PublisherDisplayName>MyCompany</PublisherDisplayName>
  <Logo>images\icon.png</Logo>
</Properties>

RisorseResources

Ecco un esempio del nodo Resources.Here is an example Resources node.

<Resources>
  <Resource Language="en-us" />
</Resources>

DipendenzeDependencies

Per le app desktop per cui crei un pacchetto, imposta sempre l'attributo Name su Windows.Desktop.For desktop apps that you create a package for, always set the Name attribute to Windows.Desktop.

<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>

FunzionalitàCapabilities

Per le app desktop per cui crei un pacchetto, dovrai aggiungere la funzionalità runFullTrust.For desktop apps that you create a package for, you'll have to add the runFullTrust capability.

<Capabilities>
  <rescap:Capability Name="runFullTrust"/>
</Capabilities>

Impostare gli elementi a livello di applicazioneFill in the application-level elements

Immetti nel modello le informazioni che descrivono l'app.Fill in this template with information that describes your app.

Elemento ApplicationApplication element

Per le app desktop per cui crei un pacchetto, l'attributo EntryPoint dell'elemento Application è sempre Windows.FullTrustApplication.For desktop apps that you create a package for, the EntryPoint attribute of the Application element is always Windows.FullTrustApplication.

<Applications>
  <Application Id="MyApp"     
        Executable="MyApp.exe" EntryPoint="Windows.FullTrustApplication">
   </Application>
</Applications>

Elementi visiviVisual elements

Ecco un esempio del nodo VisualElements.Here is an example VisualElements node.

<uap:VisualElements
    BackgroundColor="#464646"
    DisplayName="My App"
    Square150x150Logo="images\icon.png"
    Square44x44Logo="images\small_icon.png"
    Description="A useful description" />

(Facoltativo) Aggiungere asset senza livello di sfondo di dimensioni fisse(Optional) Add Target-based unplated assets

Gli asset di dimensioni fisse sono destinati alle icone e ai riquadri visualizzati nella barra delle applicazioni di Windows, nella visualizzazione attività, tramite la sequenza ALT+TAB, tramite l'affiancamento guidato e nell'angolo inferiore destro del riquadro Start.Target-based assets are for icons and tiles that appear on the Windows taskbar, task view, ALT+TAB, snap-assist, and the lower-right corner of Start tiles. Puoi leggere qui altre informazioni al riguardo.You can read more about them here.

  1. Ottieni le immagini 44x44 corrette e quindi copiale nella cartella che contiene le tue immagini, ad esempio Asset.Obtain the correct 44x44 images and then copy them into the folder that contains your images (i.e., Assets).

  2. Per ogni immagine 44x44, crea una copia nella stessa cartella e aggiungi .targetsize-44_altform-unplated al nome file.For each 44x44 image, create a copy in the same folder and append .targetsize-44_altform-unplated to the file name. Dovresti avere due copie di ogni icona, ognuna denominata in modo specifico.You should have two copies of each icon, each named in a specific way. Ad esempio, al termine del processo, la cartella degli asset potrebbe contenere MYAPP_44x44.png e MYAPP_44x44.targetsize-44_altform-unplated.png.For example, after completing the process, your assets folder might contain MYAPP_44x44.png and MYAPP_44x44.targetsize-44_altform-unplated.png.

    Nota

    In questo esempio, l'icona denominata MYAPP_44x44.png è l'icona a cui farai riferimento nell'attributo del logo Square44x44Logo del tuo pacchetto MSIX.In this example, the icon named MYAPP_44x44.png is the icon that you'll reference in the Square44x44Logo logo attribute of your MSIX package.

  3. Nel file manifesto imposta BackgroundColor per ogni icona che vuoi rendere trasparente.In the manifest file, set the BackgroundColor for every icon you are making transparent.

  4. Continua con la sottosezione successiva per generare un nuovo file di indice risorse (PRI) del pacchetto.Continue to the next subsection to generate a new Package Resource Index file.

Generare un file di indice risorse con MakePriGenerate a Package Resource Index (PRI) file using MakePri

Se crei asset di dimensioni fisse come descritto nella sezione precedente o modifichi uno qualsiasi degli asset visivi della tua applicazione dopo aver creato il pacchetto, dovrai generare un nuovo file PRI.If you create target-based assets as described in the section above, or you modify any of the visual assets of your application after you've created the package, you'll have to generate a new PRI file.

Ecco dove si trova lo strumento MakePri.exe nel computer Windows 10 in base al percorso di installazione dell'SDK:Based on your installation path of the SDK, this is where MakePri.exe is on your Windows 10 PC:

  • x86: C:\Programmi (x86)\Windows Kits\10\bin\<numero build>\x86\makepri.exex86: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x86\makepri.exe
  • x64: C:\Programmi (x86)\Windows Kits\10\bin\<numero build>\x64\makepri.exex64: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x64\makepri.exe

Non c'è un versione ARM di questo strumento.There is no ARM version of this tool.

  1. Apri un prompt dei comandi o una finestra di PowerShell.Open a Command Prompt or PowerShell window.

  2. Passa alla cartella radice del pacchetto e crea un file priconfig.xml eseguendo il comando <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US.Change directory to the package's root folder, and then create a priconfig.xml file by running the command <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US.

  3. Crea i file resources.pri usando il comando <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.Create the resources.pri file(s) by using the command <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.

    Ad esempio, il comando per l'applicazione potrebbe essere simile a questo: <path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml.For example, the command for your application might look like this: <path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml.

  4. Crea un pacchetto della tua applicazione in base alle istruzioni nel passaggio seguente.Package your application by using the instructions in the next step.

Testare l'applicazione prima della creazione del pacchettoTest your application before packaging

Puoi distribuire l'applicazione non in pacchetto e testarla prima di creare il pacchetto o la firma.You can deploy your non-packaged application and test it before packaging or signing. A tale scopo, esegui il cmdlet riportato di seguito da una finestra di PowerShell.To do so, run the cmdlet below from a PowerShell window. Assicurati di passare il file manifesto dell'applicazione che si trova nella radice della directory del pacchetto con tutti gli altri componenti:Make sure to pass in your application's manifest file located in the root of your package directory with all your other package components:

Add-AppxPackage –Register AppxManifest.xml

Al termine dell'operazione,Once this is done. l'applicazione dovrebbe essere distribuita nel sistema e puoi testarla per verificare che tutto funzioni prima di creare il pacchetto.Your app should be deployed on the system and you can test it to make sure everything works before packaging. Per aggiornare i file con estensione exe o dll della tua applicazione, sostituisci i file esistenti nel pacchetto con quelli nuovi, aumenta il numero di versione in AppxManifest.xml e quindi esegui di nuovo il comando precedente.To update your app's .exe or .dll files, replace the existing files in your package with the new ones, increase the version number in AppxManifest.xml, and then run the above command again.

Creare un pacchetto MSIX per i componentiPackage your components into an MSIX

Il passaggio successivo consiste nell'usare MakeAppx.exe per generare un pacchetto MSIX per la tua applicazione.The next step is to use MakeAppx.exe to generate an MSIX package for your application. Makeappx.exe è incluso in Windows 10 SDK. Se hai installato Visual Studio, è facilmente accessibile tramite il prompt dei comandi per gli sviluppatori di Visual Studio.Makeappx.exe is included with the Windows 10 SDK, and if you have Visual Studio installed, it can be easily accessed through the Developer Command Prompt for Visual Studio.

Vedi Creare un pacchetto o un bundle MSIX con lo strumento MakeAppx.exeSee Create an MSIX package or bundle with the MakeAppx.exe tool

Nota

Un'applicazione in pacchetto viene sempre eseguita con i privilegi di utente interattivo e qualsiasi unità in cui installi l'applicazione in pacchetto deve avere il formato NTFS.A packaged application always runs as an interactive user, and any drive that you install your packaged application on to must be formatted to NTFS format.