【问题标题】:Setup project for windows service with multiple instances为具有多个实例的 Windows 服务设置项目
【发布时间】:2011-04-08 15:41:48
【问题描述】:

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

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

【问题讨论】:

  • “我们需要安装多个不同的服务实例”。不同的是什么?
  • 配置不同,名称不同
  • 你只是用不同的参数多次运行同一个 .msi 吗?
  • 我计划使用不同的参数,但设置只允许我在第二次运行时修复或删除以前的安装

标签: .net deployment setup-project


【解决方案1】:

您的 cmets 表明您正在尝试通过为 msiexec 指定不同的参数来从单个 .msi 安装产品的多个实例。这行不通。正如您所发现的,Windows Installer 将您的 .msi 视为单一产品,不允许多次安装。

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

【讨论】:

  • 我不能使用这个解决方案,因为有时我需要在一段时间后安装第二个实例
  • 那么你需要这样做作为修改操作
  • 我不确定这是否允许我使用两个不同的安装点
  • 为什么要将同一个可执行文件安装到两个不同的位置。
  • 在我的系统中,每个可执行文件都有一个配置文件,我希望能够创建另一个具有不同配置的服务
【解决方案2】:

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

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

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

祝我好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 2021-04-13
    • 2015-06-28
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多