Cómo aprovechar un instalador MSI dentro de un instalador MSI

Esta es la primera vez que intento usar Windows Installer para crear un paquete de instalación (nuestro cliente no desea usar Wix, con el que he trabajado mucho). Actualmente tengo un MSI que construye y funciona según lo previsto. Sin embargo, necesito agregar un instalador para un SDK que se requiere para que el programa que he escrito funcione en otras máquinas. He agregado el segundo instalador (también un MSI) como una acción personalizada que se ejecuta en función de si marca una casilla de verificación durante el proceso de instalación. El problema es que, cuando se ejecuta el segundo instalador, aparece el error de que ya se está ejecutando una configuración en el sistema y la instalación no puede continuar. ¿Cómo puedo evitar esto? La acción personalizada está configurada para ejecutarse durante la instalación.

Gracias de antemano por cualquier ayuda para resolver este problema.

preguntado el 22 de mayo de 12 a las 19:05

¿Qué herramienta está utilizando para crear el MSI? Esto ayudaría a darle una respuesta específica. -

Estoy construyendo esto en VS2010 usando un Proyecto de instalación (lo siento, eso es lo que quise decir cuando dije Windows Installer). -

Eche un vistazo a mi proceso FOSS en Codeplex 'ISWIX'. Puede usarlo para crear módulos de fusión de wxs (diseñador de archivos y carpetas) y luego consumir ese módulo en un producto de wxs. Esto le permite al cliente arrastrar y soltar cambios, pero aún así tiene que aprender wix para realizar otros cambios. Básicamente 90% de cobertura. -

2 Respuestas

No puede tener dos paquetes MSI instalados al mismo tiempo, más específicamente, no puede iniciar otro MSI durante la InstallExecuteSequence de otro. Sin embargo, si activa su acción personalizada en la secuencia de la interfaz de usuario, esto es posible.

contestado el 22 de mayo de 12 a las 22:05

¿Qué quiere decir con activarlo en la secuencia de la interfaz de usuario? Intenté ejecutar la acción personalizada en la fase de instalación y la fase de confirmación. Las únicas otras dos opciones que tengo son Revertir y Desinstalar: Bender el más grande

Es una mala idea. En primer lugar, suponiendo que su herramienta pueda crear esto y no puede, limitaría la compatibilidad con las instalaciones silenciosas ya que la secuencia de la interfaz de usuario no se procesa durante /QN o /QB. Se procesa durante / QR pero eso es un truco completo. Tendría que realizar una amplia manipulación posterior a la compilación del MSI de salida para inyectar la creación que necesita y que los Proyectos de configuración no admiten. - Christopher pintor

Los proyectos de configuración son notorios por las limitaciones y la calidad en la creación que proporcionan. Tanto que MSFT los eliminó de Visual Studio 11 y los reemplazó con InstallShield Limited Edition.

Su mejor opción es buscar en el programa previo setup.exe que usa el Proyecto de instalación. Eche un vistazo al formato XML que los controla y convierta su instalador de SDK en un instalador silencioso simple que puede ser controlado por esta infraestructura antes de la invocación del MSI principal en el que está trabajando ahora.

InstallShield (Prerrequisitos de configuración e instaladores de la suite) y WiX (Grabar) serían herramientas mucho más capaces para este escenario.

contestado el 23 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.