I've done one before. What happens when you try it? Here's a list of points to keep in mind:

Watch the "interactive" setting. If this is set to true, your thing can pop up dialogues and generally show stuff to the user. However, this may cause hassle if nobody is logged into Windows (not sure, mind you, cause I always set it to false). Prefer log files (saved as plain text possibly) to keep the status up to date.

Remember to install the thing first! This is obvious, and quite possibly patronising (if so, sorry), but you have to pass in the command line parameter /install to get it installed and visible in the services list. Similarly, /uninstall to get rid of it later.

I tend to put something like this in the execute method for the app:

[pascal] while not Terminated do
ServiceThread.ProcessRequests(True);[/pascal]

I use a timer for the actual work to be done.