I wrote an app that can install and work on my development PC (a Window 7).
I had a .Net 2.0 app that worked with debugging on But not in a release build(after install).
I wasn't getting any logging from my Application directly, my Errors came straight from .NET. The issue was I had created my Own Program class with a static void MAIN() inside the main I had a try...catch..finally block. For some reason .NET was choking on the finally. Do you have anything like that in your program?