visual tutorial toolset studio prime msi instalador how extension create wix

tutorial - wix toolset visual studio



¿Cuáles son las limitaciones de WiX y WiX Toolset? (2)

He intentado sin éxito encontrar un artículo o publicar en la lista las limitaciones funcionales de WiX (Windows Installer XML) / WiX Toolset. Después de usar WiX por un par de semanas, puedo pensar en al menos dos limitaciones en la versión más reciente de RTM (v3.0):

  • WiX Toolset no puede hacer un bootstrapper (setup.exe).
  • WiX Toolset no puede recuperar la información de registro de COM desde un ejecutable COM.

¿Se te ocurren otras limitaciones? ¿Algo con lo que te topaste mientras trabajabas en un proyecto de implementación? Creo que esta información podría ser útil para las personas que aprenden WiX.


Es más fácil para mí responder a esta pregunta en términos de lo que falta a WiX que tiene InstallShield (brecha de características).

  • Bootstrapper / Chainer - WiX tiene un bootstrapper llamado Burn que ahora está incluido en WiX v3.6.
  • Lectura XML: WiX solo tiene CA para escribir, no leer archivos XML (AppSearch)
  • Búsqueda / reemplazo de texto: InstallShield tiene patrones para leer / escribir archivos que no sean INI / XML
  • Solo MSSQL - No hay soporte para Oracle y MySQL
  • Interfaz de automatización: no hay DOM para actualizar / generar proyectos mediante programación. Tienes que hacerlo todo con XML en bruto.
  • Sin soporte nativo de IIS 7: el soporte nativo de IIS7 está presente desde WiX v3.5
  • Principalmente conjunto de herramientas Sólo texto. No hay diseñadores de GUI para trabajos pesados ​​(vea IsWiX). XML es conciso y tiene su lugar, pero es como comparar el Bloc de notas con Blend.

He utilizado el calor para extraer COM con bastante éxito, por lo que ya no me preocupa.


Yo agregaría varios puntos más, pero esto difícilmente puede llamarse limitaciones serias, ya que todos pueden ser resueltos:

  • No hay una herramienta preparada para incrustar transformaciones (MST) en el paquete MSI; aquí es donde msidb.exe viene al rescate
  • Tiene que hacer un trabajo adicional para crear un solo paquete con una serie de localizaciones, como crear paquetes N, generar transformaciones de idioma N contra un paquete neutral, incrustar esas transformaciones en el paquete, instruir a su bootstrapper para que llame la transformación correcta de idioma
  • WiX 3.0 tiene una extensión de IIS bastante limitada: solo admite IIS 7 en el modo de compatibilidad con IIS 6; Pero afortunadamente esto ya no es cierto para WiX 3.5.
  • El calor no puede generar "1 componente - N archivos" por defecto. Sí, lo sé, no es recomendable, pero a veces lo necesitas; Afortunadamente, puedes transformar la salida de calor de la forma que quieras con XSL.
  • PermissionEx de UtilExtension no tiene un interruptor para establecer ACL en carpetas solamente. Si necesitas configurar las ACL solo para tus archivos instalados, esto es bastante menor. Pero tuve que parchear WiX con una solución rápida para poder decir "aplicar estos permisos solo a las carpetas" en el árbol del sistema de archivos existente

Nuevamente, permítame repetir que no considero esas serias limitaciones. Estoy muy contento con lo que Rob y el equipo han hecho hasta ahora, ¡y están en el camino correcto! :)