先写一下目前的问题
目前写了两个控制台服务,一直在采集数据,偶尔会崩溃
第一个思路是直接把功能写进windows服务,但是测试了下打不开TCP连接,所以退一步
新建一个windows服务,用Timer获取进程判断是否有需要的两个进程,如果没有打开,如果有跳过(这样打开的服务没有黑框,功能还在,TCP连接、数据库交互都没问题,还在观察)
步骤
新建服务项目
选择默认带的服务,在左边空白处右键,选择添加安装程序
选择这个属性,不然会要求账号密码
查看Service的代码,默认给两个事件一个启动触发,一个停止触发,可以在里面写业务
完事生成一下,然后准备安装
在C:\Windows\Microsoft.NET\Framework64\v4.0.30319这个地址找InstallUtil.exe,有就对了。没有自己找去
管理员权限打开命令提示符(黑框),cmd
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
installutil E:\Work\SoftWareTest\WindowsService1\WindowsService1\bin\Debug\Service1.exe (刚才生成项目的EXE路径) 安装
installutil -u E:\Work\SoftWareTest\WindowsService1\WindowsService1\bin\Debug\Service1.exe (刚才生成项目的EXE路径) 卸载
如果代码有更新,只需要停止服务,然后更新完成重新生成,再开启就会生效,不需要卸载重新安装 over
标签:exe,服务,C#,WindowsService1,生成,window,EXE From: https://www.cnblogs.com/ThisYbc/p/16985951.html