¿Es factible/sensible incluir un instalador de Inno Setup dentro de un MSI para facilitar la distribución a través de AD?

StackOverflow https://stackoverflow.com/questions/71203

  •  09-06-2019
  •  | 
  •  

Pregunta

Nuestro instalador está escrito con Inno Setup y estamos bastante contentos con él.Sin embargo, algunos clientes siguen pidiendo un instalador MSI que puedan distribuir más fácilmente a través de Active Directory.Ya hemos hecho todo lo posible para que el instalador funcione realmente bien con instalaciones automatizadas y desatendidas ampliando la funcionalidad de Inno Setup. /LOADINF-mecanismo con nuestras propias opciones.

Para satisfacer a los clientes que solicitan MSI, había estado pensando en simplemente empaquetar nuestro instalador habitual dentro de un MSI, posiblemente creado con WIX.La pregunta es:¿Puedo mantener la alta capacidad de configuración que ofrece nuestro instalador actual de esa manera?¿Cómo haría para exponer las opciones del instalador de Inno Setup a través del MSI externo en el escenario de instalación desatendida/masiva?

Tenga en cuenta que todavía no he llegado al punto de profundizar en la creación de MSI y WIX.En este momento sólo estoy interesado en si las personas que saben de lo que están hablando piensan que este sería un enfoque factible/sensible en el que invertir nuestra energía en primer lugar...

Editar:] Inicialmente pensé que podría hacer con el enfoque de extracción y ejecución de temperatura, es decirel MSI simplemente serviría como un recipiente para entregar el instalador de Inno a la PC de destino y ejecutarlo allí en /VERYSILENT-modo.Pero supongo que los clientes que solicitan MSI también quieren poder desinstalar o incluso modificar la instalación desde una ubicación central y supongo que eso no será posible en ese escenario, ¿verdad?

PD.:Aquí también tenemos una copia antigua de WISE para MSI, pero esa experiencia fue en realidad la razón por la que comenzamos a usar Inno para empezar...

¿Fue útil?

Solución

No, no hay forma de hacerlo manteniendo la funcionalidad que sus clientes solicitan "implícitamente".El único 'ajuste' en MSI que puede hacer es extraerlo durante la instalación e iniciar su instalador InnoSetup desde la ubicación temporal donde lo extrajo.MSI es una forma de trabajar fundamentalmente diferente:InnoSetup (y NSIS y la mayoría de los demás instaladores) adoptan un enfoque centrado en el código:usted 'programa' los 'pasos' para instalar sus datos.MSI es una base de datos y adopta un enfoque "centrado en datos":usted indica qué archivos deben instalarse y el 'tiempo de ejecución' de MSI hace el resto.Esto le brinda control de versiones y control exacto de qué va y dónde.

En resumen, para brindarles a sus clientes lo que desean (es decir, la facilidad de implementación que brinda MSI con AD), necesitará MSI "adecuados".Buena suerte con eso, es un gran dolor en mi humilde opinión.Pero da buenos resultados una vez que dominas MSI y WiX.

Otros consejos

Yo mismo he tenido este problema muchas veces.Por lo tanto, creé una forma estándar de abordar este problema y el resultado fue un asistente que lo guiará a través de los pasos.La herramienta admitirá lo siguiente:

  1. Envuelva el exe en un MSI.
  2. Soporte de desinstalación.
  3. Mostrar solo un programa en "Agregar o quitar programas".
  4. Le permite pasar argumentos de línea de comando como /SILENT a la configuración integrada cuando ejecuta el paquete MSI con MSIEXEC.EXE.

Puedes conseguirlo en http://www.exemsi.com (la versión básica es gratuita)

Utiliza mi formulario de contacto y déjame saber lo que piensas :-)

En respuesta a su edición:sí, lo que usted describe impedirá realizar actualizaciones (que no sean eliminar/reinstalar) y configuración remota, ya que la base de datos MSI no sabrá nada sobre el contenido de su instalador.

Sin embargo, muchos paquetes de instalación iniciaron el 'soporte' de MSI de esta manera:InstallShield lo hizo, por ejemplo.Esa es la razón principal por la que los descarté, porque los instaladores creados de esa manera son inútiles para propósitos de MSI.No sé si las versiones recientes de InstallShield son mejores, la última vez que lo comprobé fue hace 5 años.

Es bastante fácil crear un kit contenedor que instale automáticamente INNOSETUPper desde MSI.Para la funcionalidad básica (instalar/desinstalar) esto es suficiente.La mayoría de los instaladores no implementan la reparación de todos modos.

  1. crear un script silent.inf para INNO Setup (opcional)

  2. crear install.bat que llama

    myinnosetup.exe /silent /NOCANCEL /norestart /Components="xxx"

    puedes usar /muy silencioso
    puedes cargar la configuración desde silent.inf con /LOADINF="silent.inf"

  3. cree un archivo de configuración MSI que llame a install.bat (con parámetros si es necesario)

  4. entregue los 4 archivos a su cliente y él podrá implementar su instalador Inno con SMS o ActiveDirectory y todos estarán contentos :)

Yo diría que es posible hacer todo lo que quiera con un Inno Setup incluido en MSI, pero está lejos de ser trivial, y usar WiX podría hacer que esta tarea en particular sea más difícil.En resumen, realmente no lo recomendaría.

Pero si realmente quieres...

Los archivos MSI son simplemente archivos de base de datos con instrucciones de script adicionales y, a menudo, incorporan el archivo .cab que contiene lo que realmente desea instalar.

Si usa Wise, generará scripts predeterminados a los que luego podrá agregar condiciones de Windows Installer y controlar los eventos en un grado más preciso (instalar, reparar, modificar, desinstalar) para que llamen a acciones equivalentes en su script de instalación de Inno Setup que debe instalarse y guardarse en una carpeta temporal.

No tiene sentido mezclar tecnologías de instalación.

Si está mezclando, tendrá el primer problema con las cosas de desinstalación.sin cambios obtienes 2 desinstaladores de tu programa.

hay algunos artículos que comienzan con Windows Installer en la "revista entwickler"

  • Entwickler Magazin (Ausgabe:03.09/15.04.2009) Artículo:MSI-Pakete MIT abierto-SOUCE-SOFTWARE ERZEUGEN TEIL 4
  • Entwickler Magazin (Ausgabe:02.09/12.02.2009) Artículo:MSI-Pakete MIT Open-Souce-Software Erzeugen Teil 3
  • Entwickler Magazin (Ausgabe:01.09/10.12.2008) Artículo:MSI-Pakete MIT Open-Souce-Software Erzeugen Teil 2
  • Entwickler Magazin (Ausgabe:06.08/15.10.2008) Artículo:Paquete MSI con software de código abierto incluido

http://entwickler-magazin.de/

El instalador de Windows debe ser la única tecnología para sus instalaciones.¡Está preparado para el futuro y es estable!

Envolver una configuración Inno en un paquete MSI no es una tarea trivial.Sin embargo, es posible.Existen muchas herramientas gratuitas que se pueden utilizar para hacer esto.Debe elegir uno que también admita desinstalaciones y actualizaciones.

Solo encontré una herramienta gratuita que admite actualizaciones y desinstalación.Verificar http://www.exemsi.com/inno-setup-and-msi

Hacerlo sería prácticamente equivalente a entregar un archivo ZIP y llamar a descomprimir al final de la instalación.

Con este enfoque, AD y Windows Installer serían engañados como si se tratara de una instalación MSI adecuada, pero como no es el caso, le resultarían contraproducentes en la primera ocasión.

No vayas por este camino.

Y WiX es un conjunto de herramientas superior a InnoSetup, de todos modos, por lo que el tiempo que dedicará al aprendizaje y la migración se verá recompensado por un mejor soporte de colaboración.

Aunque el último comentario es factible y viable, pasar a MSI es la mejor manera de manejar esto.

Casi todas las organizaciones grandes estipulan únicamente MSI, existen multitud de razones para ello.

1) Primero es la facilidad de implementación 2) Más importante para algunos es la sociabilidad de la aplicación 3) la autocuración

inno setup y otras herramientas similares que no implementan Windows Installer simplemente no pueden ofrecer sociabilidad de aplicaciones de la misma manera que Windows Installer.

debe comprender que Inno setup es un software diseñado para implementar una sola aplicación.

Windows Installer es un marco completo para abordar la sociabilidad, la suplantación de usuarios, la elevación de usuarios, la autocuración y la corrección de perfiles de usuarios.

Los dos no están ni remotamente cerca en funcionalidad, en mi opinión, ninguna configuración está completamente fuera de curso en términos de comparación con el instalador de Windows.

¿Puede crear instaladores exitosos?sí, ¿es fácil de usar?Sí, ¿crea buenos instaladores individuales?Sí, ¿es la mejor opción para Enterprise?No

La primera herramienta desarrollada por Microsoft "SMS Installer" fue innosetup hace 10 años.Las cosas han cambiado drásticamente en el mundo de la instalación e inno setup simplemente no ha seguido el ritmo de ese cambio.

Necesito ingresar un valor personalizado en silent.inf (no un valor de configuración inno establecido) y parece que LOADINF lo permite.

Nota: Si usa makemsi, no es necesario que incluya un bat ya que puede usar $WrapInstall.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top