Cómo: Firmar archivos de instalación con SignTool.exe (ClickOnce)

Puede utilizar SignTool.exe para firmar un programa de instalación (setup.exe). Este proceso ayuda a garantizar que no se instalen archivos alterados en los equipos de los usuarios finales.

De forma predeterminada, ClickOnce tiene manifiestos firmados y un programa de instalación firmado. Sin embargo, si desea cambiar posteriormente los parámetros del programa de instalación, deberá firmar el programa de instalación más adelante. Si cambia los parámetros una vez firmado el programa de instalación, la firma quedará dañada.

En el siguiente procedimiento, se generan manifiestos no firmados y un programa de instalación sin firmar. A continuación, se habilita la firma de ClickOnce en Visual Studio para generar manifiestos firmados. El programa de instalación se mantiene sin firmar para que el cliente pueda firmar el ejecutable con su propio certificado.

Para generar un programa de instalación no firmado y firmarlo más adelante

  1. En el equipo de desarrollo, instale el certificado con el que desee firmar los manifiestos.

  2. En el Explorador de soluciones, seleccione el proyecto.

  3. En el menú Proyecto, haga clic en Propiedades de nombreDeProyecto.

  4. En la página Firma, desactive Firmar los manifiestos de ClickOnce.

  5. En la página Publicar, haga clic en el botón Requisitos previos.

  6. Compruebe que todos los requisitos previos estén seleccionados y, a continuación, haga clic en Aceptar.

  7. En la página Publicar, compruebe los valores de publicación y, a continuación, haga clic en Publicar ahora.

    La solución publica el manifiesto de aplicación sin firmar, el manifiesto de implementación sin firmar, archivos específicos de la versión y el programa de instalación sin firmar en la ubicación de la carpeta de publicación.

  8. En la página Publicar, haga clic en el botón Requisitos previos.

  9. En el cuadro de diálogo Requisitos previos, desactive Crear programa de instalación para instalar los componentes necesarios.

  10. En la página Publicar, compruebe los valores de publicación y, a continuación, haga clic en Publicar ahora.

    La solución publica el manifiesto de aplicación firmado, el manifiesto de implementación firmado y los archivos específicos de la versión en la ubicación de la carpeta de publicación. El proceso de publicación no sobrescribe el programa de instalación sin firmar.

  11. En el sitio del cliente, abra un símbolo del sistema.

  12. Cambie al directorio que contiene el archivo .exe.

  13. Firme el archivo .exe con el siguiente comando:

    signtool sign /sha1 CertificateHash Setup.exe
    signtool sign /f CertFileName Setup.exe
    

    Por ejemplo, para firmar el programa de instalación, utilice uno de los siguientes comandos:

    signtool sign /sha1 CCB... Setup.exe
    signtool sign /f CertFileName Setup.exe
    

Vea también

Tareas

Cómo: Volver a firmar manifiestos de aplicación e implementación

Otros recursos

Cómo: Firmar archivos de instalación con SignTool.exe (Windows Installer)