metaetiqueta - ¿Cómo puedo detectar.NET 3.5 en WiX?
metaetiqueta wix (2)
Estoy tratando de detectar qué versión .NET está instalada usando WiX. He intentado:
<Condition Message=''This setup requires the .NET Framework 3.5 or higher.''>
<![CDATA[MsiNetAssemblySupport >= "3.5.0.0"]]>
</Condition>
Pero eso no funcionará, porque la propiedad MsiNetAssemblySupport comprueba la versión de fusion.dll
, que no se actualizó desde la versión 2.0 en .NET 3.0 o 3.5.
¿Es factible verificar la presencia de las bibliotecas .NET en el directorio del sistema? ¿Cómo lo haría usando WiX? ¿O hay alguna forma de hacerlo usando el registro?
(Me doy cuenta de que hay una lista de correo electrónico de usuarios de WiX, pero esta es la Oughts-- No me gusta la tecnología de los 80, me gustan las cosas que puedo buscar fácilmente).
La respuesta parece ser no. No puede (de manera confiable) comprobar si está instalada la versión X de .NET o superior. Solo puede verificar si está instalada una versión .NET específica. Ahora que se lanza .NET 4.0, es molesto que tengas que instalar .NET 3.5 incluso si .NET 4.0 ya está instalado.
Espero que los desarrolladores de WiX encuentren una solución a este problema.
Visual Studio -> proyecto de WiX -> Agregar referencia -> WixNetFxExtension.dll y luego:
<PropertyRef Id="NETFRAMEWORK35" />
<Condition Message="This setup requires the .NET Framework 3.5 to be installed.">
Installed OR NETFRAMEWORK35
</Condition>
Detalles completos , incluidas todas las propiedades de la versión .NET disponibles en la extensión. También considere si el mensaje de condición debe ser localizado .