解決winform打包後 sqlite只能讀不能寫的問題

問題描述

winform在開發電腦上正常,但打包後放在其他機子,安裝後只能讀不能寫,剛懷懷疑是dll 的問題,System.Data.SQLLite.dll換32位的,問題依舊。

使用SQLLite工具 單獨打開 SQLLite數據庫文件driver.db ,發現也是隻能讀不能寫,會報錯"Unable to open database file"

將 driver.db 文件,安全權限加大,全勾上如下圖,

再次使用 SQLLite數據庫文件driver.db,測試能不能寫,發現問題依舊

再將數據庫文件driver.db 所在目錄 同樣加大權限,再測試,發現可以了,所以問題是權限問題,接下來就是解決打包的設置了

(PS:如果不將程序安裝的 c 盤 是沒有上述問題的,所以接下來 要麼要求客戶固定安裝在非C盤目錄,要麼解決權限問題)

 解決辦法:

在工程中找到app.manifest,將

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

修改爲

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

 保存後,再次打包安裝,問題解決!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章