accdb文件仅在与VS2010安装项目一起安装时才读取

时间:2011-01-31 21:06:50

标签: visual-studio

我创建了一个使用accdb文件的程序。我还创建了一个用于部署所述程序的安装项目。但是,我在accdb文件只在Microsoft Vista中准备就绪时遇到了困难。

首先我将accdb文件安装到DataDirectory中,但意识到如果您需要对文件进行更改,则Program Files位置不是安装文件的位置。
所以我试图安装到ProgramData目录,但accdb文件仍然是只读的 然后我尝试安装到users目录,但无法获取app.config文件中的连接字符串是否正确。

所以最终,我的问题是:
1.我在哪里需要安装accdb文件,以便它不是只读的? 2.如何在VS2010中的FileSystem中配置该目录? 3. app.config中的连接字符串应该是什么样的?

如果可能的话,我希望在XP,Vista和W7中工作。如果需要在多个操作系统上工作,可以创建多个安装项目。

1 个答案:

答案 0 :(得分: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);