Archived

This forum has been archived. Please start a new discussion on GitHub.

iceboxnet as windows service

Dear Ice Support Team,

I am considering running my application within a managed environment, i.e. IceBox. The application is written in C# so iceboxnet is the proper service I suppose. Unfortunately I am unable to install it as a Windows service, which is necessary. I would prefer not using IceBox inside IceGrid node in this case.
I have studied the forum and the manual (Windows Services|Manual Installation) but found no answer/help.

I use the demo provided with Ice distribution.

After "sc create icebox1 binPath= "c:\....iceboxnet.exe --Ice.config=c:\....config.service" I got the success but running the service gives (after less than one second):

[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.

sc qc icebox1 gives:
SERVICE_NAME: icebox1
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : c:\....iceboxnet.exe --Ice.Config=c:\....config.icebox
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : icebox1
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem


Comparing to the documentation the service is run as LocalSystem, not LocalService but this seems not be the problem.
When I disable starting the service in configuration file (IceBox.Service.Hello), error is the same but received after 30 seconds.

The is no debug/diagnostic information available so I do not know how to run the application...

Thanks in advance, regards,
Łukasz

Comments

  • benoit
    benoit Rennes, France
    Hi,

    The IceBox .NET implementation doesn't support being run as a Windows service. With .NET, we recommend implementing your services using the System.ServiceProcess API instead if you want to run them as Windows services.

    Cheers,
    Benoit.
  • Hi Benoit,

    Good to know! Thanks.
    benoit wrote: »
    With .NET, we recommend implementing your services using the System.ServiceProcess API instead if you want to run them as Windows services.
    I know that I can transform my Ice application into windows service but IceBox gives me much more - remote monitoring and management of services via IceBox.ServiceObserver and IceBox.ServiceManager interfaces.

    Any other option to reach my goal?

    Regards,
    Łukasz
  • benoit
    benoit Rennes, France
    Hi,

    Sorry, I can't think of any other simple solutions (other than using IceGrid).

    Cheers,
    Benoit.
  • Hi,

    I understand that icebox based monitoring is nice but on the other hand there is are nice built-in functions in Windows for remotely managing Windows services. A bit more coarse grained but - in least in my case - they should work just as fine as IceBox.ServiceManager.

    btw, just a little side note: What I found to be useful for .net based services is this:
    Run Windows Service as a console program

    this allows easy trying and testing of your services.

    Stephan