WiX 3.7 でカスタム アクションを作成しましたが、データベース (Firebird) に接続したいときに、関数から返されるだけで、1 時間以上デバッグしましたが、どこにあるのかわかりませんでした。まさに問題は
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 ファイルも存在します。これはログファイルに記録されないため、logging("step0") の前に何かを行う必要があります。new Database() の前に手動で例外をスローすると、キャッチしてログに記録されます。何が間違っている可能性がありますか?それがコンパイラエラーである場合、なぜそれが私のキャッチにならないのですか?
カスタム アクションを実行した後、Database-File には新しい Windows-Lastmodified 日付もありません