Примечание. Важно, чтобы вы получили существующий список контроля доступа из файла, а затем добавили к нему новое правило. Если вы просто создаете новый список контроля доступа с нуля, тогда он полностью перезапишет существующие разрешения.

я есть приложение, которое может использоваться всеми пользователями (администраторами или пользователями с ограниченными возможностями) в .NET (особенно на C #).

Когда приложение запускается впервые - оно создает несколько файлов, которые ему нужны, в C: \ Documents and Settings \ All Users \ Documents \ для всех последующих запусков.

Если пользователь с ограниченными правами в XP является ПЕРВЫМ пользователем для запуска приложения, он прекрасно создает файлы, и пользователь с ограниченными правами и администраторы могут нормально работать.

Однако если администратор (или я предполагаю, что другой пользователь с ограниченными правами) первым запустит приложение, тогда пользователь с ограниченными правами НЕ сможет запустить приложение.

Два файла, которые он НЕ может прочитать / записать, если они созданы администратором, - это файл журнала Log4Net и файл базы данных SQLite.

Файл базы данных SQLite создается с помощью простого .NET File.Copy (sourcepath, destinationpath). Исходный путь - это исходный файл базы данных, установленный вместе с приложением, поэтому при первом запуске он копирует его из C: \ Program Files \ app install \ seed.db

Есть ли способ установить права доступа к файлу при его копировании? Возможно, File.SetAccessControl ()? Я не понимаю, как это работает.

Другая проблема заключается в том, что приложение для прокручивания файлов в log4Net не свернет старый файл и не создаст новый, поскольку старый файл был создан пользователем-администратором при запуске приложения.

Есть идеи? По иронии судьбы все это прекрасно работает в Vista с ограниченными учетными записями / учетными записями администратора - это происходит ТОЛЬКО в XP с учетными записями администратора / ограниченных пользователей.

Ответы на вопрос(2)

Ваш ответ на вопрос