当我从bin\debug
或bin\release
中的项目文件夹运行我的应用时,它运行正常。一切以及我的数据库工作正常。
但是当我用我的调试或发布文件创建一个安装文件时,我的数据库不起作用。我设置了数据库连接,如:
SqlCeConnection compact_con = new SqlCeConnection(@"Data Source=" + Directory.GetCurrentDirectory() + @"\chondrokotha.dat;Password=4545;");
并将chondrokotha.dat
保留在debug文件夹中。
我的文件如下:
之后我将数据库放入名为chonrokotha的文件夹中。在这个时间错误显示像
如何在创建安装文件期间解决此问题?
答案 0 :(得分:0)
根据您的错误消息,您的当前执行应用程序的用户显然没有写入权限到数据库文件所在的文件夹中。这是Windows Vista上的默认设置(我相信)和更高版本 - 默认情况下,普通(非提升用户)在C:\program files
中没有写入权限(这是一个好东西整体)
您可以通过以下几种方式解决这个问题:
将数据库文件放入用户可以写入的文件夹中,例如C:\tmp
或C:\Users\(username)\.....
将数据库文件放入Isolated Storage - 一种.NET机制,为您提供用户可以写入保证的文件夹
在您的程序文件夹下创建一个子文件夹,并为您的用户(或Everyone
)提供该文件夹的写入权限