Firmare nuovamente manifesti di applicazione e distribuzione

Dopo aver apportato modifiche alle proprietà di distribuzione nel manifesto dell'applicazione per le applicazioni Windows Form, le applicazioni Windows Presentation Foundation (xbap) o le soluzioni Office, è necessario firmare nuovamente i manifesti dell'applicazione e della distribuzione con un certificato. Questo processo aiuta ad assicurare che nei computer degli utenti finali non siano installati file alterati.

Un altro scenario in cui è possibile firmare nuovamente i manifesti è quando i clienti vogliono firmare i manifesti dell'applicazione e della distribuzione con il proprio certificato.

Firmare nuovamente i manifesti dell'applicazione e di distribuzione

Questa procedura presuppone che siano già state apportate modifiche al file manifesto dell'applicazione (con estensione manifest). Per altre informazioni, vedere Procedura: Modificare le proprietà di distribuzione.

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.

Per firmare nuovamente i manifesti dell'applicazione e della distribuzione con Mage.exe

  1. Aprire una finestra del prompt dei comandi di Visual Studio.

  2. Passare alla cartella contenente i file manifesto che si desidera firmare.

  3. Digitare il comando seguente per firmare il file manifesto dell'applicazione. Sostituire ManifestFileName con il nome del file manifesto più l'estensione. Sostituire Certificate con il percorso relativo o completo del file di certificato e sostituire Password con la password per il certificato.

    mage -sign ManifestFileName.manifest -CertFile Certificate -Password Password
    

    Ad esempio, è possibile eseguire il comando seguente per firmare un manifesto dell'applicazione per un componente aggiuntivo, un'applicazione Windows Form o un'applicazione browser Windows Presentation Foundation. I certificati temporanei creati da Visual Studio non sono consigliati per la distribuzione in ambienti di produzione.

    mage -sign WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -sign ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -sign WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  4. Digitare il comando seguente per aggiornare e firmare il file manifesto della distribuzione, sostituendo i nomi segnaposto come nel passaggio precedente.

    mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
    

    Ad esempio, è possibile eseguire il comando seguente per aggiornare e firmare un manifesto della distribuzione per un componente aggiuntivo di Excel, un'applicazione Windows Form o un'applicazione browser Windows Presentation Foundation.

    mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  5. Facoltativamente, copiare il manifesto della distribuzione master (publish\<appname.application>) nella directory di distribuzione della versione (publish\Application Files\<appname>_<version>).

Aggiornare e firmare nuovamente i manifesti dell'applicazione e della distribuzione

Questa procedura presuppone che siano già state apportate modifiche al file manifesto dell'applicazione (con estensione manifest), ma che siano stati aggiornati altri file. Quando i file vengono aggiornati, è necessario aggiornare anche l'hash che rappresenta il file.

Per aggiornare e firmare nuovamente i manifesti dell'applicazione e della distribuzione con Mage.exe

  1. Aprire una finestra del prompt dei comandi di Visual Studio.

  2. Passare alla cartella contenente i file manifesto che si desidera firmare.

  3. Rimuovere l'estensione di file .deploy dai file nella cartella di output di pubblicazione.

  4. Digitare il comando seguente per aggiornare il manifesto dell'applicazione con i nuovi hash per i file aggiornati e firmare il file manifesto dell'applicazione. Sostituire ManifestFileName con il nome del file manifesto più l'estensione. Sostituire Certificate con il percorso relativo o completo del file di certificato e sostituire Password con la password per il certificato.

    mage -update ManifestFileName.manifest -CertFile Certificate -Password Password
    

    Ad esempio, è possibile eseguire il comando seguente per firmare un manifesto dell'applicazione per un componente aggiuntivo, un'applicazione Windows Form o un'applicazione browser Windows Presentation Foundation. I certificati temporanei creati da Visual Studio non sono consigliati per la distribuzione in ambienti di produzione.

    mage -update WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  5. Digitare il comando seguente per aggiornare e firmare il file manifesto della distribuzione, sostituendo i nomi segnaposto come nel passaggio precedente.

    mage -update DeploymentManifest -appmanifest ApplicationManifest -CertFile Certificate -Password Password
    

    Ad esempio, è possibile eseguire il comando seguente per aggiornare e firmare un manifesto della distribuzione per un componente aggiuntivo di Excel, un'applicazione Windows Form o un'applicazione browser Windows Presentation Foundation.

    mage -update WindowsFormsApplication1.application -appmanifest WindowsFormsApplication1.exe.manifest -CertFile ..\WindowsFormsApplication1_TemporaryKey.pfx
    mage -update ExcelAddin1.vsto -appmanifest ExcelAddin1.dll.manifest -CertFile ..\ExcelAddIn1_TemporaryKey.pfx
    mage -update WpfBrowserApplication1.xbap -appmanifest WpfBrowserApplication1.exe.manifest -CertFile ..\WpfBrowserApplication1_TemporaryKey.pfx
    
  6. Aggiungere di nuovo l'estensione di file .deploy ai file, ad eccezione dei file manifesto dell'applicazione e della distribuzione.

  7. Facoltativamente, copiare il manifesto della distribuzione master (publish\<appname.application>) nella directory di distribuzione della versione (publish\Application Files\<appname>_<version>).