Repetición de la firma de manifiestos de implementación y aplicación

Después de realizar cambios en las propiedades de implementación del manifiesto de aplicación para aplicaciones de Windows Forms, aplicaciones de Windows Presentation Foundation (xbap) u soluciones de Office, debe volver a firmar los manifiestos de aplicación e implementación con un certificado. Este proceso ayuda a garantizar que no se instalen archivos alterados en los equipos de los usuarios finales.

Otro escenario en el que podría volver a firmar los manifiestos es cuando los clientes quieren firmar los manifiestos de aplicación e implementación con su propio certificado.

Repetición de la firma de manifiestos de implementación y aplicación

En este procedimiento se supone que ya ha realizado cambios en el archivo de manifiesto de la aplicación (.manifest). Para obtener más información, consulte Cómo: Cambio de las propiedades de implementación.

Nota:

En ClickOnce para .NET Core 3.1 y .NET 5, o posterior, use dotnet-mage.exe en lugar de Mage.exe. Para obtener más información, consulte ClickOnce para .NET.

Para volver a firmar los manifiestos de aplicación e implementación con Mage.exe

  1. Abra una ventana Símbolo del sistema de Visual Studio.

  2. Cambie los directorios a la carpeta que contiene los archivos de manifiesto que quiere firmar.

  3. Escriba el comando siguiente para firmar el archivo de manifiesto de aplicación. Reemplace ManifestFileName por el nombre del archivo de manifiesto más la extensión. Reemplace Certificado por la ruta de acceso relativa o completa del archivo de certificado y reemplace Contraseña por la contraseña del certificado.

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

    Por ejemplo, podría ejecutar el comando siguiente para firmar un manifiesto de aplicación para un complemento, una aplicación de Windows Forms o una aplicación de explorador de Windows Presentation Foundation. No se recomiendan certificados temporales creados por Visual Studio para la implementación en entornos de producción.

    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. Escriba el comando siguiente para actualizar y firmar el archivo de manifiesto de implementación, reemplazando los nombres de marcador de posición como en el paso anterior.

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

    Por ejemplo, podría ejecutar el siguiente comando para actualizar y firmar un manifiesto de implementación para un complemento de Excel, una aplicación de Windows Forms o una aplicación de explorador de 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. Opcionalmente, copie el manifiesto de implementación maestro (publish\<appname>.application) en el directorio de implementación de versiones (publish\Application Files\<appname>_<version>).

Actualizar y volver a firmar los manifiestos de aplicación e implementación

En este procedimiento se supone que ya ha realizado cambios en el archivo de manifiesto de aplicación (.manifest), pero que se han actualizado otros archivos. Cuando se actualizan los archivos, el hash que representa el archivo también debe actualizarse.

Para actualizar y volver a firmar los manifiestos de aplicación e implementación con Mage.exe

  1. Abra una ventana Símbolo del sistema de Visual Studio.

  2. Cambie los directorios a la carpeta que contiene los archivos de manifiesto que quiere firmar.

  3. Quite la extensión de archivo .deploy de los archivos de la carpeta de salida de publicación.

  4. Escriba el siguiente comando para actualizar el manifiesto de aplicación con los nuevos hashes para los archivos actualizados y firmar el archivo de manifiesto de aplicación. Reemplace ManifestFileName por el nombre del archivo de manifiesto más la extensión. Reemplace Certificado por la ruta de acceso relativa o completa del archivo de certificado y reemplace Contraseña por la contraseña del certificado.

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

    Por ejemplo, podría ejecutar el comando siguiente para firmar un manifiesto de aplicación para un complemento, una aplicación de Windows Forms o una aplicación de explorador de Windows Presentation Foundation. No se recomiendan certificados temporales creados por Visual Studio para la implementación en entornos de producción.

    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. Escriba el comando siguiente para actualizar y firmar el archivo de manifiesto de implementación, reemplazando los nombres de marcador de posición como en el paso anterior.

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

    Por ejemplo, podría ejecutar el siguiente comando para actualizar y firmar un manifiesto de implementación para un complemento de Excel, una aplicación de Windows Forms o una aplicación de explorador de 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. Vuelva a agregar la extensión de archivo .deploy a los archivos, excepto a los archivos de manifiesto de aplicación e implementación.

  7. Opcionalmente, copie el manifiesto de implementación maestro (publish\<appname>.application) en el directorio de implementación de versiones (publish\Application Files\<appname>_<version>).