インストール パッケージ (Visual Studio インストーラー) があります。インストール プロセス中に、SMO を使用してデータベースを MS SQL サーバーに接続します。アンインストール プロセスが開始されると、「インストールを続行する前に、次のアプリケーション ("SQL サーバー (MSSQLServer)") を閉じる必要があります」というダイアログが表示されます。このダイアログには、「アプリケーションを自動的に閉じて、セットアップの完了後に再起動を試みる」と「アプリケーションを閉じない (再起動が必要になる場合があります)」という 2 つのオプションがあります。最初の 1 つのオプションを選択すると、「サーバーに接続できません」というエラーが表示されます。2 番目のオプションを使用すると、すべてが正しく機能します。カスタム アクションの unistall メソッドでは、データベースを削除するために SqlCommand (コマンド テキスト: DROP DATABASE [baseName]) を使用します。アンインストール方法コード:
using(var con=new SqlConnection(_server.ConnectionContext.ConnectionString))
{
con.Open();
string sqlCommandText = string.Format("DROP DATABASE [{0}]", DATABASE_NAME);
var sqlCommand = new SqlCommand(sqlCommandText, con);
sqlCommand.ExecuteNonQuery();
}
「次のアプリケーション...」というダイアログを回避し、常に 2 番目のオプションを使用するにはどうすればよいですか? それとも、データベースを削除する他の方法がありますか?