visual studio servicios servicio instalar instalador ejemplos crear c# windows-server-2008

c# - studio - Aplicación de servicio de Windows.config ubicación



servicio windows c# timer (6)

De acuerdo con Microsoft

Para los archivos ejecutables del cliente, el archivo de configuración de la aplicación reside en el mismo directorio que el ejecutable de la aplicación y tiene el mismo nombre base que el ejecutable con la extensión .config.

Tenga en cuenta que si su exe se llama appname.exe y tiene el explorador de Windows configurado para ocultar extensiones, entonces su aplicación se mostrará como nombre de aplicación y su archivo de configuración y luego se mostrará como appname.exe (aunque el verdadero nombre es appname. exe.config)

Como han señalado otros, InstallUtil no hace nada con el archivo de configuración y debería haberse copiado en el servidor de la misma manera que el propio exe.

Instalé un servicio de Windows C # en Windows Server 2008. Lo instalé con InstallUtil. El servicio lee algunos datos del archivo app.config y lo está haciendo bien. ¿Puede decirme dónde se encuentra este archivo después de instalar el servicio? He estado buscando horas pero no puedo encontrarlo.


El mismo lugar donde está tu aplicación (Servicio de Windows).

Compruébalo, si no está allí, colócalo en el mismo directorio que el servicio.


Es la misma ubicación desde la que tiene servicio registrado utilizando la herramienta installutil .


Puede verificar la ubicación exacta del Servicio de Windows instalado siguiendo los pasos a continuación:

  1. Abra la lista de Servicios de Windows haciendo clic en el icono "Servicios" debajo del icono "Herramientas administrativas". También puede obtener esta lista escribiendo "Ver servicios locales" en el Menú de Búsqueda en el Menú de Inicio.

  2. Seleccione su servicio de Windows en la lista de servicios instalados, haga clic derecho y luego seleccione Propiedades. También puede hacer doble clic en la fila que representa el servicio.

  3. Busque el valor "Ruta al ejecutable" en el cuadro de diálogo Propiedades. El valor incluirá cualquier parámetro de línea de comando.

  4. Abra la carpeta en la que reside el ejecutable del servicio.

Si el servicio de Windows se ha creado con .NET Framework, su configuración se almacenará en el archivo .config correspondiente, es decir, el nombre del ejecutable con el sufijo ".config", por ejemplo, si el nombre del ejecutable es "XyzService". exe ", entonces el nombre del archivo .config será" XyzService.exe.config ".

Un par de cosas a anotar:

  • Si instaló el servicio después de compilarlo en la misma máquina utilizando, digamos, Visual Studio, entonces Visual Studio habría transformado el archivo App.config del proyecto y lo habría colocado en la carpeta de salida de compilación automáticamente (y lo habría renombrado apropiadamente usando los nombres anteriores) convención).

  • Si su máquina está configurada para ocultar extensiones de archivo en Windows Explorer, verá 2 archivos "XyzService" y "XyzService.exe". En este caso, el "XyzService.exe" es su archivo de configuración. Si luego desactivas la opción de ocultar extenciones de archivos en el Explorador de Windows, comenzarás a ver "XyzService.exe" y "XyzService.exe.config".

  • Si no puede encontrar un archivo .exe.config correspondiente, entonces es posible que el código dentro del servicio esté retrocediendo a los valores predeterminados. En este caso, puede colocar un archivo de configuración formateado y correctamente nombrado junto con el ejecutable del servicio y luego reiniciar el servicio y todo debería estar bien.


Si tiene un entorno en vivo (y de su pregunta parece que lo hace), puede verificar lo que está sucediendo realmente utilizando la utilidad superior Monitor de procesos. Pero generalmente el archivo .config se encuentra justo al lado del .exe y tiene el mismo nombre.


App.config probablemente se llame {ProjectName}.exe.config dado el hecho de que es un servicio de Windows. Verifique si ese archivo existe y es lo que está buscando.