Saltar al contenido

Cómo firmar archivos de instalación de un Visual Studio .msi

Después de consultar especialistas en este tema, programadores de varias ramas y profesores hemos dado con la solución al problema y la dejamos plasmada en esta publicación.

Solución:

Puede agregar el siguiente PostBuildEvent a su proyecto VS Setup (propiedades del proyecto):

Windows 8.0:

"C:Program Files (x86)Windows Kits8.0binx86signtool.exe" sign /a  $(BuiltOuputPath)

ventanas 10:

"C:Program Files (x86)Windows Kits10binx86signtool.exe" sign /a  $(BuiltOuputPath)

ventana de propiedades del proyecto

Consulte esta documentación de MSDN para el uso de signtool. Puede usar el indicador /f para especificar el certificado de firma, /p para especificar la contraseña del certificado, etc.

Además, tenga en cuenta que $(BuildOuputPath) está mal escrito. Esto es a propósito. Gracias Microsoft…

Visual Studio crea dos carpetas en tiempo de compilación: obj y bin. Resulta que, al menos en mi caso, la salida siempre se copiará de la carpeta obj a la carpeta bin. Estaba firmando los ejecutables en la carpeta bin solo para que se sobrescribieran y luego se empaquetaran en el msi. Firmar los ejecutables en la carpeta obj resolvió el problema.

Otra opción (la que estoy haciendo) es crear primero el .msi y luego firmarlo con un pfx (certificado).

(Estoy usando un Certificado de firma de código que compré en globalsign.com)

Abrir CMD: ejecutar -> potencia Shell

Donde se encuentra el certificado, ejecute y guarde la huella digital:

PS C:Windowssystem32> Get-PfxCertificate -FilePath .CompanyCertificate.pfx

Obtendrá algo como esto ABCFEDRABF229B78BF9C40EC47007C1234567890debe reemplazar su valor en la siguiente línea de ejecución.

Luego encuentra dónde está el singtool.exe está ubicado y vaya allí (Win 10 en mi caso, el msi también debe estar en la misma ruta) y ejecute lo siguiente:

PS C:Program Files (x86)Windows Kits10App Certification Kit> .signtool.exe sign /f CompanyCertificate.pfx /d "App Description" /p pfxPasswordHere /v /sha1 ABCFEDRABF229B78BF9C40EC47007C1234567890 /t "http://timestamp.comodoca.com/authenticode" MyApplicationSetup.msi

Número de archivos firmados con éxito: 1

Número de advertencias: 0

Número de errores: 0

¡Felicidades lo conseguiste!

Verá esta nueva pestaña en Propiedades .msi:

ingrese la descripción de la imagen aquí

Y finalmente intenta instalarlo:

¡¡Éxito!!

Comentarios y valoraciones

Recuerda algo, que tienes la capacidad de agregar una reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *