Невозможно открыть файл Sqllite DB при запуске приложения - PullRequest
0 голосов
/ 01 августа 2011

Я использовал скрипт PostBuildevnt для запуска ссылки на форму заявки

http://blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx?wa=wsignin1.0&CommentPosted=true

и запуск приложения успешно. Я использую sqllite для приложения. Я добавил файл БД в Application Folder / DataBase и, используя следующий код, открыл файл Db.

string ConnectionString = "data source=" + Path.GetFullPath(".") + "\\DataBase\\CATTDB.db";

Если я запускаю приложение из мастера установки, оно не подключается к файлу базы данных. Оно выдает ошибку типа «Невозможно открыть файл».

Если я запускаю из меню «Пуск» или на рабочем столе значок, он работает нормально ..

В чем здесь проблема? пожалуйста, помогите мне ..

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Все файлы копируются правильно.

Я пробовал с Application.ExecutablePath вместо Path.GetFullPath(".")

, это прекрасно работает ...

0 голосов
/ 01 августа 2011

Может случиться так, что ваша рабочая директория будет отличаться при запуске из установщика ...

Что возвращает Path.GetFullPath(".") в этом случае (регистрировать и / или отображать значение)?

Всегда существует проблема с разрешениями / правами - в зависимости от вашей ОС (то есть Windows 7 ...) и пользователя, с которым вы запускаете приложение (ia Administrator?) По соображениям безопасности, вам не разрешено писать в каталог приложения... если вам нужно где-нибудь с read + write, вы должны использовать http://msdn.microsoft.com/de-de/library/system.windows.forms.application.userappdatapath.aspx

Просто проверьте, находится ли БД в этом пути - если не скопируйте его туда - и используйте его там ...

Другие местоположения могут быть ApplicationData / CommonApplicationData / LocalApplicationData от http://msdn.microsoft.com/de-de/library/14tx8hby.aspx и http://msdn.microsoft.com/de-de/library/system.environment.specialfolder.aspx

...