9

Compré recientemente un certificado de autenticación de globalsign y tengo problemas para firmar mis archivos para la implementación. Hay un par de archivos .exe generados por un proyecto y luego puestos en .msi. Cuando firmo los archivos .exe con la herramienta de inicio de sesión, el certificado es válido y funciona bien. El problema es que cuando construyo .msi (usando el proyecto de instalación de Visual Studio) los archivos .exe pierden sus firmas. Así que puedo firmar el .msi después de que se compila, pero los archivos .exe instalados continúan con todo el negocio de "editor desconocido". ¿Cómo puedo conservar la firma en estos archivos para la instalación en la máquina del cliente?Cómo firmar archivos de instalación de un Visual Studio .msi

Respuesta

11

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 archivos ejecutables en la carpeta bin solo para que se sobrescriban y luego se empaqueten en el msi. Firmar los ejecutables en la carpeta obj resolvió el problema.

+0

gracias, esto resolvió mis problemas con esto! –

+0

Muchas gracias. Había visto a gente intentando transmitir lo mismo, aunque tu respuesta fue muy concisa y fácil de leer. Has guardado horas de mi vida:) – Dawson

0

¿Está seguro de que el proyecto del instalador está mirando el archivo binario con signo y no el sin signo?

No estoy usando el constructor msi mucho, pero me sorprendería que modifique los archivos que contiene.

+0

Gracias por apuntarme en la dirección correcta – Alex

11

Puede añadir el siguiente PostBuiltEvent a su proyecto de instalación VS (propiedades del proyecto):

de Windows 8.0:

"C:\Program Files (x86)\Windows Kits\8.0\bin\x86\signtool.exe" sign /a $(BuiltOutputPath) 

Windows 10:

"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /a $(BuiltOutputPath) 

Project properties window

PS : Adapte los argumentos de las herramientas de señalización para que se adapten a sus necesidades remitiéndolas a the documentation

Cuestiones relacionadas