Cenni preliminari sulla distribuzione

Negli argomenti di questa sezione vengono presentate opzioni e indicazioni sulla distribuzione di diversi tipi di app di Windows.

Vantaggi e svantaggi della creazione di pacchetti dell'app

La prima decisione sarà se creare o meno il pacchetto dell'app.

  • App in pacchetto. Le app in pacchetto sono l'unico tipo con identità del pacchetto in fase di esecuzione. L'identità del pacchetto è necessaria per molte funzionalità di estendibilità di Windows, tra cui attività in background, notifiche, riquadri animati, estensioni del menu di scelta rapida personalizzate e destinazioni di condivisione. Questo perché il sistema operativo (OS) deve essere in grado di identificare il chiamante dell'API corrispondente. Vedere Funzionalità che richiedono l'identità del pacchetto.
    • In genere, il processo di un'app in pacchetto viene eseguito all'interno di un contenitore di app leggero ed è isolato tramite virtualizzazione del file system e del Registro di sistema (vedereAppContainer per le app legacy e App AppContainer MSIX). È tuttavia possibile configurare un'app in pacchetto per nonessere eseguita in un contenitore di app.
    • Un'app in pacchetto viene inserita in un pacchetto usando la tecnologia MSIX. Vedere Che cos'è MSIX?.
    • App in pacchetto con posizione esterna. Tuttavia, poiché alcune app esistenti non sono ancora pronte per tutti i contenuti da presentare all'interno di un pacchetto MSIX, è possibile creare un pacchetto dell'app con posizione esterna. Ciò consente all'app di avere l'identità del pacchetto, riuscendo in questo modo a usare le funzionalità che la richiedono. Per altre informazioni, vedere Concedere l'identità del pacchetto tramite creazione di pacchetti con posizione esterna.
    • Un'app in pacchetto può essere installata anche tramite MSIX. Tuttavia, se si sceglie di creare un pacchetto con posizione esterna, è possibile considerarlo come un modello BYOI (Bring-Your-Own-Installer). Con questa opzione sarà quindi necessario un po' di lavoro per il programma di installazione. Si tratta essenzialmente di un'opzione ibrida tra un pacchetto e un'app non in pacchetto.
  • App non in pacchetto. È possibile rifiutare esplicitamente l'uso di MSIX creando un'app non in pacchetto. Tenere tuttavia presente che un'app non in pacchetto non ha l'identità del pacchetto in fase di esecuzione; quindi perde alcune funzionalità di Windows. Vedere Funzionalità che richiedono l'identità del pacchetto.

Ogni tipo di app può essere pubblicato in Microsoft Store e installato in questo modo o tramite Programma di installazione app di Windows.

Importante

È consigliabile creare un pacchetto dell'app e configurarla per l'esecuzione in un contenitore di app. Sarà un'esperienza di installazione e aggiornamento facile, moderna e affidabile per i clienti; e sarà sicura in fase di esecuzione.

In pacchetto (e facoltativamente in esecuzione in un contenitore di app) Pacchetto con percorso esterno o senza pacchetto
Vantaggi Offre agli utenti un modo semplice per installare, disinstallare e aggiornare l'app. La disinstallazione è pulita. Quando l'app viene disinstallata, viene ripristinato lo stato del sistema precedente all'installazione, senza artefatti rimanenti. Questo tipo di app supporta anche aggiornamenti incrementali e automatici. Microsoft Store è inoltre ottimizzato per le app di questo tipo, anche se possono essere usate nello Store o all'esterno dello Store.

Si ottengono i vantaggi della disponibilità di un'identità del pacchetto.
Con queste opzioni, l'app non è limitata in termini di tipo di app, API che può richiamare e relativo accesso al Registro di sistema e al file system.

La creazione di pacchetti con posizione esterna consente di ottenere i vantaggi derivanti dall'identità del pacchetto.
Svantaggi La tua app è limitata in termini di tipo app e di azioni che possono essere eseguite all'interno del sistema. Ad esempio, un servizio NT non è possibile. Le opzioni di comunicazione tra processi sono limitate. L'accesso con privilegi elevati è limitato in caso di pubblicazione in Microsoft Store. L'accesso al file/Registro di sistema è virtualizzato (ma vedere anche Virtualizzazione flessibile). E in alcune situazioni i criteri aziendali possono disabilitare gli aggiornamenti disabilitando Microsoft Store. Con queste opzioni, si ottiene un'app che rischia di causare l'accumulo di dati di configurazione e software non aggiornati dopo la disinstallazione dell'app. Può trattarsi di un problema per il cliente e per il sistema.

L'app verrà in genere installata e aggiornata usando i file .exe o .msi oppure tramite altre soluzioni di installazione e aggiornamento, tramite un programma di installazione personalizzato, ClickOnce o una distribuzione xcopy.

Un'app non in pacchetto non offre i vantaggi derivanti dall'identità del pacchetto.

Per altre informazioni sul percorso di installazione dei pacchetti, la directory di lavoro e la virtualizzazione di file e Registro di sistema, vedere Informazioni sull'esecuzione delle app desktop in pacchetto in Windows.

Usare Windows App SDK

Dopo aver deciso se creare o meno il pacchetto dell'app, è possibile decidere se usare o meno Windows App SDK nell'app. Vedere Panoramica della distribuzione di Windows App SDK.

App desktop Win32 e .NET

Se si compila un'app desktop Win32 (talvolta denominata app desktop classica) o un'app .NET, inclusi Windows Presentation Foundation (WPF) e Windows Form (WinForms), è possibile creare un pacchetto e distribuire l'app usando MSIX.

È anche possibile creare un pacchetto e distribuire questi tipi di app usando altre tecnologie di installazione.

App UWP

Le app UWP vengono inserite in un pacchetto e distribuite con MSIX.