El archivo '<archivo>' no estaba firmado

Actualización: noviembre 2007

Mensaje de error

El archivo '<archivo>' no estaba firmado El proyecto de implementación contiene propiedades de firma que están en desuso. Vea la Ayuda para obtener más información.
The file '<file>' was not signed. The deployment project contains signing properties that are deprecated. See Help for more information.

La funcionalidad de firma, disponible en Visual Studio 2003 y versiones anteriores, se ha eliminado de los proyectos de instalación e implementación (proyectos de instalación, proyectos de programa de instalación Web, proyectos CAB y módulos de combinación). Si ha importado a Visual Studio 2005 un proyecto de Visual Studio 2003 con la firma habilitada, o si desea habilitar la funcionalidad de firma para su proyecto de implementación, es necesario firmar los archivos del resultado de la generación con Signtool.exe, la herramienta de firma de ensamblados de Windows Platform SDK, en un evento posterior a la generación. Para obtener más información, vea Herramienta Firma (SignTool.exe).

En el caso más sencillo, no hay archivos sueltos, sólo la aplicación de programa previo (setup.exe) o el archivo empaquetado resultante de la generación (el paquete de Windows Installer, archivo .cab o módulo de combinación). En este caso, invocaría Signtool.exe en el cuadro de diálogo de evento posterior a la generación.

En el escenario más avanzado, los archivos que conforman la implementación pueden estar sueltos, lo que significa que hay más archivos en el resultado de la generación además de la aplicación de programa previo y el paquete de Windows Installer. Normalmente, deseará que estos archivos sueltos adicionales estén firmados y que se actualice el paquete de Windows Installer con el código hash de cada componente firmado. Esto se debe hacer en un evento posterior a la generación que ejecute una secuencia de comandos que haga lo siguiente:

  1. Recorrer en iteración el conjunto de archivos sueltos y archivos CAB contenidos en la ruta de acceso de resultados de la generación, y firmarlos con Signtool.exe.

  2. En el paquete de Windows Installer, actualizar el código hash de cada archivo que haya firmado.

  3. Firmar la aplicación de programa previo y firmar el paquete de Windows Installer mediante Signtool.exe.

Para corregir este error en el caso sencillo

  • Invoque Signtool.exe en el cuadro de diálogo de evento posterior a la generación.

    <directorio de instalación del SDK>Signtool sign –f "filename.pfx" –p "password" $(BuiltOuputPath)\Setup2.msi

    <directorio de instalación del SDK>Signtool sign –f "filename.pfx" –p "password" $(BuiltOuputPath)\setup.exe

Si su certificado está almacenado en archivos .pvk y .spc, utilice la herramienta de Windows Platform SDK pvk2pfx.exe para convertir el formato de estos archivos en .pfx.

Vea también

Referencia

Generar, Propiedades de configuración, Propiedades del proyecto de implementación (Cuadro de diálogo)

Herramienta Firma (SignTool.exe)