Wix genera una identificación de componente único para todo el árbol

Soy alguien con poca o ninguna experiencia con wix y estoy intentando apoyar a Windows también para el componente del que soy responsable. Estoy intentando crear un módulo de combinación para un conjunto de archivos que genera mi producto. Estos archivos existen en numerosos subdirectorios. Me preguntaba cómo puedo crear una identificación de componente único para todos los archivos en todo el árbol. No me preocupan las actualizaciones menores ya que es algo que no voy a hacer. Estoy tratando de evitar generar numerosos GUID para cada uno de los archivos.

También hay alguna forma en que puedo cambiar el nombre del directorio raíz en el que quiero que se instalen los archivos. Actualmente, en nuestro sistema de comstackción, los archivos que quiero instalar terminan en un nombre de directorio “instalar”. En el archivo wxs generado por calor, aparece como instalar. Me preguntaba si podría cambiarlo por el nombre real del producto en lugar de “instalar”.

Use un archivo por componente; esto evita todo tipo de problemas (excepto los ensamblados .NET que abarcan varios archivos) . Vea el siguiente hilo: Wix: ¿un archivo por componente o varios archivos por componente?

Wix es un gran marco para crear instaladores, pero tiene una curva de aprendizaje abrupta. Le recomiendo que lea algunas secciones de este excelente tutorial en línea : http://wix.tramontana.co.hu/ .

Si usted es un “fabricante de muestras basado” , puede encontrar un recorrido basado en muestra aún más rápido en este artículo: http://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI- instalador-con

Wix es práctico. Solo concéntrese en los ejemplos y concéntrese en obtener los componentes creados y una importante actualización configurada:

Una vez que lo haya ejecutado, el rest de los detalles se ajustan a la lectura de la documentación para cualquier función que necesite. El uso de Visual Studio / Votive con intellisense garantiza que pueda aprender sobre la marcha con funciones como accesos directos, archivos ini, archivos xml, diálogos, etc.

Otro consejo importante es usar dark.exe (parte del kit de herramientas Wix) para descomstackr los archivos MSI existentes . Esto produce Wix XML con código que puede copiar y pegar en sus propios archivos Wix. Utilizo otras herramientas MSI para comstackr tales archivos MSI, y luego copio las secciones que necesito en mi archivo Wix, solo para acelerar el proceso de creación de Wix XML. Estudiar el XML descomstackdo es muy educativo: un ahorro de tiempo real.

  1. Si todos los archivos van a la misma carpeta de destino, entonces puede crear un COMPONENTE único con todo el ARCHIVO dentro de él. No hay nada que te detenga para hacer eso. Entonces puede simplemente crear un GUID para ese componente. Lea también estas respuestas que explican las ventajas y desventajas de un componente frente a los componentes múltiples antes de implementarlo: Respuesta1 Respuesta2 . Para resumir:

Tendrá problemas con actualizaciones / reparaciones menores. Si se está actualizando un componente, solo se verifica el archivo designado como KEYPATH para ver si está desactualizado: si está actualizado, todos los demás se ignoran.

También tendrá dificultades si desea agregar o eliminar archivos de cada componente. Una vez lanzado, un componente es inmutable (en términos de qué archivos hay en él). La única forma de actualizarlo sin romper las reglas de los componentes sería eliminar e instalar efectivamente una nueva versión del MSI. Comprender las reglas de los componentes es clave en Windows Installer y un archivo por componente hace que las reglas de los componentes sean más fáciles de trabajar, por lo que es una recomendación de muchas personas aquí.

ENLAZAR

  1. El nombre del directorio raíz se puede cambiar modificando la propiedad “Nombre” para el elemento DIRECTORIO .