I've written a C# Windows Service that won't auto start. Nothing in the Event Log as to why it doesn't fire up. The code relies on libraries in a .NET 2.0 assembly component .dll. This dll is in the same directory as the service .exe. If I remove references to this component, it will auto start (but of course I lose my functionality).

What's the best place to keep my .exe and .dll?
How can I best troubleshoot to find exactly why it won't auto start?
Any idea's on how to get it to auto start?