【问题标题】:accdb file read only when installed with VS2010 setup project与 VS2010 安装项目一起安装时,accdb 文件只读
【发布时间】:2014-12-16 09:01:16
【问题描述】:

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

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

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

如果可能的话,我希望它能够在 XP、Vista 和 W7 中工作。如果需要跨多个操作系统工作,可以创建多个设置项目。

【问题讨论】:

  • 看起来也很相似unanswered question
  • 是的,我确实遇到过,但没有得到答复,所以没有多大帮助。

标签: visual-studio


【解决方案1】:

您应该将 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);

【讨论】:

  • 所以可以不将连接字符串放在app.config文件中
  • 我只是试图从 app.config 文件中删除连接字符串并将其插入到我的启动表单的打开事件中。但是,现在当我尝试构建它时,它给了我各种错误,它无法找到数据集。
猜你喜欢
  • 2010-11-24
  • 1970-01-01
  • 2013-10-21
  • 2011-10-17
  • 2011-07-25
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多