问题描述:
在win7上二次开发EasyDarwin后,编译出的EasyDarwin.exe运行正常,或是使用ServiceInstall-EasyDarwin.exe在系统中注册服务,启动服务也正常。
于是打包将其部署在win server 2008上,发现如果直接运行EasyDarwin.exe,一切正常。
但是如果以服务启动,运行ServiceInstall-EasyDarwin.exe,命令行显示启动成功,但是在任务管理器中EasyDarwin-service启动失败,并且手动启动服务出现错误。
不解,难道win7编译的就只能在win7上拉起服务?于是在win server 2008上配置好编译环境,在win server 2008上进行编译,发现还是不行。不信邪,又至win10上重新编译并测试,发现问题相同。
最头疼的是,没有任何的报错信息,所以无从下手,只能靠猜。
在这个问题上浪费了好几天……最后解决是看到有人给作者评论说service包(支持Go程序以系统服务方式启动的包)在Go 1.16.xx版本下编译后不能使用的问题。
抱着试一试的态度,我把Go从1.16换成了1.14,结果……在win server 2008上能启动了。
坑死我了…………