views:

223

answers:

3

I'm in a bit of trouble here. I upgraded one of our Winforms products from VS2008 to VS2010 about 4 weeks ago. The conversion was fine but we used Crystal Reports so had to install the VS2010 Crsytal Reports for Visual Studio 2010 Beta 2. This was fine and gave me the designer etc. back for crystal. I chose not to convert the reports when the solution opens so they are still setup for the original version of crystal.

We then continued with 4 weeks worth of development and now I come to do my first ClickOnce deploy under Vsiaul Studio 2010 and I'm having serious issues. ClickOnce Application files are set to having CrystalReports related modules as Prerequisites. I still want the end user to use the Crystal Reports for VS2008 rather than the runtime for 2010 which is ridiculously big and a beta.

When I publish the manifest is saying that the dependency for crystal is on version 14.0.2000.0 (VS2010 version of crystal report) but all the DLL references in the projects are set to use specific version and to point to 10.5.3700.0 (VS2008 version of crystal report). This means when trying to install from ClickOnce it fails saying:

"Unable to install or run the application The application requires that assembly CrystalDecisions.CrystalReports.Engine Version 14.0.2000.0 be installed in the Global Assembly Cache (GAC) first)"

I can't work out why the manifest is intent on using that version number given all the references are pointing to another version. If I bundle the VS2010 crystal runtimes that are beta into the ClickOnce deploy then the client gets the opposite error message saying that 10.5.3700.0 is required. If I install 10.5.3700.0 on the client they get a working system but I have to install the 10.5.3700.0 version manually and before that they've first had to endure an epic install of the 2010 runtime (14.0.2000.0) which doesn't even get used.

Essentially I am trying to get the manifest to say 10.5.3700.0 or figure out why VS2010 is intent on putting a newer version number in there.

Please help. Thanks

A: 

does this

help?

Beth
Thanks for the link but unfortunately I already tried that and it didn't work. I get the feeling ClickOnce manifest ignores those settings and the problem stems from how the manifest is set.
Alan Macdonald
A: 

Do you have the new CR stuff installed on your computer where you are building the application? If so, it's probably referencing the assemblies in the GAC.

You can try copying the assemblies you need into the project and setting the reference to point at the local copies, then on the reference set "copy local" to true. This will make sure it is referencing the local copies and not the ones in the GAC.

If that doesn't work, I would try copying the prerequisite for the previous version of Crystal Reports from the VS2008 folder to the VS2010 folder. You will find the packages here:

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages (64-bit machine)
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

Then close and reopen Visual Studio, and the old prerequisite should show up in VS and allow you to select it.

RobinDotNet
Hey I tried to put the VS2008 crystal files into the folder for VS2010 and it found them which meant I could set Crystal Reports 2008 as the prerequisite but that doesn't stop it picking the wrong version number of Crystal in the ClickOnce manifest. Unfortunately I couldn't get anywhere with this.
Alan Macdonald
Delete your references to CR and re-create them, being sure to pick the ones from the prior version. If you can, I would uninstall the ones from VS2010 and install the one from VS2008 on your machine, to help make sure it picks up the right version.
RobinDotNet
A: 

Thanks for the help but I've decided since Crystal is Beta and the runtimes are ridiculously big and I am losing large amounts of time on the ClickOnce deploys I converted the solution back to VS2008. This was relatively seamless to go back.

I'm not overly happy about going back but the realities of using Crystal in 2010 are to be brutally honest pretty bad at the moment. I'll monitor the progress from SAP as I know they are aiming to reduce the runtimes sizes this quarter and move from Beta.

Thanks again.

Alan Macdonald