C # La aplicación no puede leer / escribir en archivos creados por el administrador cuando se ejecuta en una cuenta de usuario limitada XP

Tengo una aplicación que todos los usuarios pueden usar (admin o limitada) en .NET (C # específicamente).

Cuando la aplicación se inicia por primera vez, crea algunos archivos que necesita en C: \ Documentos y configuraciones \ Todos los usuarios \ Documentos \ para todos los lanzamientos posteriores.

Si el usuario limitado en XP es el PRIMER usuario en iniciar la aplicación, crea bien los archivos y tanto el usuario limitado como los administradores pueden funcionar bien.

Sin embargo, si el Administrador (o supongo que un usuario limitado diferente) es el primero en iniciar la aplicación, entonces el usuario limitado NO puede ejecutar la aplicación.

Los dos archivos que NO puede leer / escribir si son creados por un Administrador son un archivo de registro Log4Net y un archivo SQLite db.

El archivo de base de datos SQLite se está creando con un archivo .NET de copia directa (ruta de origen, ruta de destino). La ruta de origen es un archivo de base de datos semilla instalado con la aplicación, por lo que al ejecutarlo primero se copia desde C: \ Archivos de programa \ app install \ seed.db

¿Hay alguna forma de establecer los permisos en el archivo cuando lo copio? File.SetAccessControl () quizás? No tengo claro cómo funciona eso.

El otro problema es que el apéndice del archivo de registro log4Net no acumulará el archivo anterior y creará uno nuevo ya que el usuario administrador creó el archivo antiguo cuando ejecutó la aplicació

¿Algunas ideas? Irónicamente, todo esto funciona perfectamente en Vista con cuentas limitadas / administrativas: esto SOLO sucede en XP con cuentas administrativas / limitadas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta