0
我已經在WiX 3.7中寫了一個自定義動作,現在當我想連接到一個數據庫(Firebird)的某個地方時,它只是返回該函數,我現在已經調試過了多一個小時,但無法弄清楚問題出在哪裏WiX 3自定義動作 - 函數無例外地返回
Database db;
try
{
db = new Database(@"C:\Cedex2\DB\CEDEX.FDB", DatabaseOpenMode.Transact);
Debuging.Log("step0");
}
catch (Exception ex)
{
Debuging.Log(ex.Message);
}
try
{
string sqlScript = "";
Debuging.Log("step1");
using (StreamReader reader = new StreamReader(@"C:\Cedex2\DB\script1.sql"))
{
try
{
sqlScript = reader.ReadToEnd();
}
catch (Exception ex)
{
Debuging.Log(ex.Message);
}
}
Debuging.Log(sqlScript);
db.Execute(sqlScript);
Debuging.Log("step2");
db.Close();
Debuging.Log("closed");
}
catch (Exception ex)
{
Debuging.Log(ex.Message);
}
腳本也存在,DB文件也是。在記錄之前必須發生一些事情(「step0」),因爲這不會在我的登錄文件中結束。如果我手動拋出一個異常之前新的數據庫()它會進入捕獲和日誌。什麼可能是錯的?如果這將是一個編譯錯誤,爲什麼它不會以我的捕獲結束?
數據庫,文件也有通過自定義操作
是我做的。嗯,沒有想到這一點。這就是爲什麼我的XML數據庫規範不起作用的原因。但是我怎麼能在firebird數據庫上執行一個SQL腳本呢?我的意思是必須有一種方法來實現這個我認爲,否則我會有一個大問題... – Postback 2013-03-04 13:35:45
DTF的卷是僅僅是一個模型,用於在Windows Installer上下文中運行託管的自定義操作。如何連接到Firebird數據庫將是與WiX和DTF無關的另一個問題。我已經發布了一個鏈接,讓你開始。 PS-請記住點贊並接受這個答案。 – 2013-03-04 13:45:55
看起來像這是我需要的確切的東西。謝謝! – Postback 2013-03-04 14:07:43