Wix安装,服务器,客户端或两者兼而有之

时间:2014-08-05 10:22:09

标签: wix installer windows-installer wix-gui

我希望根据用户选择创建Wix安装程序,客户端服务器或两者。

我的问题是当用户选择服务器时,如何限制安装客户端(因为它具有Level = 1而被安装)。我已经定制了 WixUI_Mondo

我尝试使用Condition for Component但没有运气。

<Feature Id="Client" Level="1">
    <ComponentRef Id="ClientMainExecutable" />
    <ComponentRef Id="ClientConfigurations" />
  </Feature>
  <Feature Id="Server" Level="3">
     <ComponentRef Id="ServerExecutable" />
     <ComponentRef Id="ServerConfigurations" />
  </Feature>
  <Feature Id="Both" Level="1000">
  </Feature>
</Feature>

<UIRef Id="myWixUI_Mondo" />

1 个答案:

答案 0 :(得分:2)

在使用更复杂的设置逻辑之前,请考虑使用this stackoverflow answer中所述的使用相同设置安装多个软件的危险。

对于不是“一次性投放”的产品,将可维护性质量保证本地化<的设置分开几乎总是更好/ strong>以及几个概念技术原因。特别是可能具有不同升级时间表的服务器和客户端产品。

也许还可以查看this question并查看使用 Wix的Burn启动器来编写更智能的启动逻辑,或者您自己的EXE启动器

虽然您的要求看起来相当简单,但如果您在我看来有高级要求,那么使用MSI的内置GUI几乎是没有希望的。它很复杂,但不是很灵活。特别是缺乏控制 事件对话框更新非常令人沮丧。