簡體   English   中英

如何使用SQLite數據庫為AC#應用程序發布/創建安裝程序?

[英]How To Publish/Create Installer For A C# Application With An SQLite Database?

我有一個使用Visual Studio C#編寫的簡單WinForms應用程序,其中包括SQLite數據庫。.數據庫的Build Action屬性設置為“ Content”,“ Copy to Output Directory”設置為“ Copy if Newer”。 該應用程序已准備好發布。 我想做一個安裝程序。 最好的方法是什么? 我預計會有一些問題。我應該在哪里保存數據庫文件? 如果將其保存到Program Files文件夾中,則數據庫將變為只讀。.我應該在哪里保存它,應該怎么做?

我會問您的問題是: “在安裝和使用應用程序期間將可寫文件存儲在哪里?”

有兩個特殊的地方:

  1. ApplicationData特殊文件夾。 當前用戶可以訪問此文件夾,並且該文件夾實際上位於C:\\ Users \\\\ AppData \\ Roaming (Win7)中。 此路徑存儲在%APPDATA%環境變量中,可以這樣使用:

     Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); 

    您可以將文件安全地存儲在以下文件夾結構中: %APPDATA%\\YourCompanyName\\YourAppName\\

  2. CommonApplicationData特殊文件夾。 除了幾乎所有用戶可以訪問並且實際上放置在__(Win7)中之外,其余與上面幾乎相同。 此路徑存儲在%ALLUSERSPROFILE%環境變量中,可以這樣使用:

     Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)); 

    和以前一樣,您可以安全地將文件存儲在以下文件夾結構中: %ALLUSERSPROFILE%\\YourCompanyName\\YourAppName\\

對於您的情況,在這里如何獲取db文件路徑:

var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
var dbPath = Path.Combine(appDataPath, "YourCompanyName\YourAppName", "your_db_name.sqlite3");

真正的區別是:此數據庫是否對所有 Windows用戶都通用,還是每個用戶都應該有自己的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM