I have an application control that I just upgraded to .NET 2005 (from 2003). The application uses the Crystal Report Viewer control and references the following dlls...:
* crystaldecisions.crystalreports.engine.dll (version 10.2.3600.0)
* crystaldecisions.windows.forms.dll (version 10.2.3600.0)
...to access reports created in Crystal Reports 11.
I am using InstallShield 11.5 for distribution (but I've also tried with the msi deployment project tool provided with VS.NET). To make sure all the referenced dlls get loaded properly, I'm installing with the Crystal_Managed2003.msm merge module. However, I noticed that the merge module uses versions 9.1.9800.0 for both the aforementioned dlls - a lower version that what .NET 2005 uses.
When building my install, InstallShield warns me that it cannot find the above dlls for my application. And sure enough, after running the install on my test machine, I get an exception concerning one of the dlls when I run my application:
System.IO.FileNotFoundException: Could not load file or assembly 'CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
(note the version it is looking for)
Everything works fine on my development machine (of course).
Is there another merge module or something else out there that I can use so that the correct version of the dlls (and their dependencies) are successfully installed on the target machine?
This used to work when I was using .NET 2003. I'm guessing it used to work in VS .NET 2003 because the provided dlls used version 9.1.5000.0 - which is lower than the merge module.