2017-04-05 17 views
-1

インストーラをビルドするためにWIXを使用しています。今私は自分のデータベースが他のセッションによって接続されているかどうかを検出したいと思います。WIXでデータベースへのSQL Server接続を確認する方法

誰でも私にWIXを使ってそれを行う方法を教えてもらえますか? C#を使用するのは簡単ですが、事前に感謝してWIXを使用して行う方法はわかりません。

答えて

0

私はカスタムアクションを使用して解決しました。以下はコードの一部ですが、他人を助けることを願っています。

<control ...> 
<publish Event="SpawnDialgo" Value="DBInUseDlg">DBINUSE = "Y"</publish> 
</control> 

<Dialog Id="DBInuseDlg" ....> 
    <control>.... 
</Dialog> 
:WXSファイルで

[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 
} 

関連する問題