我打算在Users\CurrentUserName\AppData
文件夹中部署我的数据库文件,因为默认的用户帐户控制设置限制了对安装程序的Program Files目录的写访问权。
第一个问题 - 这是正确的吗?
到目前为止,我已经创建了一个自定义文件夹,将DefaultLocation属性设置为[LocalAppDataFolder][ProductName]
,并将.sdf文件放在该文件夹中。
这适用于Windows 7,但它似乎在Windows XP中不起作用 - 我找不到任何在任何地方部署的迹象。
那么我应该在何处以及如何部署数据库文件?
我也不确定如何将连接字符串设置为[LocalAppDataFolder]
位置 - 有任何建议吗?
编辑:该应用程序是一个WinForms应用程序,它将从网站下载并使用安装程序项目创建的安装程序进行安装。
答案 0 :(得分:3)
这对我有用:
string fileName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "SqlCe35AddinStore.sdf");
string connString = string.Format("Data Source={0};", fileName);