One of the simplest ways to make a Win32 service from a command line program is to use instsrv and srvany from the Windows Server 2003 Resource Kit Tools.
The documentation on this is not very clear, so here is the big picture:
srvany is the actual "service" - it runs the code specified in the registry.
instsrv is used to configure registry entries to be used by srvany. This can be done manually as well, so Instsrv is not necessarily "required", but it does help. This is run ONE TIME, to create the service.
Note - this process merely converts a command line program into a service. If you want YOUR CODE to respond to service start and other control commands, you will need to use something like Win32::Daemon::Simple.
Update 1: If all you are doing is a "backup", the Windows task scheduler may be a more appropriate solution.
Update 2: Fixed Typo (missing colon in module name) - Thanks Jenda.
"An undefined problem has an infinite number of solutions." - Robert A. Humphrey
"If you're not part of the solution, you're part of the precipitate." - Henry J. Tillman
|