Procedura dettagliata: Distribuire manualmente un'applicazione ClickOnce

Se non è possibile usare Visual Studio per distribuire l'applicazione ClickOnce o è necessario usare funzionalità di distribuzione avanzate, ad esempio Distribuzione di applicazioni attendibili, è consigliabile usare lo strumento da Mage.exe riga di comando per creare i manifesti ClickOnce. Questa procedura dettagliata descrive come creare una distribuzione ClickOnce usando la versione della riga di comando (Mage.exe) o la versione grafica (MageUI.exe) del Strumento per la generazione e la modifica di manifesti.

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

Questa procedura dettagliata include alcuni prerequisiti e opzioni che è necessario scegliere prima di compilare una distribuzione.

  • Installare Mage.exe e MageUI.exe.

    Mage.exe e MageUI.exe fanno parte di Windows Software Development Kit (SDK). È necessario che Windows SDK sia installato o la versione di Windows SDK inclusa in Visual Studio. Per altre informazioni, vedere Windows SDK su MSDN.

  • Specificare un'applicazione da distribuire.

    Questa procedura dettagliata presuppone che l'utente disponga di un'applicazione Windows pronta per la distribuzione. Questa applicazione verrà definita AppToDeploy.

  • Determinare come verrà distribuita la distribuzione.

    Le opzioni di distribuzione includono: Web, condivisione file o CD. Per altre informazioni, vedere ClickOnce Security and Deployment.

  • Determinare se l'applicazione richiede un livello di attendibilità elevato.

    Se l'applicazione richiede l'attendibilità totale, ad esempio l'accesso completo al sistema dell'utente, è possibile usare l'opzione -TrustLevel di Mage.exe per impostare questa impostazione. Se si vuole definire un set di autorizzazioni personalizzato per l'applicazione, è possibile copiare la sezione autorizzazione Internet o Intranet da un altro manifesto, modificarla in base alle proprie esigenze e aggiungerla al manifesto dell'applicazione usando un editor di testo o MageUI.exe. Per altre informazioni, vedere Cenni preliminari sulla distribuzione di applicazioni attendibili.

  • Ottenere un certificato Authenticode.

    È necessario firmare la distribuzione con un certificato Authenticode. È possibile generare un certificato di test usando Visual Studio, MageUI.exe, o MakeCert.exe strumenti Pvk2Pfx.exe oppure è possibile ottenere un certificato da un'autorità di certificazione (CA). Se si sceglie di usare la distribuzione di applicazioni attendibili, è necessario eseguire anche un'installazione monouso del certificato in tutti i computer client. Per altre informazioni, vedere Trusted Application Deployment Overview.

    Nota

    È anche possibile firmare la distribuzione con un certificato CNG che è possibile ottenere da un'autorità di certificazione.

  • Assicurarsi che l'applicazione non disponga di un manifesto con informazioni sull'account utente.

    È necessario determinare se l'applicazione contiene un manifesto con informazioni di controllo dell'account utente, ad esempio un <dependentAssembly> elemento. Per esaminare un manifesto dell'applicazione, è possibile usare l'utilità Sysinternals Sigcheck di Windows.

    Se l'applicazione contiene un manifesto con i dettagli di Controllo dell'account utente, è necessario ricompilarlo senza le informazioni sull'account utente. Per un progetto C# in Visual Studio, aprire le proprietà del progetto e selezionare la scheda Applicazione. Nell'elenco a discesa Manifesto selezionare Crea applicazione senza manifesto. Per un progetto Visual Basic in Visual Studio, aprire le proprietà del progetto, selezionare la scheda Applicazione e fare clic su Visualizza controllo dell'account utente Impostazioni. Nel file manifesto aperto rimuovere tutti gli elementi all'interno del singolo <asmv1:assembly> elemento.

  • Determinare se l'applicazione richiede i prerequisiti nel computer client.

    Le applicazioni ClickOnce distribuite da Visual Studio possono includere un programma di avvio automatico dell'installazione prerequisito (setup.exe) con la distribuzione. Questa procedura dettagliata crea i due manifesti necessari per una distribuzione ClickOnce. È possibile creare un programma di avvio automatico dei prerequisiti usando l'attività GenerateBootstrapper.

Per distribuire un'applicazione con lo strumento da riga di comando Mage.exe

  1. Creare una directory in cui verranno archiviati i file di distribuzione ClickOnce.

  2. Nella directory di distribuzione appena creata creare una sottodirectory version. Se è la prima volta che si distribuisce l'applicazione, denominare la sottodirectory della versione 1.0.0.0.

    Nota

    La versione della distribuzione può essere diversa dalla versione dell'applicazione.

  3. Copiare tutti i file dell'applicazione nella sottodirectory version, inclusi file eseguibili, assembly, risorse e file di dati. Se necessario, è possibile creare sottodirectory aggiuntive che contengono file aggiuntivi.

  4. Aprire il prompt dei comandi di Windows SDK o Visual Studio e passare alla sottodirectory della versione.

  5. Creare il manifesto dell'applicazione con una chiamata a Mage.exe. L'istruzione seguente crea un manifesto dell'applicazione per il codice compilato per l'esecuzione nel processore Intel x86.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Nota

    Assicurarsi di includere il punto (.) dopo l'opzione -FromDirectory , che indica la directory corrente. Se non si include il punto, è necessario specificare il percorso dei file dell'applicazione.

  6. Firmare il manifesto dell'applicazione con il certificato Authenticode. Sostituire mycert.pfx con il percorso del file del certificato. Sostituire passwd con la password per il file del certificato.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    A partire da .NET Framework 4.6.2 SDK, distribuito con Visual Studio e con Windows SDK, mage.exe firma manifesti con CNG e con i certificati Authenticode. Usare gli stessi parametri della riga di comando dei certificati Authenticode.

  7. Passare alla radice della directory di distribuzione.

  8. Generare il manifesto della distribuzione con una chiamata a Mage.exe. Per impostazione predefinita, Mage.exe contrassegnerà 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'opzione -Install con il valore false. Se si usa il valore predefinito e gli utenti installeranno l'applicazione da un sito Web o da una condivisione file, assicurarsi che il valore dell'opzione -ProviderUrl punti al percorso del manifesto dell'applicazione nel server Web o nella condivisione.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Firmare il manifesto della distribuzione con il certificato Authenticode o CNG.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Copiare tutti i file nella directory di distribuzione nella destinazione o nel supporto di distribuzione. Può trattarsi di una cartella in un sito Web o in un sito FTP, in una condivisione file o in un CD-ROM.

  11. Fornire agli utenti l'URL, l'UNC o i supporti fisici necessari per installare l'applicazione. Se si specifica un URL o un UNC, è necessario assegnare agli utenti il percorso completo al manifesto della distribuzione. Ad esempio, se AppToDeploy viene distribuito http://webserver01/ in nella directory AppToDeploy, il percorso URL completo sarà http://webserver01/AppToDeploy/AppToDeploy.application.

Per distribuire un'applicazione con lo strumento grafico MageUI.exe

  1. Creare una directory in cui verranno archiviati i file di distribuzione ClickOnce.

  2. Nella directory di distribuzione appena creata creare una sottodirectory version. Se è la prima volta che si distribuisce l'applicazione, denominare la sottodirectory della versione 1.0.0.0.

    Nota

    La versione della distribuzione è probabilmente diversa dalla versione dell'applicazione.

  3. Copiare tutti i file dell'applicazione nella sottodirectory version, inclusi file eseguibili, assembly, risorse e file di dati. Se necessario, è possibile creare sottodirectory aggiuntive che contengono file aggiuntivi.

  4. Avviare lo MageUI.exe strumento grafico.

    MageUI.exe
    
  5. Creare un nuovo manifesto dell'applicazione selezionando File, Nuovo, Manifesto applicazione dal menu.

  6. Nella scheda Nome predefinito digitare il nome e il numero di versione di questa distribuzione. Specificare anche il processore per cui viene compilata l'applicazione, ad esempio x86.

  7. Selezionare la scheda File e quindi selezionare il pulsante con i puntini di sospensione (...) accanto alla casella di testo Directory dell'applicazione. Viene visualizzata una finestra di dialogo Cerca cartella .

  8. Selezionare la sottodirectory version contenente i file dell'applicazione e quindi selezionare OK.

  9. Se si esegue la distribuzione da Internet Information Services (IIS), selezionare la casella di controllo Quando si popola l'estensione .deploy in qualsiasi file che non lo contiene.

  10. Passare al 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 un solo file eseguibile, MageUI.exe lo contrassegnerà automaticamente.

  11. Selezionare la scheda Autorizzazioni necessarie e selezionare il livello di attendibilità necessario per l'asserzione dell'applicazione. Il valore predefinito è FullTrust, che sarà adatto per la maggior parte delle applicazioni.

  12. Selezionare File, Salva con nome dal menu. Viene visualizzata una finestra di dialogo Opzioni di firma che richiede di firmare il manifesto dell'applicazione.

  13. Se si dispone di un certificato archiviato come file nel file system, usare l'opzione Firma con il file di certificato e selezionare il certificato dal file system usando il pulsante con i puntini di sospensione (...). Digitare quindi la password del certificato.

    oppure

    Se il certificato viene mantenuto in un archivio certificati accessibile dal computer, selezionare l'opzione Firma con certificato archiviato e selezionare il certificato dall'elenco fornito.

  14. Selezionare OK per firmare il manifesto dell'applicazione. Verrà visualizzata la finestra di dialogo Salva con nome .

  15. Nella finestra di dialogo Salva con nome specificare la directory della versione e quindi selezionare Salva.

  16. Selezionare File, Nuovo, Manifesto della distribuzione dal menu per creare il manifesto della distribuzione.

  17. Nella scheda Nome specificare un nome e un numero di versione per questa distribuzione (1.0.0.0 in questo esempio). Specificare anche il processore per cui viene compilata l'applicazione, ad esempio x86.

  18. Selezionare la scheda Descrizione e specificare i valori per Publisher e Product. Il prodotto è il nome assegnato all'applicazione in Windows menu Start quando l'applicazione viene installata in un computer client per l'uso offline.

  19. Selezionare la scheda Opzioni di distribuzione e nella casella di testo Percorso iniziale specificare il percorso del manifesto dell'applicazione nel server Web o nella condivisione. Ad esempio, \\myServer\myShare\AppToDeploy.application.

  20. Se l'estensione .deploy è stata aggiunta in un passaggio precedente, selezionare anche Usa estensione del nome file deploy qui.

  21. Selezionare la scheda Opzioni di aggiornamento e specificare la frequenza di aggiornamento dell'applicazione. Se l'applicazione usa UpdateCheckInfo per verificare la disponibilità di aggiornamenti, deselezionare la casella di controllo Questa applicazione deve controllare la disponibilità di aggiornamenti .

  22. Selezionare la scheda Application Reference (Riferimento applicazione) e quindi passare al pulsante Select Manifest (Seleziona manifesto ). Viene visualizzata una finestra di dialogo aperta.

  23. Selezionare il manifesto dell'applicazione creato in precedenza e quindi selezionare Apri.

  24. Selezionare File, Salva con nome dal menu. Viene visualizzata una finestra di dialogo Opzioni di firma che richiede di firmare il manifesto della distribuzione.

  25. Se si dispone di un certificato archiviato come file nel file system, usare l'opzione Firma con il file di certificato e selezionare il certificato dal file system usando il pulsante con i puntini di sospensione (...). Digitare quindi la password del certificato.

    oppure

    Se il certificato viene mantenuto in un archivio certificati accessibile dal computer, selezionare l'opzione Firma con certificato archiviato e selezionare il certificato dall'elenco fornito.

  26. Passare a OK per firmare il manifesto della distribuzione. Verrà visualizzata la finestra di dialogo Salva con nome .

  27. Nella finestra di dialogo Salva con nome spostare verso l'alto una directory nella radice della distribuzione e quindi selezionare Salva.

  28. Copiare tutti i file nella directory di distribuzione nella destinazione o nel supporto di distribuzione. Può trattarsi di una cartella in un sito Web o in un sito FTP, in una condivisione file o in un CD-ROM.

  29. Fornire agli utenti l'URL, l'UNC o i supporti fisici necessari per installare l'applicazione. Se si specifica un URL o un UNC, è necessario assegnare agli utenti il percorso completo del manifesto della distribuzione. Ad esempio, se AppToDeploy viene distribuito http://webserver01/ in nella directory AppToDeploy, il percorso URL completo sarà http://webserver01/AppToDeploy/AppToDeploy.application.

Passaggi successivi

Quando è necessario distribuire una nuova versione dell'applicazione, creare una nuova directory denominata dopo la nuova versione, ad esempio 1.0.0.1, e copiare i nuovi file dell'applicazione nella nuova directory. Successivamente, è necessario seguire i passaggi precedenti per creare e firmare un nuovo manifesto dell'applicazione e aggiornare e firmare il manifesto della distribuzione. Prestare attenzione a specificare la stessa versione successiva in entrambe le Mage.exe-New chiamate e -Update , poiché ClickOnce aggiorna solo le versioni successive, con il numero intero più a sinistra più significativo. Se è stato usato MageUI.exe, è possibile aggiornare il manifesto della distribuzione aprendolo, selezionando la scheda Riferimento applicazione, passare al pulsante Seleziona manifesto e quindi selezionare il manifesto dell'applicazione aggiornato.