Which version of Crystal Reports do I reference (32-bit or 64-bit) during development?

I am currently using VS 2012 on a 64-bit PC, using Crystal Reports for VS 2012.

After installing Crystal Reports for VS 2012, I noticed that there are two main folders:

  • General \ SAP BusinessObjects Enterprise XI 4.0 \ win64_x64
  • General \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86

The application I'm about to deploy can be deployed on both 32-bit and 64-bit computers, so which Crystal Reports DLLs should I use? x86 or x64?

Or do I need to have 2 separate solutions, one with x86 reference numbers and the other with x64?

Update:

What I did was reference the x86 DLL during development and install the distributed x86 version of the crystal reports on all of my deployment machines, regardless of their architecture. Hope that helps some of you guys out there

+7
source share
1 answer

I know this is not a technical answer to your question, but since it still remains unanswered even after it has established generosity, I thought I could offer it anyway & hellip;

You can reconsider whether you really need the 64-bit version of your application. Most business applications (which I can assume is that you build as you generate reports from it) are not very profitable to use 64-bit versions.

You can only create and distribute the 32-bit version (x86), and it will run on all machines, regardless of whether they work with the 32-bit or 64-bit version of Windows. This is because all 64-bit versions of Windows include a special subsystem ( Windows-on-Windows or WOW64 ) that runs 32-bit code. It is completely seamless, and there are practically no compatibility issues.

Many applications are deployed here. Visual Studio itself is a great example: it is still 32-bit code, but works fine even on 64-bit versions of Windows, thanks to WOW64.

To do this, you simply install your project on x86 target platforms and only link to 32-bit DLLs. Since you will create only one binary file, this will greatly simplify the development and distribution process, not only in terms of determining which DLL links are for the link, but also the amount of code needed for testing and the distribution process itself.

If you write good code that follows standard idioms and recommended practices, adding 64-bit support later (if it ever turns out to be useful for your case) would be a pretty trivial operation .. The .NET Framework fine-tunes platform-specific differences; that they can offer the β€œAny processor" targeting option.


Also, if I am allowed to reason (because I do not have much experience with Crystal Reports), I believe that the open interface is identical for 32-bit and 64-bit DLLs.

In this case, you can simply reference the 32-bit version for your development, and then configure your build script to select the correct version of the DLL depending on whether you are building a 32-bit or 64-bit binary.

Naturally, the installer will have to make the same choice either during installation (if you use the unified installer) or when you create the installer yourself (if you have separate 32-bit and 64-bit installers).

+3
source

All Articles