El servicio de ventana c# no detecta la configuración de log4net después de la instalación desde el instalador personalizado

Tengo una aplicación cliente que es un servidor de ventanas con su archivo dlls, exe y config.

Creé un instalador personalizado para él que copiará esto en archivos de programa y actualizará su configuración.

Este es el codigo que estoy usando

//read config and update
string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)+"\\EventLogTracer.exe"; //this is app.exe path not app.exe.config path
Configuration evetconfig =ConfigurationManager.OpenExeConfiguration(path);
evetconfig.AppSettings.Settings.Remove("baseUri");
 evetconfig.AppSettings.Settings.Add("baseUri", "https://192.168.1.79:443/rest");
evetconfig.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");

Tengo la configuración de log4net también en mi archivo app.exe.config. Que no estoy tocando en absoluto. Mi instalador también tiene la misma configuración de log4net.

Ahora creé su archivo MSI y ejecuté una máquina diferente al instalarlo.

Ahora, en mi máquina local, se está instalando perfectamente y selecciona todas las configuraciones y configuraciones de log4net. Todo funciona perfecto.

En mi máquina VM intenté instalarlo. Se instaló y publicó datos en el servidor. Pero no recoge la configuración de log4net y no escribe ningún registro en absoluto.

¿Cuál es el problema aquí, no tengo cerebro. ¿Alguien puede ayudar?

Muchas Gracias

preguntado el 12 de junio de 12 a las 16:06

¿Está seguro de que la referencia de log4net está marcada con copy local = true y está implementada en la máquina de destino? -

¿Puedes confirmar que el archivo de registro está en la máquina? -

sí, el instalador crea el archivo de registro en esa máquina que tiene la misma configuración de log4net. Sí, su copia local es verdadera. En algún momento también está recogiendo y escribiendo en el registro. Pero algún tiempo no. -

1 Respuestas

Tuve un problema similar con una aplicación WCF implementada en IIS y resultó ser un problema relacionado con los permisos. Sé que no está usando IIS, pero su problema también suena relacionado con los permisos.

¿Qué sistema operativo se está utilizando en producción? servidor 2008? Si es así, ¿no bloquearon los permisos en los archivos de programa un poco más que en las versiones anteriores de Windows? Intente dar control total sobre la carpeta donde se escribe el registro a todos los usuarios y vea si eso funciona. Si es así, sabe que se trata de un problema de permisos y luego puede averiguar qué permisos específicos necesita establecer para qué usuarios (en lugar de dejarlo en control total para todos los usuarios).

Respondido el 29 de junio de 12 a las 16:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.