У меня есть SQL Ce db в моем приложении, которое включено в мой каталог приложения. Отлаживая его ОК, но когда он опубликован и запускается с помощью setup.exe, он извлекает "файл не найден" во временном каталоге, из которого запускается приложение. Я хотел бы запускать из стандартного местоположения, но я не знаю, как его изменить.
Я использую эту строку:
SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");
Когда я запускаю setup.exe, приложение никогда не запускается, заявив, что во временном каталоге файл db не найден. Когда я запускаю app.exe, он работает. Я этого не понимаю...: (
EDIT: я вижу, что в настройках VS-проекта есть строка подключения и есть "Data Source = | DataDirectory |\Database.sdf"
Путь должен быть чем-то вроде локального каталога? Спасибо!
Стройте свою строку соединения динамически. Что-то вроде этого:
string connString = string.Format("Data Source={0}; Persist Security Info=False;",
Path.Combine(Application.StartupPath, "database.sdf"));