2

我有一个复杂的 WIX 安装程序,可以执行各种任务/MSI。其中一个 MSI 安装一个服务,之后数据库 MSI 运行并更新该服务的 app.config 以包含正确的连接字符串。

目前该服务在安装后启动(这是在数据库 MSI 运行之前),这意味着它的连接字符串不正确。如何使服务作为安装程序中的最后一项启动,以便它具有正确的连接字符串。

我认为这可能在 Bootstrapper 的捆绑包中,但我无法让它工作。这是启动服务的 Product.wxs 中的当前代码。

<ServiceControl Id="StartEMService" Start="install" Name="EMService"/>
4

1 回答 1

2

捆绑包仅在包上运行,因此不支持控制服务之类的事情。您的数据库包应该有一个ServiceControl元素来停止(以防万一)并重新启动服务。将更新配置文件的操作安排在StartServices标准操作之前。

于 2013-08-13T15:53:42.830 回答