如何安装在VisualStudio中创建的Windows服务?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

当我在Visual Studio 2010中创建一个新的Windows服务时,我收到消息说明使用InstallUtil和net start来运行该服务。

我尝试了以下步骤:

  1. 创建新项目文件 - >新建 - >项目 - > Windows服务
  2. 项目名称:TestService
  3. 按原样构建项目(Service1构造函数,OnStart,OnStop)
  4. 打开命令提示符,运行“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe”TestService.exe
  5. 运行网络启动TestService

第4步的输出

运行交易安装。 开始安装的安装阶段。 请参阅C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ TestService \ obj \ x86 \ Debug \ TestService.exe程序集的进度的日志文件的内容。 该文件位于C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ Tes tService \ TestService \ obj \ x86 \ Debug \ TestService.InstallLog。 安装程序集'C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestS ervice \ TestService \ obj \ x86 \ Debug \ TestService.exe'。 受影响的参数是: logtoconsole = logfile = C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ T estService \ obj \ x86 \ Debug \ TestService.InstallLog assemblypath = C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestServ ice \ TestService \ obj \ x86 \ Debug \ TestService.exe 在C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ TestSevice \ obj \ x86 \ Debug \ TestService.exe程序集中找不到具有RunInstallerAttribute.Yes属性的公用安装程序。 安装阶段已成功完成,Commit阶段开始。 请参阅C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ TestService \ obj \ x86 \ Debug \ TestService.exe程序集的进度的日志文件的内容。 该文件位于C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ Tes tService \ TestService \ obj \ x86 \ Debug \ TestService.InstallLog。 提交程序集'C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestS ervice \ TestService \ obj \ x86 \ Debug \ TestService.exe'。 受影响的参数是: logtoconsole = logfile = C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ T estService \ obj \ x86 \ Debug \ TestService.InstallLog assemblypath = C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestServ ice \ TestService \ obj \ x86 \ Debug \ TestService.exe 在C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ TestSevice \ obj \ x86 \ Debug \ TestService.exe程序集中找不到具有RunInstallerAttribute.Yes属性的公用安装程序。 删除InstallState文件,因为没有安装程序。 承诺阶段成功完成。 交易安装已完成。

第5步的输出

服务名称无效。

通过键入NET HELPMSG 2185可获得更多帮助。

提问于
用户回答回答于

你需要在设计器中打开Service.cs文件,右键单击它并选择菜单选项“添加安装程序”。

它不会立即安装......你需要先创建安装程序类。

  • serviceInstaller1有服务本身的属性:DescriptionDisplayNameServiceNameStartType是最重要的。
  • serviceProcessInstaller1有这个重要的财产:Accountthas是服务将运行的帐户。

例如:

this.serviceProcessInstaller1.Account = ServiceAccount.LocalSystem;
用户回答回答于

看着:

在C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ TestService \ TestSevice \ obj \ x86 \ Debug \ TestService.exe程序集中找不到具有RunInstallerAttribute.Yes属性的公用安装程序。

看起来你的代码中可能没有安装程序类。这是一个继承自该类的类,Installer它将告诉installutil如何将你的可执行文件安装为服务。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • uncle_light

    5 粉丝518 提问8 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答
  • 无聊至极

    4 粉丝504 提问6 回答

扫码关注云+社区

领取腾讯云代金券