如何在WIX中检查SQL Server与数据库的连接
问题描述:
我正在使用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>