Checking the folder contents is the quick and low-accuracy way. You can use ILSpy and the like to trace deps but most likely if the folders are correct it's not going to be a dependency issue.
The second most likely case is illegal IO by ignoring UAC and the MS guidelines in your development, which doesn't fly once you deploy.
You really should have an Unhandled exception handler set up in every single program that isn't a console program, at the very least for the purpose of writing a log file out to
AppData/Roaming/Your_Program so you can get a stacktrace and full exception tree.
Dumping that information eliminates all of this guesswork.
Edit: FYI, setting up deployment and installers always sucks.