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.
La creazione di pacchetti è una parte importante di qualsiasi progetto SDK per app di Windows. Per informazioni dettagliate sulle opzioni, vedi Vantaggi e svantaggi della creazione del pacchetto dell'app.
Se si sceglie di annullare il pacchetto di un'app WinUI nuova o esistente, seguire questa procedura:
Nel tuo .csproj file, trova il primo elemento PropertyGroup esistente, che contiene anche OutputType, TargetFramework, e altre proprietà.
- Aggiungere la proprietà
WindowsPackageTypeproject a questo elemento PropertyGroup. Impostarne il valore suNone.
<Project ...>
...
<PropertyGroup>
<WindowsPackageType>None</WindowsPackageType><!-- add this -->
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
...
</PropertyGroup>
...
</Project>
Per avviare l'app da Visual Studio (Debugging o Without Debugging> Selezionare il profilo di avvio Unpackaged dall'elenco a discesa Start. Se è selezionato il profilo Package, verrà visualizzato un errore di distribuzione in Visual Studio. Questo passaggio non è necessario se si avvia l'applicazione (.exe) dalla riga di comando o da Esplora file Windows.
API del programma di avvio automatico
L'impostazione della proprietà del progetto <WindowsPackageType>None</WindowsPackageType> fa sì che l'auto-initializer individui e carichi una versione del SDK per app di Windows più appropriata per la tua app.
Se sono necessarie esigenze avanzate, ad esempio la gestione degli errori personalizzata o il caricamento di una versione specifica del SDK per app di Windows, è possibile chiamare in modo esplicito l'API del programma di avvio automatico. Per ulteriori informazioni, vedi Usa il runtime del SDK per app di Windows per le app confezionate con ubicazione esterna o non confezionate, e Tutorial: Utilizza l'API bootstrapper in un'app confezionata con ubicazione esterna o non confezionata che usa il SDK per app di Windows.
Per altre informazioni sul programma di avvio automatico, vedi Architettura di distribuzione e panoramica per le app dipendenti dal framework.
Distribuzione del runtime di SDK per app di Windows
Le app WinUI 3 senza pacchetti dipendono dal runtime SDK per app di Windows installato nel computer dell'utente. Sono disponibili due opzioni per garantire che il runtime sia presente:
Opzione 1: programma di installazione del runtime di SDK per app di Windows (.exe) (scelta consigliata)
Includere il programma di installazione del runtime di SDK per app di Windows insieme alla tua app. Il programma di installazione del runtime è un .exe ridistribuibile che installa i pacchetti di runtime SDK per app di Windows necessari. Scaricalo dalla pagina delle release di SDK per app di Windows e includilo nel tuo programma di installazione o script di configurazione. Per indicazioni complete, vedere Usare il runtime di SDK per app di Windows per app confezionate con ubicazione esterna o non confezionate.
Gli utenti devono eseguire il programma di installazione di runtime una sola volta. Gli aggiornamenti successivi dell'app non richiedono la reinstallazione del runtime, a meno che non venga modificata la versione SDK per app di Windows richiesta.
Opzione 2: Distribuzione autonoma
Impostare <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> nel file di progetto per aggregare il runtime di SDK per app di Windows direttamente nella cartella di output dell'app. In questo modo viene rimossa la dipendenza di runtime. Gli utenti non devono installare alcun elemento separatamente.
<PropertyGroup>
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
</PropertyGroup>
Il compromesso: la cartella di output è notevolmente più grande (il runtime completo è incluso) e ogni aggiornamento dell'applicazione include l'intero runtime. Usare questa opzione per scenari di distribuzione semplici o quando non è possibile controllare gli elementi installati nel computer di destinazione.
Distribuisci app non confezionate che utilizzano SDK per app di Windows per il riferimento completo alla distribuzione di runtime.
Limitazione exe a file singolo
Importante
Le app WinUI 3 non in pacchetto non possono essere pubblicate come exe a file singolo. Il runtime di SDK per app di Windows e diverse dipendenze winUI 3 devono esistere come file separati. La funzionalità di pubblicazione a file singolo .NET non può aggregarle in un unico eseguibile.
Se per lo scenario è importante un'esperienza di distribuzione a file singolo, prendere in considerazione queste alternative:
- Usare il packaging MSIX — gli utenti ottengono un'unica esperienza di installazione (App Installer gestisce tutti i file) e si ottengono l'idoneità dello Store, l'identità del pacchetto e gli aggiornamenti predefiniti.
- Usare un programma di installazione tradizionale (WiX, Installazione di Inno): eseguire il wrapping della cartella di output in un singolo programma di installazione EXE che estrae e installa tutti i file necessari in modo trasparente
-
Usare un framework diverso — Le app macchine virtuali Windows e WinForms con
dotnet publish --self-contained -p:PublishSingleFile=truepossono produrre un singolo file EXE, anche se alcune dipendenze native possono ancora essere estratte in fase di esecuzione
Considerazioni sulla distribuzione per le app non in pacchetto
Le app WinUI 3 non in pacchetto non dispongono dell'identità del pacchetto, il che significa che non possono accedere a determinate funzionalità di Windows:
- Nessun aggiornamento automatico tramite il programma di installazione app o Windows Store
- Nessuna registrazione dell'attività in background tramite il manifest del pacchetto
- Nessuna associazione di tipi di file o gestori di protocollo tramite il manifesto del pacchetto
- Nessuna personalizzazione del riquadro del menu Start tramite il manifesto del pacchetto
Se sono necessarie queste funzionalità, prendere in considerazione la creazione di pacchetti con una posizione esterna come percorso intermedio che aggiunge l'identità del pacchetto senza richiedere la conversione MSIX completa.
→ Pubblica la prima app Windows per una panoramica completa delle opzioni di distribuzione per WinUI 3 e altri framework app Windows.