2017-04-05 80 views
-1

我正在使用WIX構建安裝程序。現在我想檢測我的數據庫是否通過其他會話連接,如果是的話,拋出一個錯誤。如何在WIX中檢查SQL Server與數據庫的連接

任何人都可以告訴我如何使用WIX來做到這一點? 我知道使用C#很容易,但不知道如何使用WIX來做到這一點,在此先感謝!

回答

0

我使用自定義操作解決了它。下面是一段代碼,希望它能幫助別人。

[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> 
相關問題