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服务怎么安装的主要内容,如果未能解决你的问题,请参考以下文章