我已經(jīng)創(chuàng)建了一個 WPF 應(yīng)用程序,并且在原始解決方案中使用了 visual studio 安裝項目來創(chuàng)建安裝程序。此安裝程序以正確的方式創(chuàng)建并在系統(tǒng)上安裝應(yīng)用程序。問題是在應(yīng)用程序內(nèi)部需要創(chuàng)建一個 sqlite 數(shù)據(jù)庫。在應(yīng)用程序在 visual studio 中之前沒有問題,但是一旦安裝在主窗口中就會引發(fā)異常:System.UnauthorizedAccessException:訪問路徑 'C:\Program Files (x86)\User\TestApp\database.sqlite' 被拒絕我在應(yīng)用程序中使用的代碼如下:if (!File.Exists("database.sqlite")){ SQLiteConnection.CreateFile("database.sqlite"); SQLiteConnection sQLiteConnection = new SQLiteConnection("Data Source=database.sqlite;Version=3;"); sQliteConnection.setPassword("1234"); sQliteConnection.Open();}你能說出問題出在哪里嗎?我需要將這些元素放在安裝后可訪問的特殊文件夾中嗎?或者有另一種方法可以確保應(yīng)用程序在目標機器上安裝后可以正常工作嗎?
1 回答

猛跑小豬
TA貢獻1858條經(jīng)驗 獲得超8個贊
Program Files 或 Program Files (x86) 或下面的任何文件夾中的文件通常設(shè)置為只讀訪問,除非您的程序以提升的方式運行。這需要將任何寫訪問文件或數(shù)據(jù)庫放在別處。根據(jù)您放入其中的內(nèi)容,ApplicationData 或 LocalApplicationData(來自 Environment.GetFolderPath)是典型的位置。
- 1 回答
- 0 關(guān)注
- 241 瀏覽
添加回答
舉報
0/150
提交
取消