visual studio 2012 - validacion - Error al descargar los requisitos previos después de publicar la aplicación ClickOnce de VS 2012
descargar los requisitos previos desde la misma ubicación que mi aplicación (1)
Publiqué una aplicación ClickOnce de Visual Studio 2012 y seleccioné .NET 4.0 runtime y Microsoft Report Viewer 2012 como requisitos previos. También seleccioné descargar los requisitos previos del sitio web del proveedor.
Cuando trato de instalar la aplicación en una PC cliente, recibo el siguiente error:
El programa de instalación detectó que el archivo ''C: / Users / MyUsername / AppData / Local / Temp / VSD537C.tmp / DotNetFX40 / dotNetFx40_Full_setup.exe'' ha cambiado desde que se publicó inicialmente.
El registro no proporciona detalles adicionales.
Si instalo manualmente el tiempo de ejecución de .NET, entonces recibo el mismo error para el visor de informes cuando ejecuto Setup.exe nuevamente.
¿Qué causa este error y cómo evito que suceda?
Los archivos que se descargaron de Microsoft tenían una clave pública diferente a la especificada en los archivos de configuración de bootstrapper (Product.xml). Al menos algunos de ellos se publicaron después de que se lanzara VS 2012 y deben haber sido firmados con una clave diferente. Tuve que extraer la clave pública del certificado de firma digital y usarla para reemplazar la clave pública especificada en el archivo product.xml. Después de esto, funcionó bien.
Para extraer la clave pública:
- Haga clic derecho en el ejecutable del instalador y haga clic en
Properties
. - Haga clic en la pestaña
Digital Signatures
. - Seleccione la firma de la lista y haga clic en el botón
Details
. - En la pestaña
General
, haga clic en el botónView Certificate
. - En la ventana
Certificate
, haga clic en la pestañaDetails
y busque el campo llamadoPublic Key
. - Resalta y copia los datos. Tendrá que ejecutar un buscar / reemplazar para eliminar los espacios en blanco.
- Pegue esta clave en el atributo de clave pública en el archivo
Product.xml
para este paquete de instalador.