/ / instalación múltiple en un proyecto de instalación - instalador de windows

instalación múltiple en un proyecto de instalación - instalador de windows

Tengo muchas soluciones, cada solución contieneal menos un proyecto (supongamos que son solo proyectos de aplicaciones de Windows). Luego, produje una solución de instalador (msi) para cada solución de Windows. Entonces, tengo myWindowsSolution1 & myInstallerForMyWindowsSolution1 (file1.msi), myWindowsSolution2 & myInstallerForMyWindowsSolution2 (file2.msi) ...

Ahora quieren poner instaladores en total en 1.solo instalador ¿Es posible hacer esto sin perder la reversión automática? Lo que intenté es hacer una aplicación que recorra cada archivo del instalador y ejecutar el archivo, el problema es que, si uno de ellos falla, los ya instalados permanecerán instalados:

for (int i = 0; i < installers.Length; i++) {
Process p = Process.Start(installers[i]);
p.WaitForExit();
}

También intenté poner todos los archivos msi (convertidos previamente en exe) en myInstallerForMyWindowsSolution1, en CustomActions-> Install pero nuevamente pierdo la reversión.

La fusión de todo el código en una única solución muy grande sería la última opción.

Gracias por adelantado.

Respuestas

3 para la respuesta № 1

Una forma es hacer una gran instalación de "contenedor" que contenga todos los MSI de configuración individuales. Usted menciona que intentó hacer algo así diciendo: "También intenté poner todos los archivos msi (convertidos previamente en exe) en myInstallerForMyWindowsSolution1, bajo CustomActions-> Install pero de nuevo pierdo la reversión".

Aquí está la cosa: necesita crear acciones personalizadas no solo para cada instalación, sino también para desinstalar las aplicaciones. Por lo tanto, si durante la instalación una de las acciones personalizadas devuelve un código de falla, entonces el MSI comenzará con el proceso de reversión, que incluirá la desinstalación de cualquiera de los MSI incrustados. Asegúrese de que los códigos de falla de sus acciones personalizadas de instalación desencadenen la reversión, y que los códigos de falla de las acciones personalizadas de desinstalación no lo hagan.