Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
MSIX usa un modello di containerizzazione per isolare le app dal resto del sistema. A differenza delle tecnologie dei contenitori per utilizzo generico (ad esempio Docker), i contenitori MSIX non sono macchine virtuali e non richiedono un'immagine separata del sistema operativo. Al contrario, Windows reindirizza il file system e l'attività del Registro di sistema di un'app in fase di esecuzione, mantenendo le app autonome, consentendo loro di interagire con il resto del Windows normalmente.
Questo articolo illustra il modello di isolamento, i due livelli di attendibilità disponibili per le app in pacchetto e i vantaggi offerti da questo approccio.
Cosa significa la containerizzazione MSIX (e cosa non significa)
Quando si installa un pacchetto MSIX, Windows inserisce i file dell'app in un percorso protetto (C:\Program Files\WindowsApps\) che l'app stessa non può modificare. In fase di esecuzione, Windows fornisce all'app una visualizzazione virtualized del file system e del Registro di sistema: le letture passano al percorso di installazione del pacchetto e le scritture vengono reindirizzate a percorsi per utente gestiti da Windows.
Ciò significa:
- I file di installazione dell'app non vengono mai modificati in fase di esecuzione.
- Lo stato dell'app viene archiviato separatamente dai file binari dell'app, effettuando aggiornamenti, riparazioni e disinstallazioni pulite e affidabili.
Annotazioni
I contenitori MSIX sono una funzionalità di runtime Windows, non un ambiente del sistema operativo separato. L'app viene eseguita come processo di Windows nativo, ma ha solo una visualizzazione virtualizzata di determinate risorse di sistema.
Due livelli di attendibilità
Le app in pacchetto vengono eseguite a uno dei due livelli di attendibilità, che determinano il grado di isolamento:
Fiducia completa (livello medio di integrità)
Le app con attendibilità completa vengono eseguite con le stesse autorizzazioni di un'app desktop standard. Windows fornisce package identity e una virtualizzazione di file/registro, ma l'app può comunque accedere direttamente alla maggior parte delle risorse di sistema.
Questa è l'impostazione predefinita per le app convertite da programmi di installazione Win32 con MSIX Packaging Tool e per la maggior parte delle app desktop WinUI 3.
AppContainer (attendibilità parziale)
Le app AppContainer vengono eseguite in un ambiente strettamente isolato. Il processo e i relativi elementi figlio possono accedere solo alle risorse concesse in modo esplicito. Windows applica l'isolamento usando la virtualizzazione del file system e del Registro di sistema e i limiti di sicurezza di AppContainer.
Le app UWP vengono sempre eseguite in un AppContainer. Le app desktop possono anche acconsentire esplicitamente ad AppContainer dichiarandolo nel manifesto dell'app.
Suggerimento
Le app AppContainer ottengono le garanzie di sicurezza più solide, ma richiedono più lavoro per configurare correttamente, soprattutto per le app che si basano su un ampio accesso al sistema. Consultare le app di MSIX AppContainer per i passaggi di configurazione.
Vantaggi del modello di containerizzazione MSIX
| Beneficio | Descrizione |
|---|---|
| Disinstallazione pulita | Poiché Windows tiene traccia di tutto lo stato dell'app separatamente, la disinstallazione di un pacchetto MSIX rimuove tutti i file dell'app, le voci del Registro di sistema e le modifiche di sistema, senza artefatti rimanenti. I file creati dall'utente vengono mantenuti. |
| Aggiornamenti affidabili | I file binari dell'app sono di sola lettura in fase di esecuzione. Gli aggiornamenti sostituiscono il pacchetto in modo atomico e l'app può essere ripristinata, se necessario. |
| Nessun inquinamento del registro | Le scritture del Registro di sistema dall'app passano a un hive virtuale per utente, non a HKEY_LOCAL_MACHINE. Ciò impedisce la proliferazione del Registro di sistema, che è comune con i tradizionali programmi di installazione Win32. |
| Isolamento della sicurezza | Le app AppContainer sono limitate alle risorse concesse in modo esplicito, riducendo l'impatto di un processo compromesso. |
| Imposizione dell'integrità | Windows può rilevare manomissioni con i file di pacchetto in fase di esecuzione. Se un pacchetto viene manomesso, Windows blocca l'avvio e attiva il ripristino. Vedere Sign an MSIX package overview (Firma di un pacchetto MSIX). |
Ambito di virtualizzazione
Non tutti i percorsi del file system e del Registro di sistema sono virtualizzati. Windows applica un comportamento diverso a seconda della posizione a cui si accede:
- Le scritture nei file di installazione del pacchetto sono bloccate. Il percorso di installazione è di sola lettura.
- Le scritture in percorsi del sistema (ad esempio
C:\Windows\) vengono bloccate per le app AppContainer. - Le scritture nei percorsi dei profili utente (ad esempio
AppData) vengono reindirizzate ai percorsi specifici del pacchetto per le app AppContainer o passano direttamente per le app con attendibilità completa. - Le letture dai percorsi VFS in pacchetto vengono gestite dal pacchetto stesso, facendo in modo che l'app si comporti come se fosse installata in percorsi tradizionali ( ad esempio
C:\Program Files\).
Per informazioni tecniche dettagliate sul funzionamento della virtualizzazione del file system e del Registro di sistema, vedere Informazioni sull'esecuzione delle app desktop in pacchetto in Windows.
Contenitori condivisi
Per impostazione predefinita, ogni pacchetto MSIX viene eseguito nel proprio contenitore isolato. Per gli scenari aziendali in cui più pacchetti devono condividere un ambiente di runtime, ad esempio un'app principale e un pacchetto di personalizzazione, Windows supporta i contenitori di pacchetti condivisi . Un contenitore condiviso fornisce un set definito di pacchetti una visualizzazione unita tra loro del file system virtuale e del Registro di sistema.
Si tratta di una funzionalità solo aziendale che richiede privilegi amministrativi. Vedere Contenitore di pacchetti condivisi.
Virtualizzazione flessibile
A partire da Windows 11, le app possono scegliere in modo selettivo cartelle di file system specifiche o chiavi del Registro di sistema fuori dalla virtualizzazione, rendendole visibili ad altre app e renderle persistenti durante la disinstallazione. Ciò è utile per le app che devono condividere la configurazione o i dati con altre app, beneficiando al contempo del packaging MSIX.
Vedere Virtualizzazione flessibile.