Windows安裝程序沒有任何現成的支持與應用程序一起部署的數據庫,你將不得不編寫自己的組件,它在部署過程中創建數據庫,並與MSI插上。我在我的項目中也做了同樣的事情。按照步驟。
Creating database with Console App
- 首先忘記了Windows安裝程序。
- 創建控制檯應用程序。它採用兩種
SMO(SQL server Management Object)
或簡單的SQL命令來執行腳本
- Add方法。
- 檢查我的答案here能讀.sql文件並執行它的SQL服務器上。
- 你需要做的是保存一個.sql腳本文件,它可以在執行時創建數據庫。
- 您必須將該文件路徑傳遞給您在控制檯應用程序中使用的方法。
Executing console app during the installation
- 現在你有一個控制檯應用程序執行時可能創建一個數據庫,只要正確的憑證文件路徑傳遞給方法。
- 將此控制檯exe文件和sql腳本文件添加到您的MSI軟件包中。所以這兩個都將放在應用程序安裝文件夾下。
- 將installer class添加到您的項目中。
- 內的安裝方法只需執行控制檯exe文件。
Code
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
Process process = new Process();
ProcessStartInfo info = new ProcessStartInfo();
process.StartInfo = info;
info.FileName = Path.Combine(this.Context.Parameters["targetdir"], "ConsoleApp.exe");
info.UseShellExecute = false;
process.Start();
}