3

SQL Server データベースを使用するアプリケーションを作成しました。

ローカル PC で SQL Server Express を使用しています。アプリは私の PC で問題なく動作するので、配布を試みています。

ほとんどのお客様は、ローカル マシンで Express を使用しても問題ありません。

大規模な顧客の中には、複数の従業員が同じデータベースにアクセスしている場合があるため、サーバーに常駐する必要があります。

インストーラーに次のことをさせるにはどうすればよいですか。

  1. ローカル データベースとネットワーク データベースのどちらを使用するかをユーザーに尋ねます。
  2. PC/ネットワークで SQLServer を実行しているサービスを検索し、サービスを選択できるようにします。
  3. 存在しない場合は、SQL Server Express をローカル マシンまたはネットワーク マシンにインストールします。

「カスタム アクション」について読みましたが、それらはアプリのインストールが完了した後にのみ実行されますが、SQL Server Express を「前提条件」として設定した場合、カスタム アクションが実行される前に自動的にインストールされます。 .

私はVS2010(雇用者の要件)、C#/ .Net 3.5を使用しています

具体的または一般的なアドバイスをいただければ幸いです。ここでも正しいアプローチを使用していますか?

4

1 に答える 1

0

インストーラーを起動する前に、SQL サーバーの前提条件を確認し、必要に応じて解決するブートストラップ アプリケーションを作成する必要があります。明らかに、ブートストラップ アプリは特定のキーのレジストリをチェックしますが、それらが手に負えないものかどうかはわかりません。他の誰かがあなたに詳細を提供する必要があります。

MSI には、インストール、修復、またはアップグレード時に実行されるカスタム アクションが必要です。これは、何らかの形式の SQL サーバーの存在をチェックし、存在しない場合は、ユーザーに .EXE (ブートストラップ アプリ) を起動するように指示し、その後終了します。または、面倒な作業をしても構わない場合は、メッセージ ボックスを表示する代わりに、MSI で .EXE を起動することもできます。

于 2013-03-26T16:16:04.340 に答える