Estoy desarrollando una aplicación .NET WinForms que se basa en user.config para almacenar varias configuraciones útiles, como las URL del servicio web de intranet. Nos gustaría hacer posible la importación de configuraciones iniciales personalizadas como parte de la instalación. El caso de uso para esto es si una empresa tiene 100 máquinas en las que desean instalar el software, y todas deben tener una referencia al servicio web de intranet en cuestión, esto no debería ser necesario configurarlo manualmente en todas las máquinas.Inicializando user.config o app.exe.config durante la instalación
Actualmente estamos utilizando un proyecto de instalación VS2008 para generar el paquete de instalación.
Nuestra idea hasta ahora ha sido permitir al instalador crear un archivo .config inicial personalizado con la información (desde una plantilla), y luego ponerlo en su lugar en lugar del predeterminado que instala el proyecto de instalación.
Sin embargo, no puedo ver una manera de hacer esto aparte de estos pocos:
- codificar el nombre del ejecutable en una acción instalador personalizado (que deriva de System.Configuration.Install.Installer), con el fin utilizar la clase ConfigurationManager para determinar la ruta del archivo .config. Esto requeriría cambios manuales en el instalador si el nombre del ejecutable cambia.
- Haga rodar nuestras propias clases de configuración o jerarquía de archivos/carpetas para almacenar las configuraciones. Esto básicamente nos excluiría de las ventajas del mecanismo de aislamiento (que también es el obstáculo aquí) que proporciona .NET, si entiendo correctamente.
¿Alguien sabe de alguna alternativa, o de las formas de hacer que las dos anteriores sean apetecibles?
Me temo que la respuesta puede ser "no hagas esto, derrota el espíritu del mecanismo, transfiere tu propio mecanismo de importación de configuraciones".
.net es tan claro que los instaladores "serios" parecen un desperdicio. Escribimos nuestro propio instalador de secuencia de comandos XML en aproximadamente dos días y hace todo lo que necesitamos, además podemos ampliarlo fácilmente. – Bill
¿Quién tiene 2 días para escribir un instalador ...? ;-) – blak3r