[英]WiX installer and custom actions
我有一个不太简单的Windows服务(C#)的应用程序。 我使用Visual Studio 2008创建了一个安装程序,它完成了在客户端计算机上安装服务的工作,但使用Visual Studio部署项目有两个缺点:
VS2008部署项目的优点在于我创建了一个自定义操作,显示一个表单,该表单从用户获取一些信息,连接到WCF服务,该服务检索数据并将其存储在本地计算机上的加密数据存储中以供服务。
现在,我看起来又高又低,我不认为这可能与WiX有关。 程序安装后运行EXE并不“好”。 我希望能够在我的自定义操作DLL中调用一个显示表单的方法,并进行所需的处理。 有没有办法用WiX做到这一点? - 甚至在WiX中创建一个自定义GUI,获取值并将这些值传递给方法进行处理
所以,问题:
非常感谢
你绝对可以使用WiX安装和启动服务 - 我每天都在这样做,每天:-)
查看ServiceInstall
和ServiceControl
元素(如果您需要指定甚至更多,还有更多元素)。
基本上,您需要首先将服务文件(YourService.exe)定义为组件中的文件,然后除此之外还需要指定ServiceInstall(以及可能的ServiecControl)元素。
<Component Id='YourServiceComponent' Guid='.....' DiskId='1'>
<File Id='YourServiceEXEFile' Name='YourService.exe'
src='(path to your EXE)/YourService.exe' KeyPath='yes'/>
<ServiceInstall Id='YourServiceInstall' Name='YourServiceName'
Description='.....' ErrorControl='normal'
Start='auto' Type='ownProcess' Vital='yes' />
<ServiceControl Id='UninstallYourService' Name='YourServiceName'
Remove='uninstall' Wait='yes' />
</Component>
然后,您需要将此组件添加到正在安装的安装中的某个功能 - 这就是它!
渣
关于WiX服务控制节点的注意事项:
如果您的服务依赖于安装程序在GAC中放置的程序集,那么它将无法启动。 出于某种原因,WiX会在将程序集发布到GAC之前调度StartService操作,因此如果是这种情况,则需要编写自定义操作来启动该服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.