Turn off Vista's DEP before installing CR 2008
My new computer is a Vista Ultimate 64 bit machine. While I
had no problems with CR 2008 Basic, when I moved to CR 2008, I ran into a lot
of problems.
The trouble began with the designer. When I opened up any
report in Visual Studio 2008 after upgrading to CR 2008, the report was empty.
To make matters worse, I was locked out of the rest of the Visual Studio IDE
until I closed this report’s design window. That made my heart rate increase
slightly. When creating new reports, there was no wizard and I would end up
with another blank report which again locked up the IDE.
It turns out that something in Vista prevents the designer
tools from loading during CR 2008’s installation. This may only be a problem
for Vista X64. The recommended solution is to turn off Vista's Data Execution
Prevention (DEP) prior to installing CR 2008. Yes, another security feature of Vista! Once CR2008 is installed, I turned DEP back on and everything was working just perfectly.
Turning DEP off and on is simply a matter of running the
command line tool bcdedit. There is a GUI tool as well, but on my computer
(running as admin) the GUI feature was disabled, so I used bcdedit.
Here is a link to a brief article about DEP along with the
switches you will need to turn DEP on and off. http://www.realtime-vista.com/administration/2007/04/disabling_data_execution_preve.htm
Crystal Reports 2008 Runtime and X64
Crystal Reports Basic 2008 has an X64 Runtime that you can
install as part of the Visual Studio 2008 installation.
While CR2008 SP0 supports both 32bit and 64bit development, there
are no native 64 bit runtime assemblies. The error message suggests installing
the correct redistributable or that you have a problem with your Keycodes.
An error has occurred while attempting to
load the Crystal Reports runtime. Either the Crystal Reports registry key
permissions are insufficient, or the Crystal Reports runtime is not installed
correctly. Please install the appropriate Crystal Reports redistributable
(CRRedist*.msi) containing the correct version of the Crystal Reports runtime
(x86, x64, or Itanium) required.
The message is very misleading and I spent a lot of time
installing and uninstalling bits trying to solve this problem. Finally, the
lead support engineer for Crystal pointed me to this knowledge base article: https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_ossnotes&query=1200907.
The recommendation is to explicitly target 32 bit processers
when building your assemblies. Go to Project Properties, Compile, Advance
Settings then change the Target CPU from its default "Any CPU" to
"X86." Those of you who have been building VS apps on a 64bit machine
for a while are probably familiar with the need to explicitly target X86. This
article, "Windows & the World of 64-Bit Computing" (http://www.ddj.com/hpc-high-performance-computing/184405994),
has some helpful insights on developing .NET apps on an X64 computer.