Wix – Cómo ejecutar / instalar aplicaciones sin UI

Tengo un archivo exe y necesito convertirlo a msi e instalarlo usando la política de grupo en más computadora en el dominio sin interacción del usuario.

Encontré este tutorial https://stackoverflow.com/questions/19271862/wix-how-to-run-exe-files-after-installation-from-installed-directory/19274431# =

Pero esto usando UI, donde el usuario hace clic en el botón. Necesito después de instalar msi ejecutar el archivo exe e instalarlo en la computadora en segundo plano, sin ningún tipo de interfaz de usuario.

¿Es posible? Cómo.

Gracias por la ayuda.

Las instalaciones de MSI suelen seguir lo siguiente: https://msdn.microsoft.com/en-us/library/windows/desktop/aa372024(v=vs.85).aspx y para que pueda usar / quiet como una opción para suprimir el UI y para que simplemente “lo haga”

No incrustar archivo ejecutable de instalación en archivos MSI

OK, la pregunta no está 100% clara, pero voy a intentarlo. La entrega de archivos EXE de esta manera, incrustados en un archivo MSI, no es ideal. De hecho, es una muy mala idea, a decir verdad. Por lo general, los archivos MSI no se deben usar como envoltorios para entregar archivos incrustados de setup.exe. La gran complejidad de MSI con su suplantación avanzada, secuenciación y acondicionamiento hace que este error sea muy propenso y difícil de implementar y probar. Además, si el binario que inserta resulta ser un archivo MSI envuelto en un archivo binario setup.exe, entonces MSI fallará porque no permite dos secuencias de instalación simultáneas, a menos que las instale desde la secuencia de la interfaz de usuario (que ganó t funciona cuando se ejecuta silenciosamente).


¿Ejecuta los archivos setup.exe en modo silencioso o usa Reempaquetado de la aplicación?

La capacidad de los archivos MSI para ejecutarse de manera confiable en modo silencioso (sin GUI) no puede ser igualada por las configuraciones de estilo heredado. Sin embargo, a menudo puede encontrar interruptores para un setup.exe heredado (o moderno) o un binario de instalación que le permitirá instalarse en modo silencioso, pero no con derechos de instalación elevados de MSI. Tendría que ejecutar con derechos de administrador real. Además, a menudo tiene que “grabar” una ejecución a través de los cuadros de diálogo y usar las respuestas grabadas para ejecutar la secuencia de instalación; esto es propenso a errores ya que podría aparecer un diálogo inesperado donde no hay “respuesta” grabada. Entonces estás atrapado. El funcionamiento silencioso confiable de MSI es una de las ventajas corporativas clave de MSI .

Puede encontrar mucha información sobre esto en esta respuesta que escribí hace un tiempo: ¿cómo puedo usar powershell para ejecutar a través de un instalador? . No dejes que el título de la pregunta te confunda, el tema sigue siendo bastante similar a lo que estás preguntando, al menos eso creo. Por favor, dale un rápido descremado al menos.

La respuesta también describe ” Reempaquetado de la aplicación “: el proceso de conversión de los instaladores setup.exe heredados (o modernos) al formato nativo MSI. Esta es una tarea especializada que requiere una buena comprensión de MSI pero rinde resultados excelentes una vez que se hace bien, y la instalación silenciosa es muy sencilla ya que no depende de los frágiles “archivos de respuesta silenciosa” como se describió anteriormente.


Bootstrappers / Chainers

Aunque no estoy seguro si todos le permiten instalar en modo silencioso, hay herramientas disponibles que le permiten instalar archivos MSI y binarios de instalación en secuencia desde un archivo ejecutable EXE. Hay otra respuesta sobre varias opciones de arranque: Wix y .NET Framework (requisitos previos) . Uno de los iniciadores recomendados en esta discusión es dotNetInstaller . Nunca lo he usado, así que no puedo decirte si es bueno. Puede estar más basado en GUI que la característica de arranque propio de WiX llamada Burn , sin embargo, no estoy seguro de si es una coincidencia de características. Si lo hace, informe sus hallazgos. Ciertamente hay otros iniciadores, pero no es mi área de especialización. Las herramientas comerciales como Installshield (al menos en su versión Premium) tienen características para comstackr tal bootstrapper usando una GUI y creo que se refieren a ellas como “Suites de instalación”, o algo así. Solo un paquete de instaladores y requisitos previos esencialmente. No he probado esta característica de arranque en Advanced Installer .

Con respecto a Burn:

  • Burn se basa en el marcado y la comstackción XML, generalmente con Visual Studio.
  • Aquí hay una descripción de Cómo instalar .NET Framework usando Burn .
  • La documentación oficial de Burn .
  • Como ve, es un poco más complicado que las herramientas que le permiten usar una GUI para construir su secuencia o “cadena” de instaladores.
  • Es gratis y confiable.
  • Intentaré desenterrar una muestra de Burn para ti.
  • OK, esto debería ser una muestra correcta de lo que Burn puede hacer: https://github.com/frederiksen/Classic-WiX-Burn-Theme . Creo que hay algunos GUID de proyectos de Visual Studio duplicados, pero eso no debería ser un problema para usted a menos que por alguna razón agregue ambos proyectos a su proceso de comstackción (entonces los GUID duplicados probablemente confundirán sus herramientas de comstackción, solo algo que me pasó una vez).
  • Para que quede claro, Burn construye setup.exe bootstrapper bundles capaces de contener archivos MSI y EXE ejecutados en una secuencia determinada y es parte del kit de herramientas de WiX. WiX mismo construye archivos MSI a partir de archivos fuente XML de WiX. Los archivos Burn setup.exe también se crean a partir de archivos fuente XML de WiX, pero el esquema es obviamente diferente. Solo para aquellos que nunca han visto estas herramientas. La muestra directamente arriba mostrará la diferencia muy bien con un proyecto de WiX MSI y un proyecto de WiX Burn. También tiene un proyecto para construir un binario que luego se incluye tanto en el MSI como en el setup.exe.