1053 Error about win32-service

K

Kai Geng

Hi
I have installed the gem of win32-service-0.6.0-x86-mswin32-60.gem.But
when I run my test code such as:

require 'rubygems'
require 'win32/service'
include Win32

s = Service.new
s.create_service{ |srv|
srv.service_name = "foo"
srv.binary_path_name = "D:\\Ruby\\bin\\ruby "+File.expand_path($0)
srv.display_name = "Test_service"
}
s.close

Service.start("foo")

I will get a 1053 ERROR. How can I rescue the error?

Attachments:
http://www.ruby-forum.com/attachment/1128/moz-screenshot.jpg
 
J

Jano Svitok

Hi
I have installed the gem of win32-service-0.6.0-x86-mswin32-60.gem.But
when I run my test code such as:

require 'rubygems'
require 'win32/service'
include Win32

s = Service.new
s.create_service{ |srv|
srv.service_name = "foo"
srv.binary_path_name = "D:\\Ruby\\bin\\ruby "+File.expand_path($0)
srv.display_name = "Test_service"
}
s.close

Service.start("foo")

I will get a 1053 ERROR. How can I rescue the error?

I suggest you google for "1053 ERROR win32-service ruby".

You may start the service from the command line (net start foo) to see
if you get an additional debug info.

Then, try running your service in standalone mode (i.e. just run
"D:\\Ruby\\bin\\ruby "+File.expand_path($0))

The error you get might be dependant on OS version (XP/2K3/vista) and
the user it runs under (default is SYSTEM).

There are several constraints what you can and cannot do when running
as service. Most notably, you won't have access to
stdin/stdout/stderr,
and to any substed/mapped/network disks. The PATH might be different as well.
 
J

Jano Svitok

Hi
I have installed the gem of win32-service-0.6.0-x86-mswin32-60.gem.But
when I run my test code such as:

require 'rubygems'
require 'win32/service'
include Win32

s = Service.new
s.create_service{ |srv|
srv.service_name = "foo"
srv.binary_path_name = "D:\\Ruby\\bin\\ruby "+File.expand_path($0)
srv.display_name = "Test_service"
}
s.close

Service.start("foo")

I will get a 1053 ERROR. How can I rescue the error?

After reading your other thread I see your problem now:

Just make TWO scripts: one for registering the service and the other
for the service itself.
You don't need to register the service again when it's just being started.

Or, you can merge them in one file, but distinguish among them using
command line options.
I mean, if you run my_service --register or my_service --unregister,
then it will to the register/unregister stuff.
Without option, it will run the Daemon stuff.

Note that in order to start the notepad, you might need to allow the
service interact with desktop. (Though
I don't remember if this is valid for xp or for vista only. Have a
look in the service's properties.)
 
J

Jano Svitok

Or, you can merge them in one file, but distinguish among them using
command line options.
I mean, if you run my_service --register or my_service --unregister,
then it will to the register/unregister stuff.
Without option, it will run the Daemon stuff.

see mongrel_service how they do it.
 
D

Daniel Berger

Hi
I have installed the gem of win32-service-0.6.0-x86-mswin32-60.gem.But
when I run my test code such as:

require 'rubygems'
require 'win32/service'
include Win32

s = Service.new
s.create_service{ |srv|
srv.service_name = "foo"
srv.binary_path_name = "D:\\Ruby\\bin\\ruby "+File.expand_path($0)
srv.display_name = "Test_service"}

s.close

Service.start("foo")

One thing you'll want to be aware of is that there was an interface
change in 0.6.0. Here's an example that uses most of the available
options:

# Create a new service
Service.create('some_service', nil,
:service_type => Service::WIN32_OWN_PROCESS,
:description => 'A custom service I wrote just for fun'
:start_type => Service::AUTO_START,
:error_control => Service::ERROR_NORMAL,
:binary_path_name => 'C:\path\to\some_service.exe',
:load_order_group => 'Network',
:dependencies => ['W32Time','Schedule']
:service_start_name => 'SomeDomain\\User',
:password => 'XXXXXXX',
:display_name => 'This is some service',
)

Regards,

Dan
 
K

Kai Geng

Daniel said:
One thing you'll want to be aware of is that there was an interface
change in 0.6.0. Here's an example that uses most of the available
options:
......
Regards,

Dan

Thanks for your help and your win32-service gem :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top