Нарушение безопасности в c: \ ProgramData? - PullRequest
2 голосов
/ 21 сентября 2010

Я работаю над демонстрационным приложением SQL Compact, и одна из задач моего проекта установки - скопировать файл SDF в папку c:\ProgramData пользователя. Однако, когда приложение запускается на компьютере пользователя, я получаю следующую ошибку:

System.Data.EntityException: основной поставщик не удалось открыть. ---> System.Data.SqlServerCeException: доступ к файлу базы данных не разрешен. [Имя файла = c: \ ProgramData \ Foresight Systems \ Демонстрация SQL Compact \ LocalData.sdf]

Я озадачен тем, что является причиной этой ошибки. Разве c:\ProgramData не является предпочтительным местом для такого типа файлов? Что мне нужно сделать в моем проекте установки, чтобы заставить это работать? Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Я принял ответ p.campbell, потому что он выявил проблему безопасности.Я вернулся и посмотрел на вкладку «Безопасность» для папки c:\ProgramData и обнаружил, что группа «Пользователи» имеет разрешения на чтение только для этой папки.Так что, вероятно, это не лучшее место для размещения моего файла SDF.Я выложу отдельный вопрос относительно того, куда поместить файл.

0 голосов
/ 21 сентября 2010

Несколько вещей, которые нужно проверить, возможно (?):

  • .sdf имеет атрибут файла только для чтения
  • , приложение запускается от имени администратора или предоставляется доступ UAC?
...