1

2 つの Web サイト、3 つの Windows サービス (うち 2 つは WCF サービスをホスト)、および 3 つの SQL データベースで構成されるアプリケーションがあります。

すべてのシステムが 1 つまたは 2 つのサーバーにインストールされる可能性がありますが、パフォーマンスが深刻な影響を受ける場合は、一部のサービスが別のマシンにインストールされる可能性もあります。

このすべてのスタッフ用に WIX インストーラーを作成する必要があります。問題は、コンポーネント セット (一部のサービスはインストールされる可能性があります) をインストールできる単一の複雑なインストーラーを作成する方がよいのか、それともいくつかの個別のインストーラーを作成する方がよいのか、よくわかりません。

製品全体が同じマシンにインストールされている場合、シングル インストーラー アプローチには重要な利点があります。ユーザーに表示されるダイアログはほとんど必要なく、コンポーネント間の接続構成を自動的にセットアップできます。しかしもちろん、そのようなインストーラーの開発は非常に複雑です。インストーラー ウィザード ページは、現在マシンにインストールされている機能に基づいて表示する必要があります。複数の条件があり、それらすべてをテストするのは地獄です。

複数インストーラーのアプローチは、実装とテストが簡単です。ただし、もちろん、ユーザーが製品をインストールするのは難しくなります。WCF サービスへの接続構成をセットアップするために、同じサービスのインストール URL を数回 (インストーラーごとに 1 回) 設定する必要があります。

この分野のベスト プラクティスを検索しましたが、情報があまりないようです。誰がより適切な方法を提案できますか?

4

3 に答える 3

1

大きな単一のインストーラーにバンドルされた複数のインストーラーを使用すると、それらを簡単に分離してテストできます。バンドル インストーラーには、ユーザーからデータを 1 回キャプチャし、インストール用に選択されたすべてのインストーラーに渡す目的があります。

これは、Wix の Burn サポートまたはその他のセットアップ オーサリング ツール(GUI を提供し、プロジェクトとダイアログを非常に簡単に作成できる) を使用して行うことができます。Wix は非常に優れたツールですが、IDE を提供してドラッグ アンド ドロップしてダイアログを設計し、個別のインストールを連鎖させる優れたセットアップ オーサリング ツールのライセンスのコストと比較すると、プロジェクトの作成に必要な時間が多すぎます。インストーラー。

編集

ブートストラッパーからバックグラウンド インストーラーに値を渡すのは非常に簡単です。カスタム コードを記述する必要はありません。これは、セットアップ オーサリング ツールから直接処理されます。必要なのは、ツールが Windows インストーラー準拠のパッケージを作成できることを確認することだけです。このようにして、インストーラーのコマンド ラインで、ユーザーが行った選択をプロパティ値としてバックグラウンド インストーラーに渡すことができます。

ブートストラップ インストーラーは Windows インストーラーに登録されないため、コントロール パネルには個別のアプリケーションとして表示されず、個別のバックグラウンド インストーラーのみが表示されます。

于 2013-09-03T10:59:07.510 に答える