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.
- Creare un pacchetto MSIX da un programma di installazione esistente
- Compilare un pacchetto MSIX dal codice sorgente
- Gestire la distribuzione MSIX
È anche possibile creare un pacchetto e distribuire questi tipi di app usando altre tecnologie di installazione.
- Installazione e manutenzione di applicazioni
- Windows Installer
- Panoramica della pubblicazione di applicazioni .NET
- Distribuzione di .NET Framework e delle applicazioni
- Distribuzione di un'applicazione WPF
- Distribuzione ClickOnce per Windows Form
App UWP
Le app UWP vengono inserite in un pacchetto e distribuite con MSIX.
- Panoramica della creazione di pacchetti di app UWP
- Creare il pacchetto di un'app UWP con Visual Studio
- Gestire la distribuzione MSIX