para conseguir una aplicación instalada en un equipo nuevo parece que hay dos enfoques principales en el uso actual:¿Aplicación autoinstalable o instalador separado?
- instalador independiente: Crear un paquete de instalación independiente que crea todos los directorios, archivos entradas de registro requeridos por su aplicación (es decir, un MSI, InstallSheild, etc.) y luego finalmente copia su aplicación a la computadora de destino.
- Auto instalador: incluya todos los pasos de instalación requeridos en un componente que es parte de su aplicación. Luego use este componente para verificar y crear las configuraciones requeridas cada vez que se ejecuta el ejecutable principal de la aplicación. es decir, solo ejecuta la aplicación para instalar.
He utilizado algunas aplicaciones que corrompen su configuración con el tiempo, y la mayoría tenía un instalador separado. Por lo tanto, la única solución era reinstalar, a veces con la configuración e incluso la pérdida de datos (muy frustrante).
También durante los proyectos de software en los que he trabajado, el enfoque del instalador separado a menudo dictaba la difusión del conocimiento específico de la aplicación tanto en el paquete del instalador como en la aplicación real. Luego, cuando se realizaron los cambios de código/funcionalidad, tanto el instalador como la aplicación necesitaron actualizarse. Siempre se sintió demasiado frágil y propenso a errores humanos.
Por lo tanto, actualmente me estoy inclinando por el enfoque de autoinstalador debido a una instalación/configuración más sencilla y robusta, es decir, simplemente ejecute la aplicación. Este enfoque de autoinstalación que siento también se presta a una aplicación más robusta.
La integración con las configuraciones de la aplicación (opciones) también sería mucho más limpia, en muchos casos el mismo componente podría realizar tanto la instalación como la administración de configuraciones.
En lo negativo, sin embargo, la realización de estas comprobaciones/pasos adicionales cada vez que se inicia la aplicación podría afectar negativamente los tiempos de inicio, y la integración del sistema operativo podría ser un poco más trabajo que usar un instalador estándar.
¿Qué enfoque recomiendan las personas y por qué?
(estoy más interesado en la instalación de aplicaciones de cliente de escritorio en la actualidad.)
Apoyo firmemente no tener un instalador y permitir que la aplicación sea portátil. Eclipse (www.eclipse.org) es el mejor ejemplo que puedo pensar. Aplicación muy rica, pero aún portátil. –
Puntos justos con respecto a los componentes del sistema, pero por el momento estoy realmente interesado en las aplicaciones de escritorio con gran cantidad de clientes. Incluso las aplicaciones portátiles requieren ciertas configuraciones/configuraciones. ¿No es mejor que la aplicación principal verifique que las configuraciones sean válidas/existan en cada inicio y solo avise al usuario cuando sea necesario? – Ash