Condividi tramite


Distribuire applicazioni ClickOnce per i server di test e produzione senza riassegnare

Questo articolo descrive una funzionalità di ClickOnce introdotta in .NET Framework versione 3.5 che consente la distribuzione di applicazioni ClickOnce da più percorsi di rete senza firmare nuovamente o modificare i manifesti ClickOnce.

Nota

La riassegnazione è ancora il metodo preferito per la distribuzione di nuove versioni delle applicazioni. Quando possibile, usare il metodo di riassegnazione. Per altre informazioni, vedere Mage.exe (Strumento per la generazione e la modifica di manifesti).

Gli sviluppatori e gli ISV di terze parti possono acconsentire esplicitamente a questa funzionalità, semplificando l'aggiornamento delle applicazioni da parte dei clienti. Questa funzionalità può essere usata nelle situazioni seguenti:

  • Quando si aggiorna un'applicazione, non per la prima installazione di un'applicazione.

  • Quando è presente una sola configurazione dell'applicazione in un computer. Ad esempio, se un'applicazione è configurata per puntare a due database diversi, non è possibile usare questa funzionalità.

Escludere deploymentProvider dai manifesti della distribuzione

In .NET Framework 2.0 e .NET Framework 3.0 qualsiasi applicazione ClickOnce installata nel sistema per la disponibilità offline deve elencare un nel deploymentProvider manifesto della distribuzione. Viene deploymentProvider spesso definito percorso di aggiornamento. Si tratta del percorso in cui ClickOnce verifica la presenza di aggiornamenti dell'applicazione. Questo requisito, insieme alla necessità per gli editori di applicazioni di firmare le distribuzioni, rendeva difficile per un'azienda aggiornare un'applicazione ClickOnce da un fornitore o da altre terze parti. Rende inoltre più difficile distribuire la stessa applicazione da più posizioni nella stessa rete.

Con le modifiche apportate a ClickOnce in .NET Framework 3.5, è possibile che una terza parte fornisca un'applicazione ClickOnce a un'altra organizzazione, che può quindi distribuire l'applicazione nella propria rete.

Per sfruttare questa funzionalità, gli sviluppatori di applicazioni ClickOnce devono escludere deploymentProvider dai manifesti di distribuzione. Questo requisito significa che è necessario escludere l'argomento -providerUrl quando si creano manifesti di distribuzione con Mage.exe. In alternativa, se si generano manifesti di distribuzione con MageUI.exe, è necessario assicurarsi che la casella di testo Percorso di avvio nella scheda Manifesto dell'applicazione sia lasciata vuota.

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.

deploymentProvider e aggiornamenti dell'applicazione

A partire da .NET Framework 3.5, non è più necessario specificare un oggetto deploymentProvider nel manifesto della distribuzione per distribuire un'applicazione ClickOnce per l'utilizzo online e offline. Questa modifica supporta lo scenario in cui è necessario creare il pacchetto e firmare manualmente la distribuzione, ma consentire ad altre aziende di distribuire l'applicazione nelle reti.

Il punto importante da ricordare è che le applicazioni che escludono un deploymentProvider non possono modificare il percorso di installazione durante gli aggiornamenti, fino a quando non includono di nuovo un aggiornamento che include di nuovo il deploymentProvider tag.

Ecco due esempi per chiarire questo punto. Nel primo esempio si pubblica un'applicazione ClickOnce senza deploymentProvider tag e si chiede agli utenti di installarla da http://www.adatum.com/MyApplication/. Se si decide di pubblicare l'aggiornamento successivo dell'applicazione da http://subdomain.adatum.com/MyApplication/, non è possibile firmarlo nel manifesto di distribuzione che risiede in http://www.adatum.com/MyApplication/. È possibile eseguire una delle due operazioni seguenti:

  • Indicare agli utenti di disinstallare la versione precedente e installare la nuova versione dal nuovo percorso.

  • Includere un aggiornamento in http://www.adatum.com/MyApplication/ che include un deploymentProvider puntatore a http://www.adatum.com/MyApplication/. Rilasciare quindi un altro aggiornamento in un secondo momento con deploymentProvider il puntatore a http://subdomain.adatum.com/MyApplication/.

    Nel secondo esempio si pubblica un'applicazione ClickOnce che specifica deploymentProvidere quindi si decide di rimuoverla. Una volta scaricata la nuova versione senza deploymentProvider i client, non è possibile reindirizzare il percorso usato per gli aggiornamenti fino a quando non si rilascia una versione dell'applicazione deploymentProvider ripristinata. Come per il primo esempio, deploymentProvider deve puntare inizialmente al percorso di aggiornamento corrente, non alla nuova posizione. In questo caso, se si tenta di inserire un oggetto deploymentProvider che fa riferimento a http://subdomain.adatum.com/MyApplication/, l'aggiornamento successivo ha esito negativo.

Creare una distribuzione

Per istruzioni dettagliate sulla creazione di distribuzioni che possono essere distribuite da percorsi di rete diversi, vedere Procedura dettagliata: Distribuire manualmente un'applicazione ClickOnce che non richiede la nuova firma e che mantiene le informazioni di personalizzazione.