Reputation: 75
I've copied over the content of the Debug folder on a Windows 7 VM and a Windows Vista laptop. Both had Dot Net 4.5 installed. All assemblies are set to copy local and AFAIK I don't reference anything not in the application folder. When I run the app on the two different developer computers (one Win8, one Win7) it runs fine as it does when running it in Visual Studio (F5).
Not so on the deployment computers. The problem is that I get no error message. Absolutely nothing happens after I double click the executable on the non-development machines.
I tried starting it in WinDbg.exe and got this output: http://pastebin.com/43PbwyGx
So how to I go about debugging this to find out what's missing?
Upvotes: 4
Views: 2210
Reputation: 31
I resolved my problem by checking the Windows Event Log, as Brandon Dybala pointed out above. The initial form display resulted in an error that was not caught in a try...catch block, so the application just quit without any UI output (and wrote the error to the event log). I fixed the listed error, re-published and all is well. Good reason to always use a try...catch block!
Upvotes: 0
Reputation: 324
Are the dev machines 64-bit but the other machines 32-bit? If this is the case and you're building as AnyCPU, then all your references also need to be AnyCPU (or match the platform your program is running under). If you build as x64, then I think all your references need to be x64 as well, and the same goes for x86.
Usually the exception you'll see in this case is a BadImageFormatException (it's also typically logged to the Windows Application Event Log with a source of Side By Side Configuration).
Also, just an FYI, sometimes you might be able to find the exception in the Windows Event Log. I think it's the Application Log, and I think the Source is usually .NET Runtime, or Application Error. The details may include both the actual exception as well as a stack trace.
I'm not sure what conditions need to be true for these errors to be logged, but it's something to consider.
Upvotes: 0
Reputation: 54532
looking at your WindDbg dump you have an 2nd Chance Execption of CLR exception - code e0434352 (!!! second chance !!!)
.
I would look at this article by Igor Dvorkin, Why do I keep getting exception code e0434352.
Where he discusses it being a generic exception and how to fire up the cdb to find what the underlying exception was.
He also links to another of his blog posts, Finding CLR exceptions without visual studio where he describes using cdb.
Upvotes: 2