【发布时间】:2017-07-18 07:37:49
【问题描述】:
有一个项目使用 sqlite db 文件。在我使用 Visual Studio 安装程序制作安装文件之前,一切正常。我知道 UAC 的限制,所以我创建了自定义文件夹 [CommonAppDataFolder][Manufacturer][ProductName]。 (C:\ProgramData\MyCompany\MyProduct) 安装程序文件创建文件夹并将数据库文件放在那里,但是,程序崩溃并出现异常“尝试写入只读数据库”。 当我将刚刚通过 Visual Studio 安装程序添加的同一个数据库文件放入 C:\ProgramData\MyCompany\MyProduct 时,最有趣的事情就开始了。它本质上应该是相同的文件,但是当我手动添加它时 - 一切正常。所以我认为问题出在 Visual Studio 安装程序上,它以某种方式弄乱了数据库权限。 你能告诉我我应该在哪里挖才能解决这个问题吗? 提前致谢。
附:我使用的是 Windows 7,SP1
【问题讨论】:
-
确实没有 SQLite DB 权限,很可能 DB 被标记为只读,或者在文件系统上是只读的,或者在 windows 中访问 DB 的用户没有对 db 路径的写入权限。