Link to home
Start Free TrialLog in
Avatar of Polyview
PolyviewFlag for Australia

asked on

Software Deployment problem - CLR20r3 System.InvalidOperationException

•      The deployment package was designed using InstallShield Professional 2011
o      My current test deployments are being distributed on CD
•      The software program was designed using Visual Basic in Visual Studio 2010 and .net 4.0
•      The problem is:
o       The program deploys OK on the development machine (64 bit Windows 7)
o      The program deploys OK on the three non-development 32 bit Windows XP machines
o      The program fails to work on two 64 bit windows 7 computers, one of which was brand new “Straight out of the package”.   InstallShield says “Program successfully installed”, however as soon as the program is run, a message comes up  “Program has stopped working”.  The associated  Error message is: CLR20r3 System.InvalidOperationException
o      I have some difficulty testing various possible solutions found on the web, because I have not got a clean 64 bit (or 32 bit) windows 7 computer readily available for testing (Maybe I have to purchase one?)
 I have no idea as to the root cause of this error message or how to find out what it is:  i.e.  
•      Missing files?  
•      Incorrect revision Nos of Dlls?
•      Database connection strings?
  Any advice on how to go about solving this problem would be greatly appreciated.
I have been working on this for weeks, trying all sorts of various program changes to no avail.
Why should it work on old 32 bit XP machines and not on newer 64 bit Windows 7 machines, even when the new machines are set to run in XP emulation?

 I have included some background information in the attached PDF file in the hope it may assist.
Thank you



ExamPlannerV2-Installation-Probl.pdf
Avatar of Kalpesh Chhatrala
Kalpesh Chhatrala
Flag of India image

Use ClickOnce Deployment for Testing and compare DLL Reference with Installshield

http://msdn.microsoft.com/en-us/library/ms953320.aspx
Almost certainly, incompatibility of the .Net Framework. Check the version of .Net on your development machine vs. target one.
Avatar of Polyview

ASKER

Thank you very much for these comments.  I have to go out, but I will test both replies in two days and advise.
Re: incompatibility of the net framework.  I have checked with the client.  The version number was obtained by checking in control panel add/remove programs without actually uninstalling.  In both my computer and the client's computer the version was identical I.e. Microsoft .NET Framework 4 client profile 38.8 MB,  Version 4.0.30319, so this does not seem to be the problem.

Re: using the Click once deployment to test for Dll deployment, there was three files that were listed and were not on my InstallShield requirements:
1.  Windows Installer 3.1
2.  ATODExamPlanner.exe.config
3.  ATOD ExamPlanner.exe.manifest

Are all three of these these files required?
In any event, I cannot find the file ATODExamPlanner.exe.manifest in the bin files in Visual Studio. The only similar file is ATODExamPlanner.vshost.exe.manifest.
> In both my computer and the client's computer the version was identical I.e. Microsoft .NET Framework 4 client profile 38.8 MB,  Version 4.0.30319, so this does not seem to be the problem.

This may be not enough. Framework is making heavy use of side-by-side assemblies, when different versions coexist on the same computer and are used by different applications. I would suggest that you create setup with including the framework prerequisite - that guarantees that it will put in exactly the version your executable is looking for.

The requirement for Installer 3.1 is somewhat odd, since this is already relatively old version. Most likely both you and client already have 4.5, or even 5.

Regarding two other files - only you know what you application consists of. ATODExamPlanner.exe - is it your executable?

Finally, see this thread
http://runtingsproper.blogspot.com/2010/02/solved-error-1053-eventtype-clr20r3.html

maybe you can do the same, i.e. enclose something in proper try/catch block.

Another: http://channel9.msdn.com/Forums/TechOff/258689-NET-20-Win-App-Eror-EventType-clr20r3

see if you can implement unhandled exception block to get more details.
!.  The set up program does include the Microsoft .NET Framework 4 client profile as a prerequisite.

2.  yes, ATODExamPlanner.exe - is my executable, but I have never included the config file or the manifest file as a part of my distributed files.  I do not know what these files do, and also their absence did not affect the installation on the XP computers.
3.  Trying the unhandled exception will take a fair bit of time.  I will study the threads and see what I can do.

Thank you for your attention to my problem.
re. manifest files - yes, this is new; was already possible in XP, but has increasing importance in Vista and 7, due to their increasing efforts to "protect" the user. Basically, it tells Windows to what degree to worry about running this executable. Examples:
http://msdn.microsoft.com/en-us/library/dd371711%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa374191%28v=vs.85%29.aspx

.config file mostly for storing the settings, instead of doing it in the Registry. http://www.codeproject.com/KB/dotnet/config.aspx.
I am very hopefull that the comment "Almost certainly, incompatibility of the .Net Framework. Check the version of .Net on your development machine vs. target one"  is correct.
My Installation deployment program did install the correct version on the target machine as a "Prerequisite" however further enquiries reveals that InstallShiled has a separate area under Tools-Options--.Net tab which apparantly sets the .net version that is to be used.
I have adjusted this and I have sent another disk to the Client and I should have an answer within a few days.
Testing is a big problem, so I have bought a new 64 bit Windows 7 computer which is due for delivery tomorrow, and I should also be able to test the installation on this machine.
> so I have bought a new 64 bit Windows 7 computer which is due for delivery tomorrow, and I should also be able to test the installation on this machine.

The best is to create a clean virtual machine(s), for example with VirtualBox, with various o/s, and try on them. Once the clean machine is ready, make a snapshot, then you can reset to that snapshot with a click of the mouse. With several v.m.'s, you can test your installation on pretty much all platforms.
ASKER CERTIFIED SOLUTION
Avatar of Polyview
Polyview
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of vak73
vak73

Thanks, I did not know about this free software.   However I am currently using the Click once deployment in Visual studio.  This seems to have worked so far.  My current version of InstallShield is not being used.
The original problem with the InstallShield installation has not been resolved