There is an overwhelming answer that you can’t start GUI Applications as Services in Windows 2003 and above but in fact you can. There is a small program that allows this (1MB). Unzip it. It has 32bit and 63 bit version both. This is how to use it
nssm.exe install MyServiceName
In my case I have started a GUI Application (developed in C#), that records attendance. What is really happening start the App as Service is the GUI part is not showing/working but the back end application does work. It read data from serial port and can record attendance.
Just something you might find useful!