Procedura dettagliata: distribuire manualmente un'applicazione ClickOnce che non richiede la firma di nuovo e che mantiene le informazioni di personalizzazione
Quando si crea un'applicazione ClickOnce e la si assegna a un cliente per pubblicare e distribuire, il cliente ha tradizionalmente dovuto aggiornare il manifesto della distribuzione e firmarlo nuovamente. Sebbene sia ancora il metodo preferito nella maggior parte dei casi, .NET Framework 3.5 consente di creare distribuzioni ClickOnce che possono essere distribuite dai clienti senza dover rigenerare un nuovo manifesto della distribuzione. Per altre informazioni, vedere Distribuire applicazioni ClickOnce per i server di test e di produzione senza riassegnazione.
Quando si crea un'applicazione ClickOnce e la si assegna a un cliente per pubblicare e distribuire, l'applicazione può usare il marchio del cliente o conservare il marchio. Ad esempio, se l'applicazione è una singola applicazione proprietaria, è possibile mantenere la personalizzazione. Se l'applicazione è altamente personalizzata per ogni cliente, è possibile usare il marchio del cliente. .NET Framework 3.5 consente di mantenere la personalizzazione, le informazioni sull'editore e la firma di sicurezza quando si assegna un'applicazione a un'organizzazione da distribuire. Per altre informazioni, vedere Creare applicazioni ClickOnce per altri utenti da distribuire.
Nota
In questa procedura dettagliata si creano manualmente distribuzioni usando lo strumento da riga di comando Mage.exe o lo strumento grafico MageUI.exe. Per altre informazioni sulle distribuzioni manuali, vedere Procedura dettagliata: Distribuire manualmente un'applicazione ClickOnce.
Nota
In ClickOnce per .NET Core 3.1 e .NET 5 o versione successiva usare dotnet-mage.exe anziché Mage.exe. Per altre informazioni, vedere ClickOnce per .NET.
Prerequisiti
Per eseguire la procedura descritta in questa procedura dettagliata, è necessario quanto segue:
Un'applicazione Windows Form che si è pronti per la distribuzione. Questa applicazione verrà definita WindowsFormsApp1.
Visual Studio o Windows SDK.
Per distribuire un'applicazione ClickOnce con più distribuzioni e supporto di personalizzazione con Mage.exe
Aprire un prompt dei comandi di Visual Studio o un prompt dei comandi di Windows SDK e passare alla directory in cui verranno archiviati i file ClickOnce.
Creare una directory denominata in base alla versione corrente della distribuzione. Se è la prima volta che si distribuisce l'applicazione, è probabile che si scelga 1.0.0.0.
Nota
La versione della distribuzione può essere diversa dalla versione dei file dell'applicazione.
Creare una sottodirectory denominata bin e copiare tutti i file dell'applicazione qui, inclusi file eseguibili, assembly, risorse e file di dati.
Generare il manifesto dell'applicazione con una chiamata a Mage.exe.
mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
Firmare il manifesto dell'applicazione con il certificato digitale.
mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
Generare il manifesto della distribuzione con una chiamata a Mage.exe. Per impostazione predefinita, Mage.exe contrassegna la distribuzione ClickOnce come applicazione installata, in modo che possa essere eseguita sia online che offline. Per rendere disponibile l'applicazione solo quando l'utente è online, usare l'argomento
-i
con il valoref
. Poiché questa applicazione sfrutta la funzionalità di distribuzione multipla, escludere l'argomento-providerUrl
in Mage.exe. Nelle versioni di .NET Framework precedenti alla versione 3.5, l'esclusione-providerUrl
per un'applicazione offline genererà un errore.mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
Non firmare il manifesto della distribuzione.
Fornire tutti i file al cliente, che distribuirà l'applicazione nella rete.
A questo punto, il cliente deve firmare il manifesto della distribuzione con il proprio certificato generato automaticamente. Ad esempio, se il cliente lavora per una società denominata Adventure Works, può generare un certificato autofirmato usando lo strumento MakeCert.exe . Usare quindi lo strumento Pvk2pfx.exe per combinare i file creati da MakeCert.exe in un file PFX che può essere passato a Mage.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Il cliente usa quindi questo certificato per firmare il manifesto della distribuzione.
mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
Il cliente distribuisce l'applicazione agli utenti.
Per distribuire un'applicazione ClickOnce con più distribuzioni e supporto di personalizzazione tramite MageUI.exe
Aprire un prompt dei comandi di Visual Studio o un prompt dei comandi di Windows SDK e passare alla directory in cui verranno archiviati i file ClickOnce.
Creare una sottodirectory denominata bin e copiare tutti i file dell'applicazione qui, inclusi file eseguibili, assembly, risorse e file di dati.
Creare una sottodirectory denominata dopo la versione corrente della distribuzione. Se è la prima volta che si distribuisce l'applicazione, è probabile che si scelga 1.0.0.0.
Nota
La versione della distribuzione può essere diversa dalla versione dei file dell'applicazione.
Spostare la directory \bin nella directory creata nel passaggio 2.
Avviare lo strumento grafico MageUI.exe.
MageUI.exe
Creare un nuovo manifesto dell'applicazione selezionando File, Nuovo, Manifesto applicazione dal menu.
Nella scheda Nome predefinito immettere il nome e il numero di versione di questa distribuzione. Specificare inoltre un valore per Publisher, che verrà usato come nome della cartella per il collegamento dell'applicazione nel menu Start quando viene distribuito.
Selezionare la scheda Opzioni applicazione e fare clic su Usa manifesto dell'applicazione per informazioni di attendibilità. In questo modo si abiliterà la personalizzazione di terze parti per questa applicazione ClickOnce.
Selezionare la scheda File e fare clic sul pulsante Sfoglia accanto alla casella di testo Directory applicazione.
Selezionare la directory contenente i file dell'applicazione creati nel passaggio 2 e fare clic su OK nella finestra di dialogo di selezione della cartella.
Fare clic sul pulsante Popola per aggiungere tutti i file dell'applicazione all'elenco di file. Se l'applicazione contiene più file eseguibili, contrassegnare il file eseguibile principale per questa distribuzione come applicazione di avvio selezionando Punto di ingresso dall'elenco a discesa Tipo di file. Se l'applicazione contiene solo un file eseguibile, MageUI.exe lo contrassegnerà per te.
Selezionare la scheda Autorizzazioni necessarie e selezionare il livello di attendibilità necessario per l'asserzione dell'applicazione. Il valore predefinito è Full Trust, che sarà appropriato per la maggior parte delle applicazioni.
Selezionare File, Salva dal menu e salvare il manifesto dell'applicazione. Al momento del salvataggio verrà richiesto di firmare il manifesto dell'applicazione.
Se si dispone di un certificato archiviato come file nel file system, usare l'opzione Firma come file di certificato e selezionare il certificato dal file system usando il pulsante con i puntini di sospensione (...).
-o-
Se il certificato viene mantenuto in un archivio certificati accessibile dal computer, selezionare l'opzione Sign with stored certificate (Firma con certificato archiviato) e selezionare il certificato dall'elenco fornito.
Selezionare File, Nuovo, Manifesto della distribuzione dal menu per creare il manifesto della distribuzione e quindi nella scheda Nome specificare un nome e un numero di versione (1.0.0.0 in questo esempio).
Passare alla scheda Aggiorna e specificare la frequenza di aggiornamento dell'applicazione. Se l'applicazione usa l'API di distribuzione ClickOnce per verificare la disponibilità di aggiornamenti, deselezionare la casella di controllo Con l'etichetta Questa applicazione deve verificare la disponibilità di aggiornamenti.
Passare alla scheda Riferimento applicazione. È possibile precompilare tutti i valori in questa scheda facendo clic sul pulsante Seleziona manifesto e selezionando il manifesto dell'applicazione creato nei passaggi precedenti.
Scegliere Salva e salvare il manifesto della distribuzione su disco. Al momento del salvataggio verrà richiesto di firmare il manifesto dell'applicazione. Fare clic su Annulla per salvare il manifesto senza firmarlo.
Fornire tutti i file dell'applicazione al cliente.
A questo punto, il cliente deve firmare il manifesto della distribuzione con il proprio certificato generato automaticamente. Ad esempio, se il cliente lavora per una società denominata Adventure Works, può generare un certificato autofirmato usando lo strumento MakeCert.exe . Usare quindi lo strumento Pvk2pfx.exe per combinare i file creati da MakeCert.exe in un file PFX che può essere passato a MageUI.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Con il certificato generato, il cliente firma ora il manifesto della distribuzione aprendo il manifesto della distribuzione in MageUI.exe e quindi salvandolo. Quando viene visualizzata la finestra di dialogo di firma, il cliente seleziona l'opzione Firma come file di certificato e sceglie il file PFX salvato su disco.
Il cliente distribuisce l'applicazione agli utenti.