cancel
Showing results for 
Search instead for 
Did you mean: 

Licensing issue of Crystal Reports XI R2

Former Member
0 Kudos

Hi all,

I am using CR XI R2 developer edition with VS2005. I have the following msm files with me:

CrystalReports11_rdc_reportengine.msm

CrystalReports11_rdc_runtime.msm

CrystalReports11_rdc_license.msm

I want to package the above msm files in InstallShield(version 2009) or in Visual Studio 2005(by creating a .msi file), in such a way that it gives me facility to redistribute the above files i.e. ask the user to enter his license key during installation.

Please tell me how to achieve the above functionality.

Thanks in advance,

Megha

Edited by: MeghaB on Aug 31, 2009 12:38 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

Couple of things wrong here:

You are using .NET 2005, CR XI r2 (11.5).

1) The merge modules you mention are for CR XI r1 (11.0).

2) The merge modules you are using are for the RDC SDK which is not supported in .NET

So, before proceeding, the 1st question would be; what CR SDK are you using? The CR SDK for .NET, or the RDC? E.g.; what dlls are referenced in your application?

Ludek

Former Member
0 Kudos

I am building the application in RDC and using the craxddrt.dll, crdesignerctrl.DLL and crviewer.dll for it.

former_member183750
Active Contributor
0 Kudos

Right. There are tons of posts about RDC not being supported in .NET. About RDC causing all kinds of issues in .NET. Also, note that to use the craxDDrt.dll. you will need to worry about additional licensing for your app. Using the RDC is just asking for problem after problem... Is there a specific reason you'd want to use RDC as opposed to the CR SDK designed specifically for .NET?

Ludek

Former Member
0 Kudos

Hi Ludek,

Thanks for your response.

I am building my application in RDC(customer requirement) so can't switch over to .Net.

Also a correction in my post.

I am using the below files:

CrystalReports11_5_RDC_License.msm

CrystalReports11_5_RDC_Reportengine.msm

CrystalReports11_5_RDC_Runtime.msm

CrystalReports11_5_RDC_DesignTime.msm

Can't I use the above files and create a .msi file or .exe file in Visual Studio 2005 in such a way that I need not set the license keycode during build process and ask the user to enter the license keycode(that he buys)?

If not, then what is the best way to accomplish my requirement, using above files, which will ask me for license during installation at the user machine? Should I use VS 6.0 for it?

Thanks & regards,

Megha

Edited by: MeghaB on Sep 1, 2009 12:25 PM

Edited by: MeghaB on Sep 1, 2009 12:30 PM

former_member183750
Active Contributor
0 Kudos

First thing you must do, is unreference craxDDrt.dll and reference craxdrt.dll - unless you have contacted sales and got the licensing requirements for craxddrt.dll out of the way.

As far as answer to your question. Umm, actually before I get to it. Why are you requiring your users to enter their keycode? Your keycode is all that is needed. All you have to do is add it to the license msm. That is legal and the runtime is free for these win apps(?).

If there is a compelling reason for having the customers enter their keycode, then in a nut shell, there is nothing from the Crystal Reports side that will let you do this. But you do have at least three options;

1) You'd have to build some PIDKEY table that checks for validity of the keycodes, then run a script that enters the keycode into the registry. I have no details or knowledge of how to do this at all.

2) Use the .SetLicenseKeycode property off the craxdrt application object. Unfortunately, this would mean the user would get prompted for keycode every time they start the project.

myApplication.SetLicenseKeycode("the_keycode")

3) Run a script, be it in your setup project, or on app 1st use that prompts for the keycode and the script then writes the keycode to HKLM\software\business objects\suite 11.5\crystal reports\keycodes\cr dev

Ludek

Former Member
0 Kudos

Hi Ludek,

Thanks for the response. I am using the deployment document located at

https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/901c0761-cf1d-2b10-dea4-8e83937a9337&overrid...

which refers to CR 11.0. Do we have any other deployment document which is specifically for deployment of CR XI R2? If so then where can I find it?

Megha

former_member183750
Active Contributor
0 Kudos

Nothing more up to date. But if there was, the only change you'd see is the names of the CR RDC merge modules.

Ludek

Former Member
0 Kudos

Hi Ludek,

We have developed the CR application on the 11.5 version i.e Crystal Reports XI Release 2, using the RDC architecture.

All the dll's are being deployed on the client side and there are no web components in our implementation.

The application is using the craxddrt.dll for providing the functionality to design the reports at run-time.

Can you please tell me what is the difference between craxddrt.dll and craxdrt.dll?

Can craxdrt.dll be used for designing the report at runtime?

Also do I need to use the SetLicenseKeycode property in the code to provide license to craxdrt.dll(if I donot use CrystalReports11_5_RDC_License.msm file)? If yes, then how to code it?

Megha

former_member183750
Active Contributor
0 Kudos

Craxddrt.dll essentially extends the RDC so you can design reports at runtime. You do need to worry about extra licensing as you are using Report Creation APIs, so talk to sales about that.

Keycode can be set in the CrystalReports11_5_RDC_License.msm. It is a configurable msm, so any utility that is able to work with configurable msm files will let you add tee keycode to it. Newer versions of InstallShield, Wise, .NET, etc. work with configurable msm files. You can also use the Microsoft Visual installer, or even the Orca utility.

And as you mention, using SetLicenseKeycode in your code is also an option:

myApplication.SetLicenseKeycode(<your keycode as a string>)

Ludek

Former Member
0 Kudos

Ludek,

I donot want to use the Visual studio installer or InstallShield, Wise etc to build the msi file. My basic requirement is that I want to use the setLicenseKeycode property. I have evaluation version of CR XI R2 SP5 and using Visual studio 2005. When I use the below code in my application with craxddrt.dll(ver.11.5.11.1673):

m_crReport->Application->SetLicenseKeycode(<your keycode as a string>)

It doesnot work. I tried to debug my code and found that the application goes to below code of oledisp2.cpp and breaks:

COleDispatchException* pException =

new COleDispatchException(NULL, 0, excepInfo.wCode);

ASSERT(pException->m_wCode == excepInfo.wCode);

if (::SysStringLen(excepInfo.bstrSource))

{

pException->m_strSource = excepInfo.bstrSource;

}

::SysFreeString(excepInfo.bstrSource);

if (::SysStringLen(excepInfo.bstrDescription))

{

pException->m_strDescription = excepInfo.bstrDescription;

}

Here the value of bstrSource comes as CrystalReports11.EmbeddableCrystalReportsDesignerCtrl.1

and the value of bstrDescription comes as This system does not have a valid license, or the evaluation copy of the license has expired. Please contact Business Objects to obtain a Report Design Control license.

I donot think my license has expired because when I try to run my application by using the msi created by Installshield (using same license keycode as kept in SetLicenseKeycode) then my application works fine.

Please help me to resolve this SetLicenceKeycode problem.

former_member183750
Active Contributor
0 Kudos

See this thread:

The code does work in a supported environment. It may be that the setlicensekeycode property does not work in .NET(?).

Now something I do not understand. Eventually I suspect, you will want to distribute this app to other computers(?). If yes, then you will have to build your own deployment setup project. During this build, you'd add the keycode to the license msm and thus you would not need to set the property at runtime.

Ludek

Answers (0)