O aplicativo C # não pode ler / gravar em arquivos criados pelo administrador quando executado em uma conta de usuário limitada XP
Tenho um aplicativo que pode ser usado por todos os usuários (administrador ou limitado) no .NET (C # especificamente
Quando o aplicativo é iniciado pela primeira vez - ele cria alguns arquivos necessários em C: \ Documents and Settings \ All Users \ Documents \ para todos os lançamentos subsequente
Se o usuário limitado no XP for o PRIMEIRO usuário a iniciar o aplicativo, ele criará os arquivos corretamente e o usuário limitado e os administradores poderão executar corretament
No entanto, se o administrador (ou estou supondo um usuário limitado diferente) for o primeiro a iniciar o aplicativo, o usuário limitado NÃO poderá executá-l
Os dois arquivos nos quais NÃO é possível ler / gravar, se criados por um Administrador, são um arquivo de log Log4Net e um arquivo SQLite d
O arquivo de banco de dados SQLite está sendo criado com um .NET File.Copy simples (caminho de origem, caminho de destino). O caminho de origem é um arquivo de banco de dados de sementes instalado com o aplicativo; portanto, primeiro execute-o, copiando-o de C: \ Arquivos de Programas \ app install \ seed.db
Existe uma maneira de definir as permissões no arquivo quando eu o copio? File.SetAccessControl () talvez? Não sei como isso funciona.
A outra questão é que o aplicativo de arquivo rolante log4Net não rolará o arquivo antigo e criará um novo, pois o arquivo antigo foi criado pelo usuário administrador quando o aplicativo foi executado.
Alguma ideia? Ironicamente, tudo isso funciona perfeitamente no Vista com contas limitadas / administrativas - isso só acontece no XP com contas limitadas / administrativa