1

Bootstrapper と Chainingに関する質問は、以前に尋ねられた可能性があります。私はたようなものと異なるものを尋ねようとしています。

私の要件CHAIN 3 installshield msi into a single oneexpose the feature selection GUI of 2 of the MSIs単一の機能セットとして、ユーザーが最上位の機能のいずれかを選択すると、その選択がパラメーターとして基礎となるそれぞれの msi に渡され、インストールが続行されるようにすることです。ユーザーは、通常の方法で機能を選択することにより、機能を削除/変更できるこの exe/セットアップを再度起動することができます。

最後に、インストールが終了するthe package should generate a custom XML fileと、上記のユーザーが選択した機能に基づいて内部ツールによって使用されます。


そのため、標準の動作とカスタムの動作が混在しています。I have no clue about the world of installers. 誰かが最小限の労力でこれを達成する方法を提案するか、correct approach ?.

in C#/Winforms (or WPF) ?車輪の再発明のように見えるようなツールを作成する必要がありますか? つまり、次のようなもの

  • 標準 GUI (Winforms / WPF) で独自のカスタム TreeView GUI を使用する
  • Process.Start("msiexec /i /ADDLOCAL=Feature1 msi1.msi") --> ADDLOCAL は、カスタム GUI 選択から機能セット パラメーターを渡します。
  • Process の Exited イベントにフックする
  • プロセスの終了を待つ
  • 終了が成功したら、終了ハンドラーなどから適切なパラメーターを使用して 2 番目の msi を起動します...

正しいアプローチかどうかわかりませんか?これに関するヘルプは大歓迎です。前もって感謝します!!

(この質問では C# にタグを付けています。)

4

1 に答える 1

2

正直なところ、ブートストラップとチェイナーは非常に複雑な話です... 目に見えるよりもはるかに複雑です。インストーラーについて何も知らない場合は、多くの作業を行う準備をしていることになります。おそらく、WiX (Burn) や InstallShield (Setup Prereqs および Suite Installers ) などのツールが提供しなければならないツールを調べて、それらの機能に合わせて要件を変更することをお勧めします。

Microsoft のチーム (この Office、SQL、Visual Studio) は、カスタム ソリューションの開発に膨大な時間と才能を費やしてきました。私たちの他の人が通常費やさなければならない時間よりもはるかに多くの時間を費やしています。

個人的には、MSI をそれぞれ 1 つの機能を持つ多くの小さな「マイクロパッケージ」に分割することを検討します。次に、セットアップの前提条件と機能の前提条件を含む InstallShield Basic MSI プロジェクトを使用して、すべてを結び付けます。どのように設計するかを説明する前に、詳細な要件を用意する必要があるため、省略した詳細がたくさんあります。

WiX 3.6 ala Burn も可能です。

于 2012-09-02T22:01:28.703 に答える