Pregunta

Fondo:

Tenemos un instalador de Windows que simplemente instala e inicia nuestro programa de instalación de WinForms personalizado. Este instalador personalizado realiza la instalación real: crear una aplicación web IIS, copiar DLL, instalar una base de datos, etc.

Ahora queremos escribir algunas pruebas de aceptación automatizadas, que incluirán la instalación del software utilizando el mismo procedimiento de instalación que utilizamos en producción. Queremos comenzar ejecutando las pruebas de aceptación todas las noches en una máquina dedicada, y más tarde como parte de una tubería de integración continua.

Problema:

Está demostrando ser difícil automatizar el programa de instalación de WinForms. Y no queremos un código de instalación especial para las pruebas de aceptación.

Pregunta:

¿Qué consejo tiene las personas inteligentes para integrar el proceso de implementación en una prueba automatizada?

Sospecho que la decisión de usar WinForms para el instalador fue una mala elección, particularmente porque la aplicación resultante no separa claramente el código de IU del código de instalación real.

¿Fue útil?

Solución

Mi recomendación sería usar un instalador basado en MSI en lugar de intentar rodar el suyo con formularios de Windows. Busque usar el Windows Installer XML (WIX) Toolset de herramientas que es un popular conjunto de herramientas de código abierto gratuito para crear instaladores.

El uso de MSI tiene muchas ventajas, en particular hace que sea bastante difícil mezclar la lógica del instalador y la interfaz de usuario (como Caer en el pozo del éxito) Y así, hacer un instalador desatendido adecuado para ejecutar en una máquina remota es un pedazo de pastel.

Si ya está comprometido con su método de instalación actual, debe trabajar para separar su interfaz de usuario y lógica hasta el punto en que puede ejecutar una instalación sin mostrar ninguna interfaz de usuario; es difícil dar un consejo específico sobre cómo hacerlo sin más ejemplo concreto.

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