cancel
Showing results for 
Search instead for 
Did you mean: 

Target CPU: Use "x86" or "Any CPU"

Former Member
0 Kudos

Hello,

We are developing Windows forms application that will be deployed on Citrix servers running Windows 2008 (64-bit). We are using Visual Studio 2010 and targeting the 4.0 framework with Visual Basic as the development language. We've are incorporating logic in the applications to reference the Crystal Reports DLLs with version number 13.0.2000.0 to display Crystal Reports from our applications.

We are somewhat confused as to which Target CPU we need to reference. We've always used "Any CPU" which is the default. But we understand it the CR DLLs want to run in a 32-bit environment. So does that mean we need to build our applications to target "x86" to force the application to run in 32-bit on the 64-bit servers? So essentially we are just looking for clarification as which "Target CPU" we should be referencing.

Thanks,

Jim

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Jim,

-The Crystal SDK does not always work well when targeting your application to "Any CPU".
So, you'll need to set the project properties to target either x86 or x64 and then install the correct version of the SDK runtime when you deploy it.

-Setting it to particular targeted platform instead of “Any CPU”will help the application to get the dll’s required for running the application in particular folder without having a confusion of in which folder
exactly it supposed to look for the dll.

 

-So always prefer to set it to either “X86” or “X64” mode.

Thanks,

Jayashree

former_member188030
Active Contributor
0 Kudos

I concur with Jayashree. Avoid keeping it ANYCPU.

Just clarify your query

 But we understand it the CR DLLs want to run in a 32-bit environment. So does that mean we need to build our applications to target "x86" to force the application to run in 32-bit on the 64-bit servers?

No. CR 13.0 runtimes are available for 32 as well as 64 bit OS. Check the download page.

Thanks,

Bhushan

0 Kudos

To clear up this confusion CR Redist packages are for your application platform and not for the hosting OS platform.

So if you have 32 bit dependencies and targeting x86 OS's then use x86, if your is built for 64 bit OS's only then select x64. If you are target both then you need to provide Bootstrapper settings so the OS can load either x32 or x64 bit runtime but requires you to include and distribute both in your setup.

For more info on using BootStrapper properties refer to Microsoft VS Project configuration and distribution on MSDN.

Don

Answers (1)

Answers (1)

Former Member
0 Kudos

Thanks for all the good information. It has been very helpful.

Jim