Solved

Software Deployment problem  - CLR20r3   System.InvalidOperationException

Posted on 2011-02-21
14
3,345 Views
Last Modified: 2013-12-24
•      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
0
Comment
Question by:Polyview
14 Comments
 
LVL 16

Expert Comment

by:Kalpesh Chhatrala
ID: 34948602
Use ClickOnce Deployment for Testing and compare DLL Reference with Installshield

http://msdn.microsoft.com/en-us/library/ms953320.aspx
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34948622
Almost certainly, incompatibility of the .Net Framework. Check the version of .Net on your development machine vs. target one.
0
 

Author Comment

by:Polyview
ID: 34948709
Thank you very much for these comments.  I have to go out, but I will test both replies in two days and advise.
0
 

Author Comment

by:Polyview
ID: 34965542
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.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34965974
> 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.
0
 

Author Comment

by:Polyview
ID: 34966162
!.  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.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 34972873
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.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:Polyview
ID: 35118333
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.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 35118483
> 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.
0
 
LVL 40

Expert Comment

by:Vadim Rapp
ID: 35118505
Also, article "Deploying Visual C++ Runtime Files as Private Assemblies" gives useful information
0
 

Accepted Solution

by:
Polyview earned 0 total points
ID: 35136349
My new computer has arrived, and the test installation failed on this machine also.  After a couple more changes, all of which failed, I tried the "Click Once" deployment in Visual Studio.  (I Had only tried it before to get the dll references) (I wish I had tried it long ago, but as a relative newbie, I did not understand).  The setup.exe generated from this worked fine on my new machine!!!  I am sending the files (again!) to my long suffering client.  If sucessful, I will just distribute the program as a Click once deployment on a CD. Then I will close this thread, and try to distribute points.  Thank you all for your help.  I may also look more into VirtualBox for future reference.
0
 
LVL 4

Expert Comment

by:vak73
ID: 35792599
0
 

Author Comment

by:Polyview
ID: 35798079
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.
0
 

Author Closing Comment

by:Polyview
ID: 35865674
The original problem with the InstallShield installation has not been resolved
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This is an article about my experiences with remote access to my clients (so that I may serve them) and eventually to my home office system via Radmin Remote Control. I have been using remote access for over 10 years and have been improving my metho…
Let’s list some of the technologies that enable smooth teleworking. 
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now