Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Questo articolo illustra un'architettura generale della distribuzione di Windows App SDK. I concetti seguenti si applicano principalmente alle app dipendenti dal framework di Windows App SDK. Un'app dipendente dal framework dipende dal runtime di Windows App SDK presente nel computer di destinazione.
Esistono due opzioni principali per distribuire un'app dipendente dal framework:
Metodo di distribuzione dell'app | Requisiti |
---|---|
Confezionato | - Deve dichiarare la dipendenza dal pacchetto Framework nel manifesto del pacchetto. - L'API di distribuzione è necessaria per le app distribuite tramite Microsoft Store ed è raccomandata per quelle distribuite al di fuori dello Store per garantire l'installazione delle dipendenze di runtime. |
Confezionato con ubicazione esterna o non confezionato | - Deve distribuire il runtime usando il programma di installazione o installando direttamente i pacchetti MSIX necessari. - Requisiti di runtime aggiuntivi: deve inizializzare l'accesso al runtime di Windows App SDK tramite l'API Bootstrap. |
Per altri dettagli su questi requisiti, vedere gli articoli seguenti:
- Guida alla distribuzione di Windows App SDK per le app in pacchetto dipendenti dal framework
- Guida alla distribuzione dello Windows App SDK per le app che dipendono dal framework, confezionate con percorso esterno o non confezionate
Termini chiave
Le sezioni seguenti definiscono i termini chiave per la distribuzione di Windows App SDK e altri dettagli su alcuni di questi pacchetti.
Termine | Definizione |
---|---|
runtime di Windows App SDK | Pacchetti MSIX richiesti da un'app per l'uso di Windows App SDK. Questi pacchetti includono: Framework, Main, Singleton e DDLM. A seconda delle funzionalità usate e del metodo di distribuzione dell'app, è necessario un determinato set di questi pacchetti nel computer di destinazione. |
Framework pacchetto | Contiene i file binari usati in fase di esecuzione dalle app (la maggior parte delle funzionalità di Windows App SDK). Il framework include un componente del programma di avvio automatico che consente alle app di installare automaticamente la versione più recente di Windows App SDK, che verrà aggiornata a intervalli regolari di rilascio. |
pacchetto principale | Pacchetto che contiene attività in background per tenere traccia delle dipendenze dinamiche e abilita gli aggiornamenti automatici per il pacchetto Framework da Microsoft Store. |
pacchetto Singleton | Contiene attività in background, servizi, estensioni dell'app e altri componenti non inclusi nel pacchetto framework, ad esempio Notifiche push. Si tratta in genere di un singolo processo a esecuzione prolungata gestito tra le app. |
Pacchetto Manager del Ciclo di Vita della Dipendenza Dinamica (DDLM) | Impedisce al sistema operativo di eseguire aggiornamenti di manutenzione per i pacchetti MSIX mentre è in uso un pacchetto con posizione esterna o un'app non in pacchetto. |
Bootstrapper | Un file binario locale dell'app utilizzato dalle app impacchettate con posizione esterna e dalle app non impacchettate per individuare e caricare la versione di Windows App SDK più adatta secondo le esigenze dell'app. |
Fornitura | Il processo di installazione e registrazione di pacchetti (inclusi file e chiavi del Registro di sistema) a livello di sistema per eliminare la necessità di installazione ripetuta da parte degli altri utenti. Può essere eseguita come parte del sistema operativo o eseguita durante l'installazione di un'app. |
Installatore | Fa riferimento al programma di installazione di .exe che distribuisce i pacchetti Framework, Main, Singleton e DDLM. |
MSIX | Tecnologia di installazione moderna che consente agli utenti di installare in modo sicuro un'app per utente, direttamente da Microsoft Store o da un sito Web. Nei PC aziendali o condivisi, le app possono essere installate per tutti gli utenti tramite PowerShell e MDM. |
Pacchetto framework
Quando crei un'app che usa Windows App SDK, la tua app fa riferimento a un set di componenti di runtime di Windows App SDK distribuiti agli utenti finali tramite un pacchetto framework. Il pacchetto framework consente alle app di accedere ai componenti di Windows App SDK tramite una singola origine condivisa nel dispositivo dell'utente, invece di raggrupparli nel pacchetto dell'app. Il pacchetto framework include anche le proprie risorse, ad esempio le DLL e le definizioni API (registrazioni COM e Windows Runtime). Queste risorse vengono eseguite nel contesto dell'app, quindi ereditano le funzionalità e i privilegi dell'app e non asseriscono alcuna funzionalità o privilegi propri. Per altre informazioni sulle dipendenze dei pacchetti framework, vedere pacchetti del framework MSIX e dipendenze dinamiche.
Il pacchetto framework di Windows App SDK è un pacchetto MSIX distribuito agli utenti finali tramite Microsoft Store. Può essere aggiornato facilmente e rapidamente con le versioni di manutenzione, che possono includere correzioni di sicurezza e affidabilità. Tutte le app dipendenti dal framework che usano Windows App SDK hanno una dipendenza da un'istanza condivisa del pacchetto framework, come illustrato nel diagramma seguente.
Quando viene gestita una nuova versione del pacchetto framework di Windows App SDK, tutte le app dipendenti dal framework vengono aggiornate alla nuova versione senza dover ridistribuire una copia. Windows si aggiorna alla versione più recente dei framework non appena vengono rilasciati, e le app fanno automaticamente riferimento alla versione più recente del pacchetto framework durante il riavvio. Le versioni precedenti del pacchetto framework non verranno rimosse dal sistema finché non vengono più in esecuzione o usate attivamente dalle app nel sistema.
Poiché la compatibilità delle app è importante per Microsoft e per le app che dipendono da Windows App SDK, il pacchetto framework di Windows App SDK segue regole di controllo delle versioni semantiche 2.0.0. Ciò significa che dopo il rilascio della versione 1.0 di Windows App SDK, il pacchetto framework di Windows App SDK garantirà la compatibilità tra le modifiche delle versioni minori e delle patch, e i cambiamenti significanti si verificheranno solo tra gli aggiornamenti delle versioni principali.
Pacchetto Singleton
Il pacchetto singleton garantisce che un singolo processo a esecuzione prolungata possa gestire i servizi usati in più app, che possono essere eseguiti su versioni diverse di Windows App SDK.
Il singleton di Windows App SDK è necessario per abilitare le notifiche push per le app non impacchettate e le applicazioni Win32 impacchettate che usano le versioni di Windows precedenti alla 20H1, che non possono essere supportate dalla classe UWP esistente PushNotificationTrigger e dalla classe ToastNotificationActionTrigger. Le funzionalità future di Windows App SDK che non possono essere supportate dal pacchetto Framework verranno aggiunte al pacchetto Singleton.
Requisiti aggiuntivi per le app non in pacchetto
Programma di avvio automatico
Il programma di avvio automatico è una libreria che deve essere inclusa nel pacchetto con un percorso esterno o un'app non in pacchetto. Fornisce l'API del bootstrapper (consultare Usare il runtime di Windows App SDK per le app pacchettizzate con percorso esterno o non pacchettizzate), che consente alle app non pacchettizzate di eseguire queste importanti attività:
- Inizializzare il Dynamic Dependency Lifetime Manager (DDLM) per il pacchetto framework di Windows App SDK.
- Trova e carica il pacchetto framework di Windows App SDK nel grafo dei pacchetti dell'app.
Per eseguire queste attività, il pacchetto NuGet sfrutta gli inizializzatori di modulo per collegare il bootstrapper per te. È sufficiente impostare <WindowsPackageType>None</WindowsPackageType>
nel file di progetto. Negli scenari avanzati, se vuoi controllare l'inizializzazione, puoi chiamare l'API del programma di avvio automatico direttamente nel codice di avvio dell'app (vedi Tutorial: Use the bootstrapper API in an app packaged with external location or unpackaged that uses the Windows App SDK) in modo che possa inizializzare correttamente il sistema per l'app non in pacchetto. L'app deve usare l'API del programma di avvio automatico prima di poter usare le funzionalità di Windows App SDK, ad esempio WinUI, ciclo di vita dell'app, MRT Core e DWriteCore.
La libreria del programma di avvio automatico nella versione di Windows App SDK 1.0 include:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ e C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (wrapper C#)
Gestore della Durata del Ciclo di Vita delle Dipendenze Dinamiche (DDLM)
Lo scopo del DDLM è impedire la manutenzione del pacchetto del framework Windows App SDK mentre è in uso da un'app non impacchettata. Contiene un server che deve essere inizializzato dal bootstrapper all'inizio dell'avvio di un'app per fornire tale funzionalità.
È disponibile un DDLM per ogni versione e architettura del pacchetto framework di Windows App SDK. Ciò significa che su un x64
computer puoi avere sia una versione x86
che una versione x64
di DDLM per supportare le app di entrambe le architetture.
Requisiti aggiuntivi
- Per le app in pacchetto, la dipendenza del pacchetto framework VCLibs è un requisito. Per altre informazioni, vedere pacchetti del framework di runtime C++ per Desktop Bridge.
- Per le app non in pacchetto, Visual C++ Redistributable è un requisito. Per ulteriori informazioni, vedere Visual C++ Redistributable di Microsoft, ultimi download supportati.
- C#. Per il runtime .NET, vedi Scarica .NET.
Argomenti correlati
Windows developer