cancel
Showing results for 
Search instead for 
Did you mean: 

Licensing agreement appears on client computer

kelvinsmith
Explorer
0 Kudos

I'm updating a Visual Basic 2003 app to VB/Visual Studio 2008. The app uses a number of Crystal Reports, and I'm using the CR version embedded in VS for those reports (CR not purchased separately). I've set the Setup project to install the CR runtime modules as part of the app installation (checking it as a Prerequisite that needs to be installed in the Setup project's properties).

When the app installation starts on a new computer, I'm getting a license agreement for Crystal Reports Basic for Visual Studio 2008. The license agreement seems to be the same as I would have agreed to when I installed VS 2008 as a developer--it talks about having a license to redistribute CR as long as it's in conjunction with a VS application. But that's not relevant to a user of my application, who doesn't have VS installed on their computer. I didn't have a license agreement like this pop up when my VB/VS 2003 application was installed. Have I set up the installation process incorrectly, or is Business Objects just getting more legalistic? (The irony is that the agreement states that I shouldn't advertise the CR name in conjunction with my software, but the display of the agreement forces everyone to know that CR is used.)

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

What is the name of the prerequisite you specified?

Also, see if the info on the following link will help:

http://msdn2.microsoft.com/en-us/library/bb126227.aspx

Ludek

kelvinsmith
Explorer
0 Kudos

The prerequisite checked is Crystal Reports Basic for Visual Studio 2008 (x86, x64). It's the only CR choice in the prerequisites list.

I did look at the MSDN section you linked to before posting this question. I think I've done everything required, unless I need to manually select additional CR files to include in the deployment package. If I do, it's not clear what, and where they come from.

kelvinsmith
Explorer
0 Kudos

This question seems to have been forgotten. My first question is: Should I expect to see a Crystal Reports license agreement displayed on the computer of someone who is installing my software (which includes CR reports) for the first time? I've tried playing around with both merge module and Windows Installer deployment, and it's always displaying. Given that one of the requirements of the licensing agreement is that when I distribute my software, I "not use the name, logo, or trademark of Business Objects, or the Software, without written permission from Business Objects," it seems inconsistent for CR to be displaying its name with the licensing agreement.

If it shouldn't be displaying, then I need help in figuring out how to suppress it. I've gone through the help screens on MSDN for CR Deployment, but it hasn't helped me resolve the problem.

former_member183750
Active Contributor
0 Kudos

There should not be a licensing agreement displayed.

When you get the licensing agreement displayed, see if this reg key exists:

HKLM\software\business objects\10.5\crystal reports\cr ent (or cr dev)

See if adding Visual C++ Runtime Libraries (X86) to the deployment project helps.

Ensure that .NET Framework 3.5 id added as a prerequisite.

Ludek

kelvinsmith
Explorer
0 Kudos

There is no registry key for HKLM\Software\business objects on the client computer (where the app is being installed).

I have added the Visual C++ Runtime Libraries to the prerequisites list. The prerequisites list now includes:

.Net Framework 2.0 (x86)

Visual C++ Runtime Libraries (x86)

Windows Installer 3.1

.Net Framework 3.5 SP1

Crystal Reports Basic for Visual Studio 2008 (x86, x64)

I've tried with the CR prerequisite checked and unchecked. I've installed the .NET Framework 3.5 SP1 before starting the app install.

I have four CR merge modules included in the Setup project: Crystal_Database_Access2003.msm, Crystal_Database_Access2003_enu.msm, Crystal_Managed2003.msm, Crystal_regwiz2003.msm. In the License Key property of Crystal_regwiz2003.msm, I have the license key that displays in Visual Studio's Help About line for CR (AAJ60-..., 19 characters long).

It still is displaying the CR license agreement when the installation process starts.

former_member183750
Active Contributor
0 Kudos

Something is seriously messed up here...

You say you are updating your app from .NET 2003 to .NET 2008. The question then becomes; why are you including Crystal_Database_Access2003.msm, Crystal_Database_Access2003_enu.msm, Crystal_Managed2003.msm, Crystal_regwiz2003.msm files? These are for CR 9.1 which bundled with .NET 2003. If you upgrade to .NET 2008, you must use CR 10.5 which bundles with .NET 2008, or CR 2008 (12.x).

What is the version of the CR assemblies referenced in your project?

Ludek

kelvinsmith
Explorer
0 Kudos

I see you're right; I shouldn't be using the 2003 version of the msm files. I wondered about that, but they were the only msm files I saw on my system.

I've removed those from the setup project. The MSI installation file is now significantly smaller, but I'm still getting the licensing agreement. The Build Solution process creates a CrystalReports10_5 subfolder in the Release folder that has the main application installation file. In the CR folder are CRRedist2008_x64.msi and CRRedist2008_x86.msi. Add/Remove Programs says that I have installed CR Basic for VS 2008, CR Basic for VS 2008 Service Pack 1, and CR Basic Runtime for VS 2008 (along with CR Update Service).

The references in the application project were and are for v10.5 of CR. In the Application Files listing of the Publish tab, all the CrystalDecisions dlls have Publish Status: Include and Download Group: (Required).

I'm still unable to make sense of how I should be setting this up, using either the Windows Installer method or the merge modules method.

former_member183750
Active Contributor
0 Kudos

Just as a test, I'd like to see what happens if we just run the CR msi right on that computer. The msi is here

https://smpdl.sap-ag.de/~sapidp/012002523100006255282008E/CRRedist2008_x86.zip

Please download it to the computer you're trying to install the app on. Run the msi and see what that does.

Ludek

kelvinsmith
Explorer
0 Kudos

I haven't responded sooner because I was trying out some different scenarios.

I downloaded the file you suggested. When I installed it on a computer that didn't have .Net Framework 3.5, I got the following error message:

Error 1304. Error writing to file: CrystalDecisions.Data.AdoDotNetInterop.dll. Verify that you have access to that directory.

However, after installing the Framework, it ran correctly. I can see the files in Program Files\Business Objects. (I see the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\Crystal Reports, but there is no cr ent or cr dev.) I did not get a licensing agreement popup during installation.

After installing the CR modules that way, when I run the Setup.exe program that Visual Studio places in the output folder, I continue to get the prompt for the licensing agreement. (This happens whether or not CR is listed as a prerequisite.) However, if I just double-click on the application's .msi installer file, it installs without a message. That's because, though, it's not installing CR.

This may be a clue: I've noticed that if I uncheck both Windows Installer and Crystal Reports as prerequisites, I still get subfolders CrystalReports10_5 and WindowsInstaller3_1 for the Release folder. I wouldn't have expected that.

I tried to start fresh with a completely new project, following the sample steps to create an application with Crystal Reports that are laid out in the online help. Oddly, when I follow those steps (using the Windows Installer deployment instructions), the CR runtime modules aren't installed at all. I noticed that CR wasn't checked as a Prerequisite in the Publish page of the project's properties, but checking didn't make a difference. Changing the Publish Status setting for the CR files in Application Files on the Publish page from Prerequisite (Auto) to Include doesn't make any difference; the CR runtime still isn't part of the package, and doesn't install, so the app crashes when I try to run it. Pre-installing the CR runtime solves the problem, but the point of setting up a deployment project is supposed to be to have all that done automatically.

Answers (1)

Answers (1)

kelvinsmith
Explorer
0 Kudos

I'm sorry I've been away for a while, but I still don't have a solution for why the licensing agreement is appearing as part of installing my application on a client's computer.

former_member183750
Active Contributor
0 Kudos

In the days of .NET 2003, you did not get prompted with a license agreement when using MSMs. CR Basic for VS2008 doesn't have MSMs so the MSI prompts when using u201CPrerequisitesu201D because itu2019s a click-once thing where the license.txt is specified in the Package.XML file. Try a silent install that suppresses the UI. To do this, add u201C/qnu201D to the Arguments attribute in Product.xml:

<Command PackageFile="CRRedist2008_x86.msi"; Arguments="/qn /norestart" EstimatedInstalledBytes="21000000" EstimatedInstallSeconds="300">

Ludek

kelvinsmith
Explorer
0 Kudos

I'm not familiar with Product.xml/Package.xml. The information I see in the help files talks about ClickOnce deployment, which I'm not using (I'm providing the software to clients on a CD, not from a website). Beyond that, it's not clear to me how to use the one line of XML code you've provided; do I put that in an XML file all by itself in the setup project folder, or the main project folder, or if I create a Product.xml file, do I need to fill it with all the XML commands for the complete installation? I realize this is more a Visual Studio question than a CR question, but you're the one pointing me to make this adjustment, and I'm not sure where it really goes.

I'm still getting the Error 1304 that I mentioned in a previous posting, even if I simply run the CRRedist2008_x86.msi by itself (not as part of the installation of the VS application).

former_member183750
Active Contributor
0 Kudos

Umm, I thought the 1304 error was resolved by installing the framework(?).

Re .the product xml. Go to the directory c:\program files\microsoft sdks\windows\v6.0A\bootstraper\packages\crystalreports10_5

Open the xml, find the line; <Command PackageFile="CRRedist2008_x86.msi";; Arguments="/norestart" EstimatedInstalledBytes="21000000" EstimatedInstallSeconds="300"> and change it to;

<Command PackageFile="CRRedist2008_x86.msi";; Arguments="/qn /norestart" EstimatedInstalledBytes="21000000" EstimatedInstallSeconds="300">

Ludek

kelvinsmith
Explorer
0 Kudos

Argh. That's what happens when I step away from a project for a month. I looked back through the the message thread, saw that I'd referred to Error 1304, and didn't read through the whole message to see that I'd discovered the resolution to that. My apologies.

I made the change to Program.xml in the location you indicated and rebuilt the Visual Basic application (actually found two locations, and put "/qn" in both lines, but I'm still getting the prompt to accept the license agreement for CR Basic.