> > I note that WinVNC (http://www.uk.research.att.com/vnc/) has a tool
> > which allows you to install it as a service in Windows 2000 and Windows
> > NT, the same thing would seem to make clear sense for the Windows
> > Freenet release.  The source code for doing this may be available on the
> > WinVNC website - can we do this?
> >
> Any executable can be run as a service on NT (and presumably 2000) via a
> wrapper included in the NT resource kit (SRVANY.EXE). IIRC Tomcat
application
> server can be run this way so Freenet should work also.

Not strictly true...  SRVANY has its limitations and there are certain
things that the executable that it runs cannot do otherwise it won't work.
Here are some problems with making Freenet run as a service on Windows:

o   The freenet systray application assumes the node runs like any normal
executable file.   In fact the freenet systray application stops and
restarts the node at will
o   The freenet systray application actually spawns the node in GUI mode but
hides the GUI window the node creates.  It does this so that it can send a
WM_SYSCOMMAND[SC_CLOSE] to the node window to shut the node down   (can you
think of a better way to shut down the node?)
o   The freenet systray application (and the node as a result of previous
point) both need to create windows, sometimes hidden ones, and interact with
the desktop and the user.  These are generally bad things for services to
do.  (What do I know, hell, I only write services daily).  Who knows what
might happen (not me, cos I haven't tried running freenet as a service yet)

It could be that SRVANY works fine for freenet.exe  ,  I don't have it at
home so I can't try it out.
What I would therefore prefer to do is write a server wrapper for the java
node, and modify freenet.exe to communicate with this wrapper rather than
the node itself.  Obviously this won't work on Windows 9x (well, probably
not), so freenet.exe would need fall back to its original behaviour in such
a case.
That way, we have a non-GUI application  (the freenet node, implemented as
an .exe (with service entry points) which is itself just a wrapper for the
java node) and a GUI 'control panel'  (what freenet.exe currently is,
effectively)

Thoughts?  (sounds good to me).
BTW - obviously, if SRVANY does work, then go with that for now, but it
really is a highly undesirable solution.  And writing our own services
really ain't that hard.

Dave


_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://lists.freenetproject.org/mailman/listinfo/devl

Reply via email to