Wix para instalar múltiples aplicaciones

Probablemente tengo una solicitud extraña.

Desarrollé un msi para instalar dos softwares. Después del EULA, debe aparecer una pantalla con dos casillas de verificación y, una vez seleccionadas las casillas, se deben instalar los correspondientes softwares.

He utilizado para instalar un solo software antes nunca para dos.

Estaría obligado por cualquier pista.

El instalador de Windows tiene un concepto de “características” que puede seleccionarse para su instalación u omitirse. Si ya ha creado un instalador que funcione, entonces tiene al menos un elemento en sus archivos WIX.

Simplemente cree varios elementos y luego use o para permitir al usuario elegir qué características desea instalar.

Agrupación de aplicaciones juntas en un solo archivo MSI, puede parecer una buena idea. Parece intuitivamente agradable y simple. Sin embargo, hablando de la experiencia del mundo real , casi siempre termino dividiendo aplicaciones para instalarlas a través de sus propios archivos MSI.

La única vez que es realmente seguro implementar aplicaciones juntas es cuando se garantiza que:

  1. Siempre ser utilizado en conjunto por los usuarios finales
  2. Siempre se actualiza al mismo tiempo
  3. No crecerá sustancialmente en tamaño con el tiempo

Y normalmente es imposible predecir nada de esto. Por lo general, obtendrá rápidamente nuevos requisitos, como:

Corrección de errores : si solo una aplicación tiene un error, la administración querrá entregar solo una MSI nueva y dejar intacta la aplicación 2 y sin la necesidad de ejecutar una nueva ejecución de QA para ambas aplicaciones después de la instalación. Esto es para reducir el riesgo y ofrecer una actualización más pequeña que también sea más rápida de probar y verificar. La aplicación de parches es muy complicada y generalmente más segura para los archivos MSI que son lo más simple posible sin demasiados idiomas, acciones personalizadas o construcciones de GUI.

Localización : de repente se requiere que la aplicación 1 esté disponible en italiano, la aplicación 2 no necesita traducción. El soporte de idiomas tiende a boost en gran medida la complejidad de una configuración, sin mencionar el tamaño de la misma. Su “agradable y simple” MSI ahora se ha vuelto complicado de mantener y lento de construir. También es una verdadera molestia si necesita una única configuración, y la traduce en muchos idiomas: no podrá comstackr la versión RTM hasta que todas las actualizaciones de idioma estén disponibles. Puedo decirle ahora mismo que el marketing / ventas las personas no tendrán el concepto de retener la versión en inglés hasta que todas las versiones localizadas estén listas.

QA / UAT : si las aplicaciones son grandes, la entrega de 2 archivos MSI separados hará que sea más fácil dividir el esfuerzo de prueba entre diferentes equipos de control de calidad y ofrecer nuevas actualizaciones mediante comstackciones nocturnas, etc.

Progtwig de publicación : de repente el calendario de publicación de las aplicaciones cambia: la aplicación 1 ahora se actualiza cada mes, mientras que la aplicación 2 se actualiza solo cada seis meses. Si diferentes usuarios usan las aplicaciones, ¿cómo se entregan las actualizaciones? Comstackr todo en una MSI y darle un nuevo número de versión solo para que los usuarios de la aplicación 2 vuelvan a instalar la misma aplicación.

Aplique los principios generales de cohesión y acoplamiento a los paquetes de implementación, y se ahorrará muchos problemas. Si las aplicaciones ahora O en el futuro pueden tomar su propio ciclo de vida, divida su implementación de inmediato. ¿Y quién puede ver el futuro?

Tenga en cuenta que generalmente ajustará varios archivos MSI en un progtwig de arranque para que los usuarios aún tengan solo un archivo para relacionarse, incluso si los productos se instalan a través de archivos MSI separados.

Actualización de Wix : con la llegada de Wix para crear configuraciones complejas, se ha vuelto más fácil construir archivos de inclusión Wix que se pueden comstackr en varios archivos MSI. Esto efectivamente se convierte en un tipo más flexible de módulo de fusión. Esto puede simplificar la división o fusión de archivos MSI en el futuro. Vea una discusión de esta característica aquí .

Tamaño de configuración puro : existen algunas limitaciones en cuanto a la cantidad de componentes y archivos que puede tener en una sola MSI. Algunos detalles:

  • ¿Cuáles son los límites para un paquete grande de MSI?
  • Limitaciones de un paquete grande de MSI
  • Crear un paquete grande

Puede ser útil “descomponer” un MSI enorme en varios MSI relacionados por este motivo y por otros motivos enumerados anteriormente, para facilitar el mantenimiento (comstackción y velocidad de comstackción, reconstrucción de solo uno de muchos archivos MSI, etc.) . Finalmente, debe utilizar un solo archivo por componente para que la actualización y el parche funcionen correctamente. Varios archivos MSI se pueden instalar en secuencia usando bootstrappers o aplicaciones de iniciador como Burn de WiX, o funciones en herramientas comerciales como Installshield y Advanced Installer. Aquí hay una respuesta que toca este tema . Y simplemente trowing en otra respuesta que es un poco similar .

No puede instalar múltiples aplicaciones desde un solo MSI. Incluso si encuentras una manera de hacerlo, realmente no deberías.

En su lugar, tienen MSI separados para cada aplicación y usan un progtwig de arranque para instalar ambos. Por ejemplo, puede utilizar Inno Setup para generar un archivo bootstrapper exe autónomo que instale tanto MSI (como cualquier requisito previo).

Por cierto, Wix no se encarga de crear bootstrappers, por lo que debes usarlo junto con otra herramienta.

Puede hacer el instalador msi pre windows installed 4.

Pero de todos modos no deberías haber sido desaprobado por un motivo.

La API de reemplazo es para llamar a msiembeddedui y crear un chainer de transacción.

Puede crear múltiples MSI y luego agruparlos en 1 que contenga MSI. La MSI “principal” le permite elegir qué aplicación instalar y luego ejecuta esa MSI.

Si realmente desea 2 aplicaciones, entonces hay constructores de instaladores no MSI (como NSIS) que le permiten hacer eso, pero usted debe hacer todo el trabajo usted mismo.