Wix y .NET Framework (requisitos previos)

¿Cómo puedo tener mi paquete Wix para descargar el .NET Framework requerido cuando aún no está instalado en la máquina del cliente? Ya tengo la condición de verificar la versión de .NET instalada, pero no estoy seguro de cómo descargarla e instalarla cuando no la encuentre.

ClickOnce hace esto automáticamente al verificar los requisitos previos en las páginas de propiedades. Solo necesito hacerlo en Wix debido a otros requisitos.

¡Gracias!

ACTUALIZACIÓN en agosto de 2017: esta muy buena respuesta ahora parece obsoleta. Lea también las otras respuestas en el “hilo” para ver algunas “opciones de arranque” diferentes.


El paquete MSI creado por Wix no puede hacer eso. Windows Installer es bastante limitado y un archivo MSI (su instalador) no puede llamar a otro archivo MSI (el instalador de .NET Framework).

Tendrá que crear un llamado bootstrapper (un archivo setup.exe) que puede verificar los requisitos previos especificados, descargarlos e instalarlos según sea necesario, y luego inicia su instalador de MSI.

Una forma de crear el bootstrapper es usando Visual Studio o la tarea MSBuild GenerateBootstrapper. Aquí hay un enlace que brinda más detalles:

http://wix.mindcapers.com/wiki/Bootstrapper

Si solo desea proporcionar un único instalador a sus usuarios, es posible que desee crear un paquete de instalación autoinflable que contenga tanto el archivo setup.exe como su paquete MSI. Podrías hacer eso con iexpress , que viene con Windows.

Aquí hay otro enlace que da un ejemplo: http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx

Wix contendrá su propio arranque llamado burn. Eche un vistazo a: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

DotNetInstaller también es recomendado por muchos desarrolladores como buenos y sólidos iniciadores.

ACTUALIZACIÓN : URL actualizada a DotNetInstaller, agosto de 2017.

Esto ahora es compatible a partir de WiX 3.6. La documentación aún es incompleta, pero para empezar, vea Cómo: Instalar .NET Framework usando Burn .

En wix 3.6 con bootstrapper, todo lo que necesita es agregar .net 4.0 como requisito previo para ser descargado si es necesario.

a) Agregue una referencia al archivo WixNetFxExtension.dll en su proyecto de aplicación Bootstrapper / Bootstrapper administrado

b) Agregue lo siguiente como el primer elemento de su cadena.

 

¡Eso es realmente!

Más información aquí: documentación de wixnetfxextension