0

当社の製品には、SQL、MySql、および Oracle に接続するオプションがあります。

メンバーが何を望んでいるかに関係なく、接続に必要なすべての dll を出荷することを考えましたが、これは msi サイズを増やしています。(msビルドを使用)

Wix にある種のグループを作成し、出荷する dll を選択するパラメーターに基づいてランタイムを作成できますか? または、おそらく複数の .wxs ファイル (db ドライバーごとに 1 つ) とランタイムがどれを選択するかを決定しましたか?

4

1 に答える 1

2

さまざまなデータ プロバイダーのファイルをさまざまな機能に編成します。次に、変数に基づくプリプロセッサ ステートメントを使用して、ビルドに機能を含めたり除外したりします。最後に、評価のために変数を WiX ビルドに渡します。また、異なる MSI の一意の ProductName、ProductCode、および PackageCode プロパティを指定する必要があります。おそらく同じ UpgradeCode です。別のディレクトリにインストールし、コンポーネントが設計上完全に分離されていない限り、一度に 1 つのバリエーションのみがインストールされるように、インストーラーでのチェックを検討する必要がある場合もあります。

また、3 つのデータ プロバイダーが唯一のバリエーション ポイントである場合、バリエーションは 7 つしかないと思います。これらの 7 つを事前にビルドしてから、コンテンツを配布チャネルに公開することをお勧めします。

プリプロセッサ

于 2012-09-08T21:01:55.833 に答える