2011-04-08 94 views
2

我写了一个windows服务并创建了一个安装项目来安装它。我还在安装过程中为选择的服务名称添加自定义操作。如果只安装一个服务实例,它工作正常。但是,在某些部署中,我们需要使用不同的配置安装多个服务实例。如果我尝试安装另一个已安装的服务副本,它认为我想修复或删除以前的副本。有多个实例的windows服务的安装项目

安装项目是否可以适应安装应用程序的多个实例?

+0

“我们需要安装不同服务的多个实例”。不同什么? – 2011-04-08 15:43:59

+0

不同的配置和不同的名称 – davidb 2011-04-08 16:04:09

+0

你只是运行相同的.msi多次不同的参数? – 2011-04-08 16:07:11

回答

2

您的评论表明您试图通过向msiexec指定不同的参数来从单个.msi安装产品的多个实例。这不起作用。正如您发现的那样,Windows Installer将.msi视为单一产品,并且不会允许多次安装它。

你需要做的是让你的.msi一次安装所有不同的服务实例。您需要为msiexec调用中的每个服务指定所有不同的配置选项,并在安装程序中有效循环。

+0

我不能使用此解决方案,因为有时我需要安装第二个实例后一段时间 – davidb 2011-04-08 17:03:56

+0

那么你需要做作为修改动作 – 2011-04-08 17:07:18

+0

我不确定这是否会允许我安装两个不同的安装点 – davidb 2011-04-08 18:16:36

0

我面临与OP相同的问题。我发现这篇文章描述了如何使用dotNet installutil完成多个服务的安装。

http://www.codeproject.com/KB/dotnet/MultipleInstNetWinService.aspx

如果我理解正确的话,这是使用MSI的替代品。在我的情况下,这是可以接受的,所以我会试试这个。我想如果我得到它的工作,我总是可以创建一个只运行installutil.exe命令行的MSI。

祝我好运。