【发布时间】:2012-07-12 04:29:40
【问题描述】:
在这种情况下如何为 WCF 服务创建 WiX 安装程序?
- 在开始时,用户选择托管:自托管、在 IIS 中、在系统服务中。
- 根据他的选择,我需要安装 3 组不同的文件之一,执行特定的自定义操作等。
如何在一个安装程序中实现这一点?
PS。我已经制作了安装 IIS 托管 WCF 的安装程序。
但是如何做到三合一呢?
【问题讨论】:
在这种情况下如何为 WCF 服务创建 WiX 安装程序?
如何在一个安装程序中实现这一点?
PS。我已经制作了安装 IIS 托管 WCF 的安装程序。
但是如何做到三合一呢?
【问题讨论】:
最好的办法是在安装程序中拥有单独的功能。在每个功能下,您可以拥有构成每种托管类型的组件(请每个 dll 一个组件)。然后您还可以将任何自定义操作设为conditional on component action state
如果您尚未将所有服务逻辑分离到其自己的程序集中,可以由宿主项目(Web 服务、Win 服务等)引用。因此,在您拥有的输出文件的简化列表中:
可以让他们的所有目标目录都是同一个,但每个主机类型都有一个目录可能是有意义的。在这种情况下,需要将 Common.dll 复制到每个文件夹,并且每个位置都需要一个单独的 wix 组件。
使用功能选择树的默认 UI 可以工作,但我不相信您可以强制只选择单个功能。如果您想使用更自定义的功能选择,您应该start with reading this
【讨论】: