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.
Il modo in cui si distribuisce l'app Windows influisce sui costi di firma del codice, sui meccanismi di aggiornamento, sulla gestibilità aziendale e sulla facilità di individuazione e installazione dei clienti. Questo articolo confronta i percorsi principali per aiutarti a fare la scelta giusta.
Suggerimento
Per la maggior parte degli sviluppatori, il Microsoft Store è il percorso consigliato. Offre un'ampia ricercabilità, un'esperienza di installazione attendibile e nessuna infrastruttura da gestire per gli invii MSIX (Microsoft fa il nuovo 'signing' e ospita il pacchetto). Vengono accettate anche le presentazioni degli installer MSI/EXE Win32: il publisher deve ospitare un URL di installer HTTPS versionato, vedere invio di app MSI/EXE. Gli invii MSIX ottengono la firma del codice gratuita e la consegna automatica degli aggiornamenti.
Annotazioni
Se l'app è basata su tecnologie Web (HTML, JavaScript, CSS), un Progressive Web App (PWA) è il percorso più rapido per l'Microsoft Store, senza strumenti di creazione di pacchetti nativi necessari.
Percorsi di distribuzione a colpo d'occhio
| Percorso | Ideale per | Costo della firma del codice | Aggiornamento automatico | MDM aziendale | Distribuito tramite Store |
|---|---|---|---|---|---|
| Microsoft Store (MSIX) | Applicazioni per consumatori e aziendali, ampia portata | ✅ Gratuito (Store firma nuovamente il pacchetto) | ✅ Integrato | ✅ attraverso Intune con Portale aziendale | ✅ Sì |
| Microsoft Store (programma di installazione MSI/EXE) | App Win32 esistenti con un programma di installazione personalizzato | 💲 Publisher deve firmare il programma di installazione e tutti i file PE con un certificato che forma una catena al Programma Microsoft Trusted Root | ❌ Manuale (app o programma di installazione gestisce gli aggiornamenti) | ✅ attraverso Intune con Portale aziendale | ✅ Sì |
| PWA (App Web Progressiva) | App Web ed esperienze basate sul Web | ✅ Gratuito (firma per te nel negozio) | ✅ Tramite Store o browser | ✅ attraverso Intune con Portale aziendale | ✅ Sì |
| Caricamento localizzato MSIX (enterprise) | Applicazioni interne linea di business con Intune/ConfigMgr | 💲 Firma di artefatti di Azure (in precedenza Firma attendibile) (~$10/mese) o certificato autofirmato + profilo di certificati di Intune | ✅ Tramite il file del programma di installazione delle app o MDM | ✅ Nativo | ❌ No |
| Download diretto MSIX (ISV) | App commerciali vendute dal proprio sito | 💲 Certificato con attendibilità CA obbligatorio (Azure Firma di artefatti (in precedenza Firma con attendibilità) consigliato) |
✅ Attraverso .appinstaller file |
⚠️ Limitato | ❌ No |
| Creazione di pacchetti con posizione esterna | Le app esistenti con un programma di installazione personalizzato necessitano di funzionalità di Windows | 💲 Uguale al download diretto MSIX | ✅ Il meccanismo esistente | ⚠️ Limitato | ⚠️ Tramite l'invio a MSI/EXE Store (richiesta di firma dell'editore) |
| WinUI 3 non confezionato | Nicchia: enterprise senza funzionalità MSIX o massima semplicità di installazione | 💲 Certificato consigliato per SmartScreen | ❌ Solo manuale | ⚠️ Limitato (tramite distribuzione Win32 con Intune/ConfigMgr) | ⚠️ Tramite l'invio a MSI/EXE Store (richiesta di firma dell'editore) |
Microsoft Store (scelta consigliata)
La pubblicazione nel Microsoft Store è la soluzione di distribuzione più completa per le app Windows. Sono disponibili due percorsi di invio:
- Invio MSIX : consigliato per le nuove app e le app WinUI 3. Microsoft risigna il pacchetto. Non è necessario acquistare alcun certificato. Include aggiornamenti gestiti dallo Store, implementazioni a fasi e download differenziali.
- Invio del programma di installazione MSI/EXE : per le app Win32 esistenti con il proprio programma di installazione. Publisher invia un URL HTTPS con versione al programma di installazione ospitato nella rete CDN del publisher; lo Store scarica ed esegue il programma di installazione da tale URL come parte del flusso di installazione dello Store. Publisher deve firmare il programma di installazione con un certificato che fa riferimento a una CA nel Programma Microsoft di radici attendibili. Gli aggiornamenti sono responsabilità dell'app.
Cosa si ottiene (entrambi i percorsi):
- Scoperta tramite la ricerca e le raccolte curate dello Store
- Esperienza utente di installazione attendibile
- Elaborazione dei ricavi, rimborsi e analisi incluse
- Distribuzione aziendale tramite Intune con Portale aziendale
Requisiti:
- MSIX è il formato di pacchetto consigliato: le app WinUI 3 sono in pacchetto per impostazione predefinita. Le app Win32 con un programma di installazione MSI o EXE esistente possono anche inviare tramite il percorso di installazione MSI/EXE (nota: gli invii MSI/EXE richiedono un concatenamento dei certificati a una CA nel Microsoft Programma radice attendibile - l'accesso autofirmato non è accettato; Gli aggiornamenti gestiti dallo Store non sono disponibili per questo percorso)
- L'app deve superare i requisiti di certificazione dello Store: requisiti MSIX | MSI/EXE
- Account sviluppatore obbligatorio (Centro per i partner)
Quando scegliere:
- L'app è destinata a consumatori o utenti aziendali in generale.
- Si desidera l'infrastruttura di distribuzione più semplice possibile
- Stai creando una nuova app WinUI 3 (hai già creato un pacchetto, basta inviare)
→ Pubblicare nel Microsoft Store
App Web progressiva (PWA)
Se l'app è un sito Web o si basa principalmente sulle tecnologie Web, un'app Web progressiva è il percorso più veloce per l'Microsoft Store, senza strumenti di creazione di pacchetti nativi o l'acquisto di firma del codice necessari.
PwA è un'app Web che i browser possono installare come app autonoma. Può essere eseguito offline, invia notifiche push, viene visualizzato nel menu Start e nella barra delle applicazioni e può essere distribuito tramite il Microsoft Store. Usare PWABuilder per creare un pacchetto del sito per l'invio nello Store in pochi minuti.
Cosa si ottiene:
- Distribuzione dello Store con firma gratuita del codice (Store firma il pacchetto)
- Funziona in qualsiasi dispositivo con un browser moderno
- Non è richiesta alcuna creazione manuale di MSIX, WiX o programma di installazione: strumenti come PWABuilder generano automaticamente il pacchetto di invio allo Store
- Recapito predefinito degli aggiornamenti: gli utenti ottengono sempre i contenuti Web più recenti (aggiornamenti del contenuto ospitati senza un nuovo invio nello Store)
Requisiti:
- L'app deve essere servita tramite HTTPS
- Un manifesto dell'app Web e un ruolo di lavoro del servizio
- L'app deve superare i requisiti di certificazione dello Store
Limitations:
- Le API di Windows native profonde (accesso al file system, integrazione hardware oltre le API Web) non sono disponibili senza bridging aggiuntivo
- La logica dell'app viene eseguita in un contesto Web, non adatta alle app che richiedono API Native .NET, C++o WinRT
Quando scegliere:
- L'app è un'app Web, uno strumento SaaS o un sito di contenuto che si vuole rendere installabile
- Vuoi il percorso più veloce dello Store con strumenti minimi
- I requisiti delle funzionalità sono soddisfatti dalle API Web moderne
Pubblicare una PWA sul Microsoft Store con PWABuilder
Installazione fuori store MSIX - Distribuzione applicazioni aziendali LOB
Per le app line-of-business interne che verranno distribuite ai dispositivi gestiti tramite Microsoft Intune o Gestione configurazione, il sideloading MSIX è il percorso consigliato.
Cosa si ottiene:
- Installazione silenziosa e aggiornamento tramite criteri MDM
- Integrazione con la gestione dei dispositivi aziendali (Intune, ConfigMgr)
- Identità del pacchetto completo e accesso alle funzionalità di Windows (notifiche, attività in background e così via)
Firma del codice:
- Usare Azure Artifact Signing (in precedenza Firma Attendibile) (~$10/mese) per ottenere un certificato fidato da CA oppure
- Usare un certificato autofirmato distribuito agli endpoint tramite profili certificati attendibili di Intune
Requisiti:
- I dispositivi di destinazione devono considerare attendibile il certificato di firma (tramite MDM o Criteri di gruppo)
- Il sideloading deve essere consentito sui dispositivi di destinazione (abilitato per impostazione predefinita in Windows 10 versione 2004+ e su tutti i dispositivi Windows 11)
Quando scegliere:
- Distribuzione di un'app interna ai dispositivi gestiti dall'azienda
- Si ha un team IT che può configurare l'attendibilità dei certificati tramite Intune o Criteri di gruppo
→ Distribuire app MSIX con Intune
Distribuire app MSIX con Gestione configurazione
Download diretto MSIX - App ISV e commerciali
Per le app commerciali vendute direttamente dal tuo sito Web (non tramite lo Store), puoi distribuire pacchetti MSIX con un .appinstaller file per il supporto degli aggiornamenti automatici.
Cosa si ottiene:
- Esperienza di installazione familiare tramite il programma di installazione app
- Supporto per l'aggiornamento automatico tramite
.appinstallerfile (ospitato nel server) - Identità del pacchetto completo e accesso alle funzionalità di Windows
- Controllare il proprio canale di distribuzione e i prezzi
Firma del codice:
- È necessario un certificato di firma del codice attendibile della CA: gli utenti non possono installare pacchetti MSIX non firmati o autofirmati senza considerare attendibile manualmente il certificato
- Firma degli Artefatti di Azure (in precedenza Firma Attendibile) (~$10/mese) è l'opzione consigliata di Microsoft: nessun token hardware necessario, si integra con le pipeline CI/CD
- I certificati OV tradizionali vengono accettati anche (in genere $ 150-300/anno da una CA)
Smartscreen: I nuovi certificati accumulano la reputazione di SmartScreen nel tempo in base al volume di download. Aspettatevi alcuni avvisi di SmartScreen per le nuove versioni. Vedi reputazione SmartScreen per sviluppatori di app Windows.
Importante
Il ms-appinstaller: protocollo URI (installazione del browser con un clic) è disabilitato per impostazione predefinita a partire da dicembre 2023. Scaricare direttamente il file .appinstaller o considerare la pubblicazione nello Store per una portata più ampia. Vedi Stato corrente delle funzionalità di distribuzione delle app Windows.
Quando scegliere:
- Sei un ISV che vende software direttamente dal tuo sito Web
- È necessario controllare l'esperienza utente, i prezzi o le licenze del programma di installazione che lo Store non supporta
- I clienti sono aziende che acquistano software all'esterno dello Store
→ Panoramica del file App Installer →
→ l'aggiornamento automatico e il ripristino delle app
Creazione di pacchetti con posizione esterna (pacchetto sparso)
Se si dispone di un'app esistente con il proprio programma di installazione (WiX, NSIS, InstallShield) e si vogliono aggiungere le funzionalità di Windows che richiedono l'identità del pacchetto, senza sostituire il programma di installazione con MSIX, usare il packaging con posizione esterna.
Cosa si ottiene:
- Identità del pacchetto senza modificare il programma di installazione o i percorsi binari
- Accesso alle funzionalità di Windows: notifiche, attività in background, associazioni di tipi di file, gestori del protocollo
- Il meccanismo di installazione e aggiornamento esistente rimane attivo
Cosa non si ottiene:
- Invio diretto di MSIX Store (il pacchetto sparse non viene inviato dallo Store; tuttavia, il programma di installazione sottostante può essere inviato tramite il percorso del programma di installazione MSI/EXE Store)
- Modello di installazione/disinstallazione pulito di MSIX completo
Quando scegliere:
- Hai un'app Win32/macchine virtuali Windows/WinForms esistente con un programma di installazione stabilito
- Si vogliono funzionalità api Windows specifiche che richiedono l'identità del pacchetto
- La migrazione completa a MSIX non è fattibile al momento
Concedere l'identità del pacchetto tramite impacchettamento con localizzazione esterna
WinUI 3 versione non pacchettizzata
La distribuzione senza pacchetti rimuove MSIX completamente dall'immagine: l'app viene eseguita direttamente da una cartella senza un manifesto del pacchetto. Si tratta di un'opzione di nicchia adatta a scenari specifici.
Cosa si ottiene:
- Output di compilazione più semplice (una cartella di file, senza strumenti MSIX)
- Nessuna infrastruttura MSIX necessaria nei computer di destinazione
- Funziona sulle macchine in cui il sideloading MSIX non è abilitato
Limitations:
- Nessun file EXE singolo — il runtime di SDK per app di Windows deve essere fornito come file separati insieme al tuo eseguibile
- Distribuzione del Runtime — È necessario includere il programma di installazione del runtime SDK per app di Windows oppure utilizzare l'opzione di distribuzione autonoma (dimensioni maggiori)
- Nessuna identità del pacchetto : nessun aggiornamento automatico, nessuna attività in background, nessuna associazione di tipi di file tramite manifesto
- Nessun invio di MSIX/package-identity Store : questo modello non ha identità del pacchetto e non può essere inviato allo Store come pacchetto MSIX. Un programma di installazione tradizionale (MSI/EXE) può essere inviato separatamente, ma che si trova all'esterno di questo percorso di distribuzione.
- Avvisi di SmartScreen se non firmati con un certificato attendibile di un'Autorità di Certificazione (CA)
Quando scegliere:
- L'ambiente di destinazione non può usare MSIX (non comune; la maggior parte degli ambienti aziendali gestiti supporta MSIX)
- Si sta creando uno strumento interno in cui il sovraccarico MSIX non è giustificato
Per la maggior parte delle app WinUI 3, MSIX (tramite Store o download diretto) è il percorso migliore. Le limitazioni sopra riportate spesso sorprendeno gli sviluppatori che li individuano dopo aver investito in una distribuzione non in pacchetto.
→ Distribuire un'app WinUI 3 non in pacchetto - Guida dettagliata con le opzioni di distribuzione di runtime
Molte app Windows vengono distribuite usando ClickOnce, MSI, WiX, Inno Setup o tecnologie simili. Queste opzioni sono definite e supportate, in particolare per le app che non possono usare MSIX o che non necessitano della distribuzione nello Store. La tabella seguente riepiloga le opzioni comuni e i relativi compromessi.
| metodo | Aggiornamento automatico | Firma del codice necessaria | Store idoneo | Ideale per |
|---|---|---|---|---|
| MSIX tramite Store | ✅ Integrato | ✅ Gratuito (segni dello Store) | ✅ Sì | La maggior parte delle app : punto di partenza consigliato |
| MSIX + .appinstaller | ✅ Integrato | 💲 Certificato autenticato da CA | ❌ No | ISV che distribuiscono direttamente da un sito Web |
| ClickOnce | ✅ Integrato | 💲 Certificato consigliato | ❌ No | Applicazioni macchine virtuali Windows/WinForms, non supportate da WinUI 3 |
| INSTALLAZIONE MSI/WiX/Inno | ⚠️ Manuale o personalizzato | 💲 Certificato consigliato | ⚠️ Tramite l'invio a MSI/EXE Store (vedere di seguito) | App con requisiti di installazione complessi o programma di installazione esistente |
| EXE autonomo (xcopy/zip) | ❌ Nessuno | 💲 Certificato consigliato | ❌ No | Utilità semplici; gruppi di destinatari per sviluppatori/utenti di power user |
| winget manifest | ✅ Tramite winget | 💲 Certificato consigliato | ❌ No | Qualsiasi dei suddetti: aggiunge l'individuabilità tramite winget install |
ClickOnce
ClickOnce è una tecnologia di distribuzione .NET integrata in Visual Studio. Ospita un manifesto in un server Web o in una condivisione file; gli utenti installano dall'URL del manifesto e ClickOnce gestisce i controlli di aggiornamento all'avvio. È un'ottima soluzione per le app macchine virtuali Windows e WinForms distribuite a una base di utenti nota.
ClickOnce non è supportato per le app WinUI 3. Usare MSIX con .appinstaller per la distribuzione diretta di WinUI 3.
→ la sicurezza e la distribuzione clickOnce
MSI, WiX, Installazione di Inno e NSIS
I programmi di installazione EXE e MSI tradizionali rimangono comuni per le app Windows con requisiti di installazione complessi (installazione del driver, servizi di sistema, configurazione del Registro di sistema). Gli strumenti come WiX Toolset, Inno Setup e NSIS sono gestiti dalla community e ampiamente usati. Il supporto degli aggiornamenti richiede un'implementazione personalizzata.
Questi formati non sono idonei per lo Store come pacchetti MSIX, ma possono essere inviati allo Store tramite il percorso del programma di installazione MSI/EXE (che richiede un concatenamento dei certificati a una CA nel programma Microsoft Trusted Root e un programma di installazione in grado di eseguire una installazione silenziosa). È anche possibile combinarli con imballaggio con posizione esterna qualora sia necessaria l'identità del pacchetto per funzionalità Windows specifiche.
EXE indipendente (distribuzione xcopy)
dotnet publish --self-contained produce una cartella di file (o un file EXE a file singolo) che gli utenti possono eseguire senza installare .NET. Si tratta del modello di distribuzione più semplice, ma richiede agli utenti di scaricare manualmente una nuova versione. Si adatta agli strumenti da riga di comando, alle utilità per sviluppatori e alle app power-user.
winget — aggiunta di visibilità a qualsiasi percorso di distribuzione
Indipendentemente dal formato di creazione del pacchetto, puoi inviare un manifesto al repository Windows Gestione pacchetti Community per rendere l'app installabile tramite winget install <your-app>. Questo non sostituisce il metodo di distribuzione esistente, ma aggiunge un percorso di installazione della riga di comando con valori per sviluppatori e destinatari tecnici.
Contenuti correlati
- Panoramica della creazione di pacchetti
- Reputazione di SmartScreen per gli sviluppatori di app di Windows
- Stato corrente delle funzionalità di distribuzione delle app Windows
- Pubblicare nel Microsoft Store
- Panoramica delle Progressive App Web
- Azure Firma di artefatti (in precedenza Firma attendibile)