Generazione di componenti del pacchetto MSIX

Questo articolo illustra come generare componenti del pacchetto MSIX per la creazione di pacchetti dell'applicazione usando gli strumenti da riga di comando (senza usare Visual Studio o MSIX Packaging Tool).

Per creare manualmente un pacchetto dell'app, è necessario creare un file manifesto del pacchetto, aggiungere i componenti del pacchetto e quindi eseguire lo strumento da riga di comando MakeAppx.exe per generare un pacchetto MSIX.

Preparare prima di tutto il pacchetto

Se non è ancora stato fatto, rivedere questa sezione su ciò che è necessario sapere prima di creare il pacchetto dell'applicazione.

Creare un manifesto di pacchetto

Creare un file, deno appxmanifest.xml e quindi aggiungerne il codice XML.

Si tratta di un modello di base che contiene gli elementi e gli attributi di cui necessita il pacchetto. I valori verranno aggiunti a questi valori nella sezione successiva.

<?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>

Compilare gli elementi a livello di pacchetto del file

Compilare questo modello con le informazioni che descrivono il pacchetto.

Informazioni sull'identità

Ecco un esempio di elemento Identity con testo segnaposto per gli attributi. È possibile impostare ProcessorArchitecture l'attributo su x64 o 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 il nome dell'applicazione è stato riservato nel Microsoft Store, è possibile ottenere il nome e il nome Publisher usando Partner Center. Se si prevede di eseguire il sideload dell'applicazione in altri sistemi, è possibile specificare nomi personalizzati, purché il nome dell'editore scelto corrisponda al nome del certificato utilizzato per firmare l'app.

Proprietà

L'elemento Properties ha 3 elementi figlio obbligatori. Di seguito è riportato un esempio di nodo Properties con il testo segnaposto per gli elementi . DisplayName è il nome dell'applicazione che si riserva nello Store per le app caricate nello Store.

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

Risorse

Di seguito è riportato un esempio di nodo Resources.

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

Dependencies

Per le app desktop per cui si crea un pacchetto, impostare sempre Name l'attributo su Windows.Desktop .

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

Funzionalità

Per le app desktop per cui si crea un pacchetto, è necessario aggiungere la runFullTrust funzionalità .

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

Compilare gli elementi a livello di applicazione

Compilare questo modello con le informazioni che descrivono l'app.

Elemento Application

Per le app desktop per cui si crea un pacchetto, EntryPoint l'attributo dell'elemento Application è sempre Windows.FullTrustApplication .

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

Elementi visivi

Ecco un esempio di nodo VisualElements.

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

(Facoltativo) Aggiungere asset non scollegati basati sulla destinazione

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. Per altre informazioni, vedere qui.

  1. Ottenere le immagini 44x44 corrette e quindi copiarle nella cartella che contiene le immagini (ad esempio, Asset).

  2. Per ogni immagine 44x44, crea una copia nella stessa cartella e aggiungi .targetsize-44_altform-unplated al nome file. Dovresti avere due copie di ogni icona, ognuna denominata in modo specifico. Dopo aver completato il processo, ad esempio, la cartella assets potrebbe contenereMYAPP_44x44.png e MYAPP_44x44.targetsize-44_altform-unplated.png.

    Nota

    In questo esempio, l'icona MYAPP_44x44.png è l'icona a cui si fa riferimento nell'attributo Square44x44Logo logo del pacchetto MSIX.

  3. Nel file manifesto impostare per BackgroundColor ogni icona che si sta rendendo trasparente.

  4. Passare alla sottosezione successiva per generare un nuovo file di indice delle risorse del pacchetto.

Generare un file di indice delle risorse del pacchetto (PRI) usando MakePri

Se si creano asset basati su destinazione come descritto nella sezione precedente o si modifica uno degli asset visivi dell'applicazione dopo aver creato il pacchetto, sarà necessario generare un nuovo file PRI.

In base al percorso di installazione dell'SDK,MakePri.exe si trova nel PC Windows 10:

  • x86: C:\Programmi (x86)\Windows Kits\10\bin \ < numero di > build\x86\makepri.exe
  • x64: C:\Programmi (x86)\Windows Kits\10\bin \ < numero di build >\x64\makepri.exe

Non c'è un versione ARM di questo strumento.

  1. Aprire un prompt dei comandi o una finestra di PowerShell.

  2. Passare alla cartella radice del pacchetto e quindi creare un file priconfig.xml eseguendo il comando <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US .

  3. Creare i file resources.pri usando il comando <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 al seguente: <path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml .

  4. Creare un pacchetto dell'applicazione usando le istruzioni del passaggio successivo.

Testare l'applicazione prima della creazione del pacchetto

È possibile distribuire l'applicazione non in pacchetto e testarla prima della creazione del pacchetto o della firma. A tale scopo, eseguire il cmdlet seguente da una finestra di PowerShell. Assicurarsi di passare il file manifesto dell'applicazione che si trova nella radice della directory del pacchetto con tutti gli altri componenti del pacchetto:

Add-AppxPackage –Register AppxManifest.xml

Al termine, L'app deve essere distribuita nel sistema ed è possibile testarla per assicurarsi che tutto funzioni prima della creazione del pacchetto. Per aggiornare i file .exe o .dll dell'app, sostituire i file esistenti nel pacchetto con quelli nuovi, aumentare il numero di versione in AppxManifest.xml ed eseguire di nuovo il comando precedente.

Creare un pacchetto dei componenti in msix

Il passaggio successivo consiste nell'usare MakeAppx.exe per generare un pacchetto MSIX per l'applicazione. Makeappx.exe è incluso in Windows 10 SDK e, se è installato Visual Studio, è possibile accedervi facilmente tramite il Prompt dei comandi per gli sviluppatori per Visual Studio.

Vedere Create an MSIX package or bundle with the MakeAppx.exe tool (Creare un pacchetto MSIX o un bundle con lo MakeAppx.exe app)

Nota

Un'applicazione in pacchetto viene sempre eseguita come utente interattivo e qualsiasi unità in cui si installa l'applicazione in pacchetto deve essere formattata in formato NTFS.