-1
我正在使用WIX構建安裝程序。現在我想檢測我的數據庫是否通過其他會話連接,如果是的話,拋出一個錯誤。如何在WIX中檢查SQL Server與數據庫的連接
任何人都可以告訴我如何使用WIX來做到這一點? 我知道使用C#很容易,但不知道如何使用WIX來做到這一點,在此先感謝!
我正在使用WIX構建安裝程序。現在我想檢測我的數據庫是否通過其他會話連接,如果是的話,拋出一個錯誤。如何在WIX中檢查SQL Server與數據庫的連接
任何人都可以告訴我如何使用WIX來做到這一點? 我知道使用C#很容易,但不知道如何使用WIX來做到這一點,在此先感謝!
我使用自定義操作解決了它。下面是一段代碼,希望它能幫助別人。
[CustomAction]
public static ActionResult DoCheck(Session ssion)
{
...
if (CheckDBInUse(...))
{
...
session["DBINUSE"] = "Y"; // Set flag
...
}
}
private static bool CheckDBInUse(...)
{
// SELECT host_process_id FROM SYS.DM_EXEC_SESSIONS WHERE DATABASE_ID = DB_ID('{0}')"
// do check
}
在WXS文件:
<control ...>
<publish Event="SpawnDialgo" Value="DBInUseDlg">DBINUSE = "Y"</publish>
</control>
<Dialog Id="DBInuseDlg" ....>
<control>....
</Dialog>