【问题标题】:VS 2008 Windows Service Installer Doesn't workVS 2008 Windows 服务安装程序不起作用
【发布时间】:2010-11-10 20:45:33
【问题描述】:

我刚刚创建了一个新的 Windows 服务,但我遇到了安装程序问题。

我通过本教程创建了安装程序:http://www.sarin.mobi/2008/08/c-windows-service-visual-studio-2008/

无论如何,当我运行 VS 生成的 .msi 时,该项目的可执行文件安装在我期望的位置。但是,该服务不会出现在 Windows 服务中。

当我使用 VS 命令行工具和 installutil 时,一切正常。

我过去创建过服务,因此我将 ProjectInstaller 文件和安装程序配置与过去的项目进行了比较,发现没有显着差异。

有什么建议吗?

【问题讨论】:

  • 我觉得这个教程不正确,通用安装程序只会复制文件,复制文件后你仍然需要运行 installutil。
  • 那么我想我的问题是,我如何告诉安装程序运行 installutil 作为过程的一部分?
  • 之前也做过,不过已经有一段时间了……让我看看能不能想出点什么

标签: c# visual-studio-2008 windows-services


【解决方案1】:

要安装服务,您需要将ServiceInstallerServiceProcessInstaller 添加到服务项目,然后将自定义操作添加到安装程序以运行它们。我很确定这是您缺少的自定义操作部分。

  1. 创建一个新的 Windows 服务项目
  2. 双击 .svc 文件打开设计器。
  3. 右键单击设计图面并选择“创建安装程序”。这将创建一个。
  4. 设置属性...关键道具是:
    • ServiceInstaller:名称和启动类型
    • ServiceProcessInstaller:运行帐户。
  5. 创建您的设置项目
  6. 右键单击设置项目并选择添加 -> 项目输出
  7. 从下拉列表中选择服务项目并选择“主要输出”
  8. 右键单击安装项目并选择查看 -> 自定义操作
  9. 右键单击出现的自定义操作树并选择添加自定义操作
  10. 选择“应用程序文件夹”
  11. 选择“服务的主要输出”
  12. 单击“确定”。将添加四个操作,每个安装操作下一个

现在,当您构建并执行安装程序时,您在第 3 步中创建的安装程序将被执行,添加您的服务并设置所有属性。

HTH,
詹姆斯

【讨论】:

  • 谢谢先生。我省略了步骤 8-12。
【解决方案2】:

可以在here 找到使用 Visual Studio 2008 在 C# 中创建 Windows 服务的分步说明。这包括添加使用InstallUtil.exe 实用程序安装服务所需的安装程序。

如果您想通过命令行自行安装服务,请参阅分步说明here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多