2010-09-21 5 views
2

Я пишу приложение базы данных SQL Compact с базой данных SDF, которую мне нужно установить на машине пользователя. Пользователь должен иметь возможность читать и записывать в базу данных, а база данных должна быть доступна для всех пользователей. Приложение должно работать с обычными правами пользователя, и UAC не может быть отключен.Лучшее место для работы с SDF-файлами?

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

ответ

1

В отсутствие каких-либо четких указаний по этой проблеме, я установил на c:\Users\Public\Documents в качестве местоположения файла данных. Если в этом файле есть лучшее место, я бы хотел услышать об этом. Я оставлю этот вопрос открытым еще на пару дней, прежде чем принять свой собственный ответ.

+0

В Windows XP нет C: \ Users? Возможно, это было бы эквивалентно C: \ Documents and Settings \ All Users \ Application Data – joedotnot

2

Я вставляю файлы в (Имя пользователя) \ Documents ", если они будут открыты или сохранены непосредственно пользователем, скажем, если они дважды щелкнут и откроются через Explorer. Учитывая его SDF, я бы, вероятно, поместил его в% APPDATA % \ (Название компании) \ (название продукта)

2

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

Вот как вы получаете путь к папке «Общие данные приложения».

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) 
+0

Файл базы данных должен быть доступен для всех пользователей. – ErikEJ

+0

исправил ответ. –

Смежные вопросы