0
Have you attached the Visual Studio debugger to the service to follow exactly what is going on?
Typically anything that falls into "Works as an application, fails or behaves unexpectedly as a service" boils down to security permissions. After you set up the service, try configuring it to run using your own login credentials (as a test) and see what it does. Essentially that should make your service behave the same as an Exe. The other key difference is the executing path, as a service it doesn't execute from the location you install the assemblies, if memory serves me it runs in Windows/System32. (XP) I believe it finds .config files ok, but if you use GetExecutingAssembly or relative paths you may be hitting snags.