migrating from VS2002 to VS2003 (MS VC++)

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
I have a large system that I developed on MS VS2002 on a Windows XP pc. The target pc is running windows 2002. Both pcs have .NET Framework 1.1 (most current releases).

Recently I switched from VS2002 to VS2003, and now some of my code doesn't work. The code was written in VC++, and includes a Crystal Reports viewer in a dialog window. All of my program works except for the Crystal Reports viewer.

All of my code is compiled into an MSI setup file, and I am sure that my MSI file is missing system components that the Crystal Reports viewer requires. Back when I was using VS2002, the MSI file was about 11MB, but now it is only about 3MB. Also, there is a folder that the old version of the MSI populated with system dlls: C:\Program Files\Common Files\Crystal Decisions\1.1\Managed. The new version of the MSI doesn't create this folder or copy anything into it.

What am I doing wrong???

EDIT: The following is the post I placed on Microsoft Technical Forums:

This is a question only .NET beginner could ask, and I'm sure the answer will be simple.

The background info:
I have an VC++ (MFC) application that I wrote in VS2002. One of the several DLLs that comprises this application is a managed code Crystal Reports viewer. I have created a setup project to make an MSI from all the project outputs from this and the other projects.

The problem:
When I compile this application using VS2002, everything works as expected, and my MSI file has a file size of roughly 11MB. When I compile this application using VS2003, the Crystal Reports viewer quits working, giving me a "Common Language Runtime" error when I attempt to open it, and the MSI file has a file size of roughly 3MB. Also, the Crystal Reports viewer works fine when the application is installed on my development pc, but doesn't work on any other pc I've tried, even if the other pc has the newest .NET Framework installed. My obvious conclusion is that some vital .NET component is being compiled into the VS2002 MSI file, but is not being compiled into the VS2003 MSI file.

I have made sure that the Crystal Reports viewer project has all the correct .NET references specified. I don't know what else to try.

Any suggestions???
 

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
I may have an answer already - there were several .NET dlls that I had not listed as references in the Crystal Reports viewer project, like system.dll, etc.
 

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
Another way to state the problem:

I have a C++ .NET program I wrote using VS2002; the program worked fine when compiled by VS2002.

I now have switched to VS2003. The program no longer works. Specifically, the portion of the program that uses the .NET libraries no longer works.
 

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
I was hoping I would come back from the weekend and someone might have a suggestion. Can anyone help???
 

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
Now included in the original post is the post I placed on Microsoft Technical Forums.
 

NuclearNed

Raconteur
May 18, 2001
7,873
364
126
UPDATE
It seems that I have this thread all to myself.

Since the application works on my development pc, and none of the client pcs, I decided that the logical thing to do was to find the differences between them. The biggest difference that is obvious is that VS .NET 2003 is installed on my pc. I began to install it on a client pc, and got to the point where the intallation program asked me which VS components I wanted to install. I unselected everything except "Crystal Reports Runtime" and "Redistributable Merge Modules". These were the only two parts of VS that I installed, but it caused my application to begin working as expected. This confirms my theory that some vital file is not being compiled into my MSI file, then later installed on the client machines.

Shouldn't my setup project automatically pick up any "detected dependencies" from my other code? I regularly select "refresh detected dependencies", but it seems like the list of files never changes.