2009-06-10 57 views
2

我有一個使用自定義數據庫進行存儲的WPF桌面應用程序。 我需要準備一個安裝項目(來自Visual Studio 2008)(完整安裝,而不是ClickOnce)。如何將自定義桌面應用程序數據庫安裝到SQL Express?

我可以將該先決條件列表添加到應用程序,並且在應用程序的安裝過程中它會進行安裝。

我的問題是:如何在安裝期間運行腳本以創建應用程序需要的數據庫?或者如何在安裝過程中將數據庫恢復到客戶端機器?

另一個相關的問題,如果客戶機上已經存在會發生什麼?如何檢測實例名稱和連接數據?然後如何才能夠 - 如果需要 - 更改由Entity框架使用的連接字符串以連接到該數據庫?

感謝, 埃德

回答

3

的SQL Server Express版本通常是本地數據庫真正糟糕的選擇。這是一個服務器級引擎,喜歡使用大量資源並作爲服務運行(即使應用程序未運行時也會佔用這些資源)。換句話說,它屬於服務器。

我見過的SQL Server Express在桌面上使用的唯一有意義的地方是作爲Microsoft Small Business Accounting應用程序的一部分,在這種情況下,您通常將該程序安裝在主要用於執行會計你的事。

什麼應該做的是使用臺式機或進程中類引擎SQL Server等精簡版,SQLite的,甚至訪問。這也將大大簡化你的部署。

如果你堅持用這種方法推進,知道安裝程序將在系統上創建一個新的sql server實例。 SQL Server將會很好。但是,您需要在應用程序的連接字符串中進行說明,這可能會更復雜一些。此外,爲了建立數據庫,你有兩個選擇:

  • 創建從客戶端代碼的應用程序的第一次啓動
  • 具有自定義安裝程序操作來創建它(很難得到正確的,因爲微星的權限)
  • 分發預構建* .mdf文件並附加自定義安裝程序操作或首次啓動應用程序。
相關問題