cancel
Showing results for 
Search instead for 
Did you mean: 

Deployment of CR for Visual Studio 64 bit

Former Member
0 Kudos

Hello,

I have written an application that uses CR for Visual Studio. It deploys and runs fine on 32 bit systems. I want it to work on 64 bit systems, too, so I ran CRRuntime_64bit_13_0_7.msi to install the redistributable, When I select my prerequisites in VS 2012, should I see an entry for CR 64 bit? I don't.

In VS, I set the target CPU to x64 and publish (Clickonce). When I try to install it on my Win 7 64 bit system, I get an error (see image).

How can I deploy the 64 bit CR runtime with my application?

Thanks,

Dotty

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Dotty,

Download page for Click once has a kbase noted in the download link. See this kbase for more info, update the xml file manually then it should work for you:

1957502 - ClickOnce Deployment package requires manual update of product.xml for Crystal Reports for Visual Studio Service Pack 8 ONLY

Symptom

An issue has been found in Service Pack 8 where the product.xml file still references SP 7 resources.

For Developers on their Development PC's when creating a ClickOnce Deployment Package this causes issues.

 

Environment

Crystal Reports for Visual Studio

 

Resolution

As a work around delete the product.xml file from the following folders and unzip and copy the updated attached Product.xml file to the following folders:

32 bit OS's:

VS2010

\program files\microsoft sdks\windows\v7.0A\bootstrapper\packages\crystal reports for .NET framework 4.0\

VS2012

\program files\microsoft sdks\windows\v8.0A\bootstrapper\packages\crystal reports for .NET framework 4.0\

64 bit OS's:

VS2010

\program files (x86)\microsoft sdks\windows\v7.0A\bootstrapper\packages\crystal reports for .NET framework 4.0\

VS2012

\program files (x86)\microsoft sdks\windows\v8.0A\bootstrapper\packages\crystal reports for .NET framework 4.0\

Don

Former Member
0 Kudos

Hi, Don,

Thanks for the info. The KB article says to unzip and use the attached updated product.xml file. Where do I find the attached ZIP file?

Thanks,

Dotty

former_member183750
Active Contributor
0 Kudos

Enter the KBA number ( 1957502 ) in the search box in the top right corner of this web page. The KBA will display for you. Scroll to the bottom of the KBA.

- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow us on Twitter

Former Member
0 Kudos

Hi,

I had 13.0.7 installed, so I installed Support Pack 8, went to KB article 1957502 downloaded the attached file (thank you, Ludek), copied it to the appropriate folder, went into VS and set the target CPU to x64, and got the same error when I installed my application on my Win 7 64 bit machine.


Am I missing something?



Dotty

Former Member
0 Kudos

Hello,

I had 13.0.7 installed and I installed 13.0.8. Today, I uninstalled ALL of the SAP stuff, and installed 13.0.8 from CRforVS_13_0_8.exe. I went into VS to make a test application (with x86 as the target CPU). After putting the CR Viewer on the form and choosing create a new report, a get an error. I have attached a picture showing the error and the references.

What's going on????

Dotty

0 Kudos

Hi Doty,

Make sure the project properties are set to use the Full Framework, by default VS set's it to use the Client version.

What happens if you set it for 32 bit? Does that work?

Try running VS in Admin mode, right click on the Icon and Select Run As Administrator.

FYI, VS is a 32 bit app in the IDE, to truely test 64 bits run the executable through Explorer. then you'll not get a mix of 32 and 64 bit components being loaded.

I also like to add the location of the runtime to my Project properties - Reference Paths:

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet\

And

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64

Some times it helps...

And it looks like you may be using ADO. NET datasets, make sure this is in your app.config file:

startup useLegacyV2RuntimeActivationPolicy="true">

supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

startup>

Don

Former Member
0 Kudos

Hi, Don,

I verified that the Framework is .NET 4.0 Full.

I ran VS in Admin mode, didn't make a difference

I am doing this with x86 as the Target CPU

All of the references are pointing to the location that you gave for 32 bit. There are no 64 bit references

I put your startup block in the app.config file, made no difference.

With 13.0.7, when VS would present you with the screen to select the project type, Crystal Reports Application (or something like that) would be under "Reporting". It's not there now.

When I installed 13.0.8, I got the following error.

I did not mention it because I got a similar error, if not the same one, when I installed 13.0.7 and it worked (except for the problem of deploying on a 64 bit system).

Thanks,

Dotty

0 Kudos

Hi Dotty,

OK to clarify, if your app is a 32 bit app then don't deploy the 64 bit runtime. A lot of people think the Cr runtime is platform specific, it's not, it's app specific. Deploy the 32 bit runtime.

So to integrate CR for VS into Visual Studio on your DEV PC run this file:

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_8.exe

On the runtime PC you deploy one of the other pacakages, and if your app is set for x86 then use the 32 bit redist package.

I've never seen that error before so not sure what would cause it, strange message.... but after Googling it it appears you may have some left over files from a previous install that failed.

Uninstall all CR products and then Close all of you applications and try deleting everything in your \temp folder:

C:\Users\%user%\AppData\Local\Temp

The try again, if you still get the message then it suggests your permissions do not allow registering COM dll's.

Odd part is that file is for Business Objects Enterprise, if it belongs to us.

Do you have the BI 4.x Client tools installed on that PC also? Or possibly CR 2011 or 2013?

Don

former_member183750
Active Contributor
0 Kudos
Former Member
0 Kudos

Hello,

Thank you for the information on error 2573. I.got CR to install without the error, but it still will not let me create a new report.

I installed CR on a machine that never had CR on it, and it worked great! Crystal Report project type showed up in the Reporting section of VS 2012 when you select New Project. I created a Windows Form project, dropped the CR Report Viewer on the form, chose Create New Report, and it worked!

Error 2573 occurs when there CR is installed and you either install the same version or a new version. When I installed it on the machine that had never had it installed, I did not use the tools mentioned in the articles, and did not any errors.

On my development machine, which is running Windows 8, I uninstalled CR, started VS, and CR Report Viewer still showed up in the toolbox. I ran CRforVS_13_0_7.exe, without the tools mentioned in the articles, and sure enough, I got error 2573.

In the article it said to delete the following folders:

C:\Documents and Settings\All Users\Application Data\Macrovision\FLEXnet Connect and

C:\Documents and Settings\All Users\Application Data\FLEXnet

I cannot find them on my development machine.

I think the problem is CR is not getting fully uninstalled. How can I get CR working again?

Thanks

former_member183750
Active Contributor
0 Kudos

Rather unusual that CR will not unistall, but see if this will help to clean things up:

To be safe for now, rename this directory structure;

C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86

as:

C:\Program Files (x86)\SAP BusinessObjectsXXXXX\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86

The rename the following registries:


***WARNING***: The following resolution involves editing the registry. Using the Registry Editor incorrectly can cause serious problems. Use the Registry Editor at your own risk. Refer to KB 1323322 for more information.

HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0

to:

HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjectsXXXX\Crystal Reports for .NET

Framework 4.0

and:

HKEY_CURRENT_USER\Software\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports

to:

HKEY_CURRENT_USER\Software\SAP BusinessObjectsXXXX\Crystal Reports for .NET Framework 4.0\Crystal Reports

Next do a repair on VS 2012. Check that your project is NOT working - at least as far as CR part is concerned.

Reinstall CRVS SP 8 from here:

(Make sure you are using the install executable, not the runtime MSI)

- Ludek

0 Kudos

Hi Dotty,

Do a repair install of VS after you uninstlal CR but before you install SP 8.

You can try doing this to remove the CR assemblies:

http://msdn.microsoft.com/en-us/library/aa559881.aspx

To see them all use this MS fix to expose the Assembly folders:

1..Go to Registry editor ( start->Run -> type in
"Regedit")

 

2..Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion (on
the left pane of the Registry editor expand to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion)

 

3..Create a New REG_DWORD named "DisableCacheViewer"
and set the value to "1" (rightclick on the empty right pane, select
new -> DWORD value)

 

To revert simply set the value of

 

"DisableCacheViewer' to "0" (zero).

Thanks

Don

Former Member
0 Kudos

Hi, Don and Ludek,

I got CR uninstalled and CRVS SP 8 installed with no errors!!!!!!!!!! Thank you for all of your help!

Now back to the original issue: CRforVS_clickonce_13_0_8.zip is the right file to allow me to distribute 32 and 64 bit versions of my program, right? After I install it and copy the updated product.xml file, how do I tell VS which redistributable -32 bit or 64 bit to use when I publish?

Thanks again,

Dotty

former_member183750
Active Contributor
0 Kudos

Hello Dotty

The XML contains the info. E.g. the default XML would have the following:

  HomeSite="http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_8.msi"

And thus a 32 bit runtime would be installed.

See this KBA for more info.

Just for completeness, I'm also adding the following which may help:

Deploying Crystal Reports for Visual Studio 2010 Runtime

ClickOnce Deployment for Visual Studio

SAP Crystal Reports .NET SDK Developer Guide



- Ludek

Former Member
0 Kudos

Hi, Ludek,


That's what I thought, but according to the logic in the comments in the XML file, it will install CRRuntime_64bit_13_0_8.msi and not CRRuntime_32bit_13_0_8.msi. The excerpts from the XML file are why I say this.


    <!-- Comment out the below BypassIf entry if you want install the 32bit version CRRuntime redist in the target machine -->
    <!-- ByPass if the Processor is not x86 -->
    <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>

    <!-- Uncomment the below BypassIf entry if you do not want to install the 64bit version CRRuntime redist in the target machine -->
    <!--
    <BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="AMD64"/>
    -->

Am I following the logic incorrectly? When I use this XML file, I get the error noted in the KB article 1553482 (the error that started all of this). I used the Bootstrapper Manifest Generator to make my own XML file (see attached file) and prerequisite, and get the same error.

Thanks,

Dotty

former_member183750
Active Contributor
0 Kudos

I am not sure about the package XML. The CR Product XML is quite different (attached), so I'd use that.

Now, I'm going to let me fingers roam here and see if this makes sense.

Installing an app compiled as 32 bit on a 32 bit computer is no problem

Installing an app compiled as 64 bit on a 64 bit computer should also not be a problem

Installing a 32 bit app on a 64 bit will not be a problem, as long as we install the 32 bit runtime

Installing an app compiled as "Any CPU", on a 32 bit computer, we will need 32 bit runtime

Installing an app compiled as "Any CPU", on a 64 bit computer, we will need 64 bit runtime. This is because the 64 bit OS expects 64 bit runtime.

So. Since your app works fine on a 32 bit system, then the app is compiled as either 32 bit, or "Any CPU". To me, the error and the process you are following indicates that the app is compiled as "Any CPU" and you are forcing a 32 bit install on a 64 bit computer. An app compiled as "Any CPU" deployed on a 64 bit OS will by definition require 64 bit runtime. I think there are ways of forcing "Any CPU" compile to load 32 bit runtime, but that would be a question for MS.

Finally the conclusion; Can you please check see if you are compiling the app as "Any CPU"? If you are, and want the app to run 32 bit on a 64 bit OS, recompile the app as 32 bit.

If yo want to leave the app as "Any CPU", please consult MS re. forcing this type of compile to load 32 bit runtime on a 64 bit OS.

- Ludek

Former Member
0 Kudos

Hi, Ludek,

Using the product.xml file that is attached to that KB article, I compiled and published two versions of my program - one with the Target CPU set to x86, and one with the Target CPU set to x64. The only one that worked was the 32 bit version on a 32 bit system. I tried installing the 32 bit version on a 64 bit system, and got the GAC error.

Unless you have any more suggestions, I don't see anything else to do. If you would like, I could attach my project along with the contents of my CR package folder. My project is just one form that has a report on it that just has a text object that has my husband's name in it (it's a test project for deploying CR).

Thanks,

Dotty

former_member183750
Active Contributor
former_member183750
Active Contributor
0 Kudos

Yup. Please, let's do that.

Former Member
0 Kudos

Hi,

I changed the "HomeSite="http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_8.msi"

to HomeSite="http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_64bit_13_0_8.msi"

I set the Target CPU to x64, tried installing it on my 64 bit test computer, and got the same error.

Dotty

former_member183750
Active Contributor
0 Kudos

Hi Dotty

I just came across this KBA:

1957502 - ClickOnce Deployment package requires manual update of product.xml for Crystal Reports for...

Can you please have a look, see if that will help up out?

- Ludek

Former Member
0 Kudos

Hi, Ludek,

This KB article states to do what I have been doing.

Why won't the 32 bit version of my application that installs on 32 bit systems install on a 64 bit system?

I just don't get it.

Dotty

former_member183750
Active Contributor
0 Kudos

Hi Dotty

I don't know... sorry. Umm, can you please try to run the MSI on that computer:

http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_8.zip

Let's see if that will do anything - just as a test.

- Ludek

Former Member
0 Kudos

Hi, Ludek,

Run it on the development computer or the test computer?

Dotty

former_member183750
Active Contributor
0 Kudos

I think the issue is on the test computer? If that is so, then run the MSI there.

- Ludek

Former Member
0 Kudos

Hi, Ludek,

I ran CRRuntime_32bit_13_0_8.msi on a 64bit test machine, and my test application that was compiled for a x86 CPU installed and ran perfectly!!!!!

What does that mean, and where do we go from here?

Dotty

former_member183750
Active Contributor
0 Kudos

Hi Dotty

The test tells me that the computer is good. E.g.; it's not some sort of a system "thing". I'll have to test it here. I am not sure when I'll be able to do it though. Sometime next week. If it is critical to get this looked at ASAP, I'll have to ask you to create a phone incident here. If it turns out to be a bug, the incident will be refunded.

- Ludek

Former Member
0 Kudos

Hi, Ludek,

Next week will be fine.

Thanks,

Dotty

Former Member
0 Kudos

Hi, Ludek,

I got my application to install and run on x86 and x64 systems!!!!!!!!!!!!!!!

I used Bootstrapper Manifest Generator to make my own product.xml file. In that file, I make no reference to the 64 bit msi at all - just the 32 bit msi.

Thanks for all of the help!!!!!!!!!!!!!!

Dotty

former_member183750
Active Contributor
0 Kudos

Hi Dotty

Absolutely fantastic news . I just wish it was not as difficult as it was. I still want to do a bit of playing around with this, see if we broke something. Would you mind attaching the product.xml file you are working with now? If you're ok with that, rename the file to *.txt, then click on the "Use advanced editor" link and attach the file.

Happy coding,

- Ludek

Message was edited by: Don Williams

Former Member
0 Kudos

Hi, Ludek,


Here is the product.xml (product.txt) file I'm using.


Please let me know what you find after working with this issue.



Dotty

former_member183750
Active Contributor
0 Kudos

Hi Dotty

I looked at the xml files. And to be honest, I don't remember what all we did. But in the SAP product.XML there is this section:


<InstallConditions>

        <!-- ByPass if the Processor is not x64 -->

        <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="AMD64"/>

       

        <!-- Uncomment the below BypassIf entry if you do not want to install the 64bit version CRRuntime redist in the target machine -->     

        <!--

        <BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="AMD64"/>

        -->

Theoretically, if we had commented out this:


<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="AMD64"/>

and un-commented this:


<BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="AMD64"/>

it should have worked.

Your product XML essentially removes any 64 bit directives and a a few more things like checking for OS, etc.

- Ludek

Former Member
0 Kudos

Hi, Ludek,


Will my product.xml be problematic, or is it okay to use? I have no plans to build a x64 version of my application.


Thanks,


Dotty

former_member183750
Active Contributor
0 Kudos

I don't really see anything wrong with it. The one from SAP checks if the OS is WIN 95, in which case it does not install as WIN 95 is not supported. It checks the framework, checks the Version NT and a few other parameters, but your product xml should be ok as is.

- Ludek

Answers (0)