I have a custom component built in Visual Studio 2010 that is running on Desktop Basic 10.1. It is programmed in VB.net targeting 3.5 framework. The .msi installer works fine. The first part of the program runs OK on all machines (entry screens and data verification). The code then does a long series of intersects, appends, file creation, calculations and writes to the newly created tables in personal geodatabases. These steps work fine on all machines.
The problem:
The code now calls a console application that tries to use the created data files in an iterative simulation. It runs fine on my PC. On all of the client's machines, it throws a bewildering array of errors I never seen during debugging. They are different on different machines occurring at slightly different points in the code execution. They all seem to have something to do with memory errors. I get subscript out of range, no instance of object, null parameters passed, invalid data type used as parameter, etc etc etc. These would all be blatant coding errors I would have seen in the debugging process.
I installed Visual Studio on a client machine and stepped through the debugger - It worked fine!
How can this be? What is the use of a debugger that doesn't emulate the end code execution? Why does the release version not crash on my PC? The operating systems are the same, the software is the same, the data is the same, the license is being recognized properly.
If I am targeting .NET 3.5 in the compiler options, should I specifically list all of the 3.5 assemblies in the references on the advanced compiler tab? Is it possible that some PCs may have different versions of that underlying code?
Can anyone point me in some direction please? What should I be looking for to fix this?
Appreciate any help - Tim