on 2020 May 22 9:40 PM
We just recently upgraded our project (Windows Forms) to Visual Studio 2019 (64 bit). The Crystal printing stopped working after the move to the new IDE. The error that I'm getting is this:
Retrieving the COM class factory for component with CLSID {F734A321-8381-4FFD-A614-139E8906DC83} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
My development machine specs are as follows:
I currently have the following software installed on my machine (as viewed in the Control Panel -> Programs and Features)
The old 32 bit worked fine, but now we have migrated to 64 bit, I can't get this to work. Can you please let me know what I'm doing wrong?
Thanks
Request clarification before answering.
Mr. Don.
Thank you so much for your guidance on this. I was able to get it to work by doing the following:
1. I installed Crystal SP27 and Oracle Developer Tools for Visual Studio 2019. You can find the OTD here: https://www.oracle.com/database/technologies/dotnet-odtvsix-vs2019-downloads.html
2. I then updated the Oracle references in the code base to now use the Oracle.ManagedDataAccess. This required of updating the connection strings to be in parity with the definitions as specified in the TNS. The TNS.ora file can generally be obtained by the DBA. An example of the connection string should be:
Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMUNITY = MYSVRCOM)(PROTOCOL = TCP) (Host = myserver.mycompany.net)(Port = 1485))) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = MYORASVR)));User Id=myID; Password=mySecret;
3. The reference in code should be:
using Oracle.ManagedDataAccess.Client;
4. In the project properties, select the Compile side tab and check the box for "Prefer 32-bit". I also set the "Target CPU" to "AnyCPU" in the drop down list. These settings will allow the Crystal Reports to work with the .NET DataSet objects which are populated by Oracle.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Here is the screen shot for my last post, the dlls are all in X86 folder.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I just installed the latest "Crystal report for VS 2019" and I am upgrading a small Winform library from VS 2008 to VS 2019, I removed all references to old CR dlls, but when I add new references with extension, I only see 32 bit dlls, I cannot see the 64 bit options, my project is 64 bits. The dlls locations are all in the following folder. My question is " are the 64 bits assemblies not registered? how Can I reference them"?
C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for.NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As I said, don't browse to the assemblies, they are in the GAC so use the Extension option when adding the assemblies in VS. And not that's not the right place for the x64 version.
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Since I am new user, I think I should add comment here. I have just installed latest version of "Crystal report for Visual studio" and tried to upgrade a win form library from VS 2008 to VS 2019, 64 bit. But I can only see the 32 bit assemblies from the "Add reference" --> "extension", I can see the locations are all in the "Win32_86" folder. How can I add references to the 64 bits Assemblies? are they registered? I guess this is the same question asked in this thread, but I cannot find the solution.
Thank you in advance for the help.
They are in the GAC, when you remove the old assemblies and then add new ones use the Extensions to find them. Don't browse to the file themselves.
Be sure to select the x86 or x64 versions. CR runtime is for your project platform and not the OS.
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When I browse the Extensions all I see are the DLLs located here:
C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet\CrystalDecisions.CrystalReports.Engine.dll
Is this the correct location for targeted 64 bit applications?
You are using the original release, it doesn't support VS 2019.
Go here to get SP 27 and update your project:
https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
Don
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
61 | |
7 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.