使用InstallShield安装程序后,我无法访问我的sqlite数据库。我在app.config文件中引用了数据库,如下所示
<add name ="Database" providerName="System.Data.Sqlite" connectionString="Data Source =|DataDirectory|CKDatabase.db"/>
这是由我的c#代码引用,如下所示
string connectionStringCKDatabase = System.Configuration.ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
当我安装程序时,数据库包含在引用库和应用程序中,但是当我登录时,错误显示“无法打开数据库文件”。数据库不必埋在某处复杂的地方。这只是一个简单的参考。显然它在常规调试模式下工作正常。我知道这是一个简单的问题,但我觉得执行安装的资源非常少。
答案 0 :(得分:1)
您有权限问题。桌面应用程序中的|DataDirectory|
与您安装应用程序的文件夹相同,如果这是&#34; Program Files&#34;你通常没有那里的书面许可。尝试临时将权限读/写设置为该文件夹上的每个人。如果这样可以解决问题,那么请研究如何在具有ProgramData等读/写权限的文件夹中部署数据库文件