vs2015 windows服务怎么安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2015 windows服务怎么安装相关的知识,希望对你有一定的参考价值。

参考技术A 打开VS2013,选择文件->新建->项目。

在项目中找到【windows服务】项目,重新命名后点击确定。

在service1设计器中点击右键,选择查看代码,进入代码页面。

在代码编辑器中添加【OnStart】服务启动方法。

继续在代码编辑器中添加【ChkSrv】方法。

继续在代码编辑器中添加你需要定时执行的任务方法。

继续在代码编辑器中添加【WriteLog】书写日志的方法。

8
继续在代码编辑器中添加【OnStop】服务停止方法。

找不到windows服务(刚安装)

【中文标题】找不到windows服务(刚安装)【英文标题】:Cannot find windows service (just installed) 【发布时间】:2011-09-20 11:03:59 【问题描述】:

我刚刚使用VS 2010安装了一个windows服务,使用installutil.exe,cmd提示窗口说commit阶段成功完成,但是我在本地services文件夹中看不到windows服务。

我错过了什么?

我使用的是 Windows 7 和 VS 2010

更新: 我卸载了服务(名为 service1)将名称更改为有意义的名称,安装了服务(与上述相同的过程),仍然无法在服务浏览器中找到它。

FWIW...我在属性窗口(文件名值)中重命名了我的 service1.cs.. 但它仍然在服务浏览器中显示 service1。我最终也更改了后面代码中的值(自动生成的代码) this.serviceInstaller1.ServiceName = "service1";

更新(2) 我创建了一个虚拟 Windows 服务,并且能够成功安装它(它提示我输入域登录 ID 和密码)并且我能够在服务浏览器中看到它。

但是,我无法在服务浏览器中看到实际的 Windows 服务(与我的项目相关)。显然我有权限,因为我能够安装虚拟服务。

据此本站Can't see windows service after installation

我在“HKLM\System\CurrentControlSet\Services”路径中的注册表中看不到服务。

更新 (3) 日志文件说

没有公共安装程序 RunInstallerAttribute.Yes 属性 可以在C:..中找到。

但是,我在项目解决方案中有一个 ProjectInstaller.cs 文件。

我加了

[运行安装程序(真)]

到 ProjectInstaller.cs 文件,还是不行

有什么建议吗?

【问题讨论】:

您是否刷新了服务文件夹视图?有时它不会立即出现。 @user788487:您将 ServiceInstaller 的 ServiceName 属性设置为什么?这就是它应该在下面列出的内容。 @Jackson,在那个名字下也找不到它。 您传递给 installutil.exe 的路径是什么?您没有使用映射驱动器或类似的东西? 试试***.com/questions/1560407/…。 【参考方案1】:

还记得在列表中查找之前检查您为服务提供的名称。我从网上复制粘贴了一些代码,忘记更改代码中的服务名称,所以我当然找不到它......

serviceInstaller.DisplayName = "Example service"

哇!

【讨论】:

【参考方案2】:

用 [RunInstaller(true)] 属性检查 Installer 派生类的构造函数中是否有类似的东西:

public ServiceSetup()

    Installers.Clear();

    ServiceInstaller serviceInstaller = new ServiceInstaller();
    // serviceInstaller.Description = // FIXME:
    // serviceInstaller.ServiceName = // FIXME:
    // serviceInstaller.DisplayName = // FIXME:
    serviceInstaller.StartType = ServiceStartMode.Automatic;
    Installers.Add(serviceInstaller);

    ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
    serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
    serviceProcessInstaller.Username = null;
    serviceProcessInstaller.Password = null;
    Installers.Add(serviceProcessInstaller);

【讨论】:

完美!解决了我在服务列表中看不到服务的问题:)【参考方案3】:

将您添加 [RunInstaller(true)] 的类设为公开。

【讨论】:

我认为“没有具有 RunInstallerAttribute 的公共安装程序”的原因非常有限。您是否删除了安装程序并再次完成了该过程?听起来好像是第一次错过了什么。【参考方案4】:

我刚刚遇到了这个问题,和你描述的完全一样。

我愚蠢地对生成的 myservice.vshost.exe 文件运行 installutil。

这可能不是您的问题,但在命令提示符下,我浏览到 .exe 所在的目录,键入 installutil 后跟一个空格,然后使用制表符循环以自动完成服务 exe 名称。

我找到的文件以“myservice”开头并以“.exe”结尾,然后我让它运行。

很傻,但事情就是这样。

将此信息留给后代,并希望它可以帮助其他人:-)

【讨论】:

【参考方案5】:

这充其量只是半解决方案。

我遇到了同样的问题,我已经尝试了上面提到的所有补救措施以及其他程序员的避风港。

我已将 Acount 类型更改为 LocalService,现在它可以正常工作了。 这可能是临时解决方案。

【讨论】:

【参考方案6】:

我正在针对我认为没有 .exe 扩展名的文件运行 installutil.exe。当我在文件浏览器中查看文件时,扩展名不可见。当我将 .exe 扩展名添加到服务文件名时,它运行顺利:-)。真可惜。

【讨论】:

欢迎来到 ***。回答前请阅读常见问题解答。请在回答前仔细阅读问题..【参考方案7】:

向设置项目添加自定义操作

1.在解决方案资源管理器中,右键单击安装项目,指向查看,然后选择自定义操作。出现自定义操作编辑器。

2.在自定义操作编辑器中,右键单击自定义操作节点并选择添加自定义操作。将出现“选择项目中的项目”对话框。

3. 双击列表框中的应用程序文件夹将其打开,从 MyNewService (Active) 中选择主输出,然后单击确定。主要输出被添加到自定义操作的所有四个节点——安装、提交、回滚和卸载。

4.构建安装项目。

【讨论】:

【参考方案8】:

这听起来很奇怪,但请确保您尝试安装的 service.exe 文件是最新版本。恐怕您正尝试将文件部署到调试文件夹中,但您确实进行了更改并在发布模式下重建服务项目。

【讨论】:

以上是关于vs2015 windows服务怎么安装的主要内容,如果未能解决你的问题,请参考以下文章

VS2010安装失败??

vs2015服务开发

如何安装平台工具集为VS2015

下载好映象vs2015后 出现无法更改路径的问题 怎么解决

caffe windows10 vs2013怎么配置

win10下驱动开发 怎么安装vs2015