是否有任何快速的方法,给定一个可执行文件,创建一个Windows服务,当启动时,启动它?


当前回答

我测试了一个很好的产品:AlwaysUp。不是免费的,但是有30天的试用期,所以你可以试一试。

其他回答

我有另一种方法,使用名为Topshelf的开源库。 我在一个c#项目中使用了它,但它可能在不同的编程语言中可用。

这段视频解释了如何使用它。 https://www.youtube.com/watch?v=y64L-3HKuP0

对很多人来说,这个问题的关键是你不能将任何旧的.exe作为服务安装,除非你使用Tomeg使用的旧方法。我找不到让它工作所需的windows nt工具包。

我被困在角落里,这是我的出路。

我测试了一个很好的产品:AlwaysUp。不是免费的,但是有30天的试用期,所以你可以试一试。

这些额外的东西证明是有用的。需要以管理员身份执行

sc create  <service_name> binpath= "<binary_path>"
sc stop    <service_name>
sc queryex <service_name>
sc delete  <service_name>

如果您的服务名称有空格,请用引号括起来。

您可以查看我的小型免费实用程序的服务创建\编辑\删除操作。下面是创建示例:

执行服务->修改->创建

可执行文件(谷歌驱动器):[下载]

源代码:[下载]

博客文章:[BlogLink]

服务编辑器类:WinServiceUtils.cs

与Sergii Pozharov的答案相同,但使用PowerShell cmdlet:

New-Service -Name "MyService" -BinaryPathName "C:\Path\to\myservice.exe"

参见New-Service了解更多定制。

这只适用于已经实现Windows服务API的可执行文件。