2009-09-02 87 views
3

有一個使用Click-Once分發的smartclient應用程序,但也包含用於本地緩存的SQLite數據庫。.NET SQLite和點擊一次部署

問題是,一旦應用程序發佈,它似乎無法打開SQLite數據庫文件。已包括DB文件作爲安裝過程的一部分...

有什麼想法?

+0

你有例外嗎? – codeConcussion 2009-09-02 13:34:42

+0

System.Data.SQLite.SQLiteException:無法打開數據庫文件 – 2009-09-02 14:00:09

+1

您的部署請求「完全信任」嗎? – codeConcussion 2009-09-02 14:17:01

回答

3

當ClickOnce應用程序設置爲「完全信任」時,安裝時將提示用戶授予完全信任。這意味着應用程序在運行應用程序的用戶(在編輯註冊,文件io等)上將具有與計算機相同的所有權限。您在評論中提到該應用設置爲完全信任,所以看起來這不是安全問題。

您是否確定全部必要的文件正在部署?我只是從圖片中刪除ClickOnce。查看部署中的所有文件,創建一個文件夾並將所有這些文件複製到該文件夾​​中,然後嘗試運行它。它工作嗎?我最初的猜測是,某些所需的文件未包含在ClickOnce部署中。

0

您是否在包中包含了SQLite提供程序?

+0

是的,它只是無法打開數據庫文件。調試時工作正常,這使我可能是一件安全的事情? – 2009-09-02 12:00:35

1

檢查您的應用程序用於訪問數據庫的路徑。虛擬化路徑可能會導致Vista和以上的這些問題。

然後檢查數據庫文件的讀/寫權限。