Generazione di componenti del pacchetto MSIX

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

Per creare manualmente il 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.

Prima di tutto, prepararsi al pacchetto

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

Creare un manifesto di pacchetto

Creare un file, denominarlo appxmanifest.xmle quindi aggiungerlo al file XML.

Si tratta di un modello di base che contiene gli elementi e gli attributi necessari per il pacchetto. Questi valori verranno aggiunti 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 informazioni che descrivono il pacchetto.

Informazioni sull'identità

Ecco un esempio di elemento Identity con testo segnaposto per gli attributi. È possibile impostare l'attributo ProcessorArchitecture su x64 , x86 ( arm ad esempio ARM a 32 bit), arm64 , o neutral

<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 hai riservato il nome dell'applicazione in Microsoft Store, puoi ottenere il nome e il server di pubblicazione usando il Centro per i partner. Se si prevede di trasferire localmente l'applicazione in altri sistemi, è possibile specificare i propri nomi, purché il nome dell'editore scelto corrisponda al nome del certificato usato per firmare l'app.

Proprietà

L'elemento Properties ha 3 elementi figlio obbligatori. Di seguito è riportato un esempio di nodo Proprietà con 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 Risorse .

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

Dipendenze

Per le app desktop per cui si crea un pacchetto, impostare sempre l'attributo Name 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 informazioni che descrivono l'app.

Elemento Application

Per le app desktop per cui si crea un pacchetto, l'attributo EntryPoint 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 senza scalabilità basati su 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 Assets.

  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. Ad esempio, dopo aver completato il processo, la cartella assets potrebbe contenere MYAPP_44x44.png e MYAPP_44x44.targetsize-44_altform-unplated.png.

    Nota

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

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

  4. Continuare con la sottosezione successiva per generare un nuovo file di indice delle risorse del pacchetto.

Generare un file PRI (Package Resource Index) 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, è qui cheMakePri.exe si trova nel PC Windows 10:

  • x86: C:\Programmi (x86)\Windows Kits\10\bin\<build number>\x86\makepri.exe
  • x64: C:\Programmi (x86)\Windows Kits\10\bin\<build number>\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 nel passaggio successivo.

Testare l'applicazione prima della creazione del pacchetto

È possibile distribuire l'applicazione non in pacchetto e testarla prima della creazione di pacchetti 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 di questa operazione. 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 e quindi 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 Creare un pacchetto MSIX o un bundle con lo strumento di MakeAppx.exe

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.