Mensaje "Es posible que este programa no se haya instalado correctamente" en Windows 7 RC
installation compatibility (3)
Tengo un instalador que funciona perfectamente en NT 5.x, Vista y Windows 7. Contiene el manifiesto adecuado para UAC en NT 6.x.
Pero a partir de Windows 7 RC, cada vez que se cierra el programa de instalación, Windows produce un mensaje erróneo que indica que "este programa podría no haberse instalado correctamente", aunque el programa se instaló correctamente sin ningún problema. Nunca recibí estos mensajes espurios en Vista o en Windows 7 beta.
Envié un informe de error a Microsoft, pero no he recibido respuesta. Pensé que esto podría ser simplemente un problema técnico en Windows 7 RC, pero el problema sigue ahí con una nueva instalación de una de las versiones más recientes de custodia RTM que se filtró. Microsoft no tiene documentación alguna sobre esto, ni siquiera una pista de lo que podría estar provocándolo.
Aún más frustrante es que recibo el mensaje "Es posible que este programa no se haya instalado correctamente", incluso si cancelo la primera vez que aparece el código de instalación. Se ejecuta un directorio temporal, extracción de archivos, copia, registro, etc.).
¿Alguien ha descubierto esto?
¿Ha lanzado el kit de herramientas de compatibilidad de aplicaciones en su instalador?
Nunca he tenido motivos para lidiar con eso antes, pero esto parece exactamente para lo que está destinado.
Bueno, para responder a mi propia pregunta, he encontrado una manera de resolver este problema. Noté que el registro de cambios de WinRAR indicaba que el autoextractor de WinRAR también sufría el mismo problema y que estaba resuelto. Así que descargué la última versión de WinRAR y la tiré en un desensamblador, junto con una versión anterior, en busca de nuevas llamadas a la API, etc. En pocas palabras, resultó que todo lo que hizo fue agregar lo siguiente al manifiesto:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
Algunos googlings de las cadenas dieron lugar a cierta documentación: al parecer, esto es algo nuevo que se agregó a Windows 7 y que la documentación para él se creó el 20 de mayo. No ayudó que Microsoft no se vinculara a esto desde ninguno de Sus páginas de documentación de Win7, y mucho menos lo destacan. suspiro
Edición: Esto está documentado, mal, en MSDN here .
Me encontré con el mismo mensaje de error al ejecutar una nueva aplicación basada en Qt que construí. Los mismos síntomas: obtendría este mensaje ''útil'' después de que el .exe se cerrara, sin importar lo que hizo el programa.
Ahora tengo varios proyectos de aplicaciones qt, todos construidos exactamente de la misma manera. Y ninguno de los otros hace esto.
Finalmente, descubrí que este error fue causado únicamente por el hecho de que yo había llamado a este proyecto en particular ''instalador''. Terminé con un ''installer.exe'' binario y no tendría ninguna duda de que el nombre del proyecto estuviera incorporado en otro lugar (sin profundizar en el archivo de proyecto generado por qmake, no estoy seguro de qué).
El punto de interés es que puede encontrarse con este problema simplemente teniendo un proyecto llamado "instalador" y nada más.