当社の製品には、SQL、MySql、および Oracle に接続するオプションがあります。
メンバーが何を望んでいるかに関係なく、接続に必要なすべての dll を出荷することを考えましたが、これは msi サイズを増やしています。(msビルドを使用)
Wix にある種のグループを作成し、出荷する dll を選択するパラメーターに基づいてランタイムを作成できますか? または、おそらく複数の .wxs ファイル (db ドライバーごとに 1 つ) とランタイムがどれを選択するかを決定しましたか?
当社の製品には、SQL、MySql、および Oracle に接続するオプションがあります。
メンバーが何を望んでいるかに関係なく、接続に必要なすべての dll を出荷することを考えましたが、これは msi サイズを増やしています。(msビルドを使用)
Wix にある種のグループを作成し、出荷する dll を選択するパラメーターに基づいてランタイムを作成できますか? または、おそらく複数の .wxs ファイル (db ドライバーごとに 1 つ) とランタイムがどれを選択するかを決定しましたか?
さまざまなデータ プロバイダーのファイルをさまざまな機能に編成します。次に、変数に基づくプリプロセッサ ステートメントを使用して、ビルドに機能を含めたり除外したりします。最後に、評価のために変数を WiX ビルドに渡します。また、異なる MSI の一意の ProductName、ProductCode、および PackageCode プロパティを指定する必要があります。おそらく同じ UpgradeCode です。別のディレクトリにインストールし、コンポーネントが設計上完全に分離されていない限り、一度に 1 つのバリエーションのみがインストールされるように、インストーラーでのチェックを検討する必要がある場合もあります。
また、3 つのデータ プロバイダーが唯一のバリエーション ポイントである場合、バリエーションは 7 つしかないと思います。これらの 7 つを事前にビルドしてから、コンテンツを配布チャネルに公開することをお勧めします。