VS 2008 Windows服务安装程序不起作用

时间:2010-11-10 20:45:34

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

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

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

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

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

我以前创建了服务,所以我将ProjectInstaller文件和安装程序配置与过去的项目进行了比较,看不出有什么显着差异。

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

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

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

    HTH,
    詹姆斯

答案 1 :(得分:0)

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

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