1

インストール パッケージ (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 番目のオプションを使用するにはどうすればよいですか? それとも、データベースを削除する他の方法がありますか?

4

0 に答える 0