运行ruby exe文件,因为Windows服务导致错误

时间:2015-06-30 05:23:02

标签: ruby windows windows-services

我几天坚持这个问题,任何帮助都会非常感激。

有一个名为app.exe的ruby文件位于"C:\MyApp\app.exe"。这是一个Windows应用程序,它创建一个系统托盘图标。当我直接点击app.exe时,这很好用。但是我想将它作为一个Windows服务,以便它始终在系统托盘上(在系统启动给所有用户之后)。

所以我了解到Windows中的sc命令有一些命令行参数可用于创建服务。我这样做:

sc create "testservice" binpath= "C:\Prevas\MyApp\app.exe" displayname= "Test Service

当我开始时:

sc start "testservice"

当我这样做时,我得到一个错误:

[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

无法理解我看到此错误的原因,因为我可以直接启动应用。我遗失的任何参数或我做错的任何事情?

谢谢你们

1 个答案:

答案 0 :(得分:2)

你应该看看this question
查看Win32Utils - Ruby library for MS Windows

来自文档,

  

请注意,某些库(如win32-api和win32-service)具有   包含预构建二进制文件的gem,因此不需要编译器   那些库。只需像安装任何其他宝石一样安装它们。

这些Utils有一些不错的包装器。 win32-service是一个这样的宝石将帮助你实现这一目标。

阅读史蒂夫约翰逊的这些Create a Windows Service with Ruby Part 1Part 2文章。