Я тестирую свое приложение на учетной записи без прав администратора Windows 7.Приложение устанавливается в программные файлы.Это включает в себя файл .sdf, который мне нужно прочитать.У меня есть строка подключения, помеченная как доступная только для чтения, и я установил временный путь к моим документам.Это ошибка, которая вылетает, когда я пытаюсь сделать connection.Open()
Внутренняя ошибка: невозможно открыть область общей памяти
У меня есть строка подключенияопределено в app.config, но я изменяю его, прежде чем начать использовать соединение.Эта часть находится в app.config Data Source=|DataDirectory|\DB.sdf;Password=password;
И затем я изменяю ее следующим образом:
connection = new SqlCeConnection(connectionString +
";Mode=Read Only; Temp Path=" + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
Это работает на моей машине разработчика (очевидно), так как она запускается вне чтениятолько каталог.Но даже когда я вручную отмечаю файл .sdf как доступный только для чтения, он все равно работает и успешно создает временный файл БД в правильной папке.Однако на тестовой машине все находится в папке программных файлов только для чтения, и она не работает.
Основная цель этой проблемы - убедиться, что моя программа не должна бытьработал от имени администратора, и я не хотел бы перемещать основную копию файла db из-за пределов директории установки.
Дайте мне знать, если мне нужно объяснить что-то еще.Спасибо