2011-01-31 4 views
0

Я создал программу, которая использует файл accdb. Я также создал проект установки для развертывания указанной программы. Однако у меня возникают трудности с готовностью файла accdb только в Microsoft Vista.Файл accdb доступен только при установке с проектом установки VS2010

Сначала у меня был файл accdb, установленный в DataDirectory, но понял, что если вам нужны изменения, внесенные в файлы, то расположение файлов программы не является местом для установки файлов.
SO Я попытался установить в каталог ProgramData, но файл accdb по-прежнему доступен только для чтения.
Затем я попытался установить в каталог пользователей, но не могу получить строку подключения в файле app.config, чтобы она была правильной.

Итак, в конечном итоге, мои вопросы:
1. Где мне нужно установить файл accdb, чтобы он не был доступен для чтения? 2. Как настроить этот каталог в файловой системе в VS2010? 3. Как должна выглядеть строка подключения в app.config?

Я бы хотел, чтобы это работало в XP, Vista и W7, если это возможно. Было бы хорошо создать несколько проектов установки, если это необходимо для работы с несколькими ОС.

+0

очень похож на этого также [без ответа вопрос] (http://stackoverflow.com/questions/4305782/where-to-deploy-a-database-file-to-have-read-write-privileges) –

+0

Да, я натолкнулся на это, но он остался без ответа, поэтому не помог много. – Voyagr12

ответ

0

Вы должны установить файл db на LocalAppDataFolder.

Кажется, вы уже пробовали это ...

Но не может получить строку подключения в файле app.config, чтобы быть правильным.

Вместо того, чтобы установить строку соединения во время разработки, вы должны установить строку во время выполнения

От ErikEJ-х answer на аналогичный вопрос

string fileName = System.IO.Path.Combine(
     Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), 
     "SqlCe35AddinStore.sdf"); 

string connString = string.Format("Data Source={0};", fileName); 
+0

, поэтому допустимо не помещать строку соединения в файл app.config. – Voyagr12

+0

Я просто попытался удалить строку подключения из файла app.config и вставить ее в открытое событие моей загрузочной формы. Однако теперь, когда я пытаюсь построить, он дает мне всевозможные ошибки, которые он не может найти в наборе данных. – Voyagr12

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