我想用Wix 3.5安装带有一些dll的产品。 这些dll是在msi安装期间通过单选按钮组确定的。 我有:
问题:我有另一组要添加的dll,我想尽可能少地修改文件。 我不想介绍错误,我想让事情解耦。
我想仅使用单选按钮修改UI片段并添加myDllv3片段(不对我的主wxs文件进行任何更改,因此该文件中没有条件......)。
有可能吗?
答案 0 :(得分:1)
为什么不在构建msi时使用pre-processors来选择正确的片段?
<?if $(env.SomeBuildParameter) = SetA ?>
<?include myDllSetAv1.wxs ?>
<?include myDllSetAv2.wxs ?>
<?else ?>
<?include myDllSetBv1.wxs ?>
<?include myDllSetBv2.wxs ?>
<?endif ?>
答案 1 :(得分:0)
我可能误解了这个问题,但听起来你的不同Dll集应该按照WIX中的功能进行分组。我建议创建独立的WIX片段,代表您的每个Dll集合的功能,然后您可以绑定UI以适当地安装特定功能。
您代表产品级别的功能,如下所示:
<Feature Id="Feature.One" Title="Feature One">
<ComponentGroupRef Id="FeatureOneDlls.Group" />
</Feature>
<Feature Id="Feature.Two" Title="Feature Two">
<ComponentGroupRef Id="FeatureTwoDlls.Group" />
</Feature>
在每个功能中,我建议使用单独的wxs文件来提供包含该功能文件的片段信息。