Lilypie Primer PicLilypie Primer Ticker

martes, 17 de julio de 2007

Ejecutar un instalador .msi que requiere .Net Framework 1.1 bajo .Net Framework 2.0

Si tenemos un archivo de Windows Installer (archivo .msi) que requiere el .Net Framework 1.1 pero en nuestro equipo solo tenemos instalado el .Net Framework 2.0, la aplicación se rehúsa a instalarse y simplemente obtenemos un mensaje como este:

“This setup requires the .NET Framework versión 1.1.4322. Please install the .NET Framework and blah blah blah…”

Una solución sería descargar e instalar el .Net Framework 1.1 como lo exige nuestra aplicación, con la consiguiente pérdida de tiempo y espacio en nuestro disco. Afortunadamente existe otra solución más directa: Modificar el archivo .msi

Ocurre que los archivos de instalación tienen instrucciones para verificar que se cumplan ciertas condiciones antes de ejecutarse, entonces la solución es quitar esas instrucciones con un editor.

Existe una herramienta de Microsoft llamada Orca que sirve para editar los archivos de instalación (.msi, .msm, .psp, y .msp). Esta herramienta está incluida en el Windows SDK, que puede ser descargado libremente. Se puede encontrar más información sobre la herramienta, así como el sitio de descarga aqui.

Una vez instalada la herramienta, abrimos el archivo .msi que queremos editar y buscamos la tabla Custom Action en el panel de la izquierda.


Entonces ubicamos las acciones DIRCA_CheckFx y VSDCA_VsdLaunchConditions y las eliminamos.

Nada más, guardamos el archivo y ya debería funcionar sin mayores protestas.

Ojalá les sea útil.

2 comentarios:

El Profe dijo...

Tengo que agradecerte.
Tenia que instalar un paquete msi y me daba ese error a pesar de tener instalado el .NetFW 2.0

Para descargar el orca.exe lo hice desde este enlace directo que encontré en otro blog.

http://astebner.sts.winisp.net/Tools/Orca.zip

Funciono perfecto como las instrucciones para quitarle esa traba.

Muchas Gracias
SAludos

Anónimo dijo...

Muy bueno el aporte, casi me quedo calvo buscaNDO UNA SOLUCION.... GRACIAS