Skip to Content
0

Running Application with Crystal Report for Visual Studio 13.0.21

Sep 08, 2017 at 11:07 AM

2.9k

avatar image
Former Member

I've an application which was prepared using VS 2015 & CR for VS SP 17 (WPF Application).

I've update my VS to 2017 & CR to SP 21. on running application by changing references as stated in wiki I can run the application on my pc, but when I try to run application on users pc I'm asked to update Crystal Reports to new runtime i.e version 13.0.3500.0

is there any other workaround so that I do not need to update CR runtime on all user's pc when I update my application.

Amit Saraf

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

9 Answers

Best Answer
Don Williams
Sep 18, 2017 at 01:57 PM
0

So the issue is VC 2005 C++ ATL Security update ( VS 2005 compiler ) is a huge dependency for our database drivers.

MS deprecated that version last year so we have to update to current versions which we did, now using VS 2015 compiler. So now CR for VS updated the Assembly versions to depend on 3.5 Framework and above.

So to be compliant with MS runtime you need to update your projects and CR runtime, end of story, no option to go back now. If MS doesn't support it we can't either.

Regarding the XCOPY and COM components. We have NEVER supported xcopy for redistribution, even before CR Assemblies were created. I've been supporting CR SDK's for 20 years now, I started when CR 5 was just released.

We use the Registry extensively to control the behaviour of CR Designer and CR runtime, Xcopy does not and never has it every copied the registry keys. And yes a lot of the CR dll's are still COM based and some do wrap themselves around the core crpe32.dll engine. Because of the age of CR that could not be avoided, when MS announced they were dropping COM for .NET ( which they changed their minds due to industry pressure ) we converted the best we could without completely rewriting everything to support .NET only which require "wrappers" around the COM DLL's, that would have taken years to do. Undoing the DEV work and move from COM ( craxdrt.dll ) to .NET was in full build mode was not practical do do, too much time spent on the rewrite at that point.

Thus the RDC COM reporting SDK was replaced with the .NET SDK.

Anyways, XCOPY never has been supported and never will be supported. Use the installer and MSI's to distribute the runtime, we know it's big but no way to strip it down because to many parts are required and to many issues if we separate them even more.

Thanks again

Don

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hello Don,

But why did you stay on com, it will than also never become 64 bits ?

Ok it would have taken years....

When Visual studio .Net came it was your oppertunity to switch completely

Now i'm facing the same dll hell again which i had with com/ocx/rdc

Every time there was a new computer/server/other program which also used Crystal reports on site, there was a problem with...... Crystal Reports

I'm gonna switch to another reporting tool.

Thanks anyway for your answer

0
Former Member

Same is the case here,

I've 4 different application based on CR Runtime for reporting.

Not all the applications are updated regularly, but now since I've to update CR Run time for one application, I will need to update all applications and also CR Runtime on user compute.

Which serching CR Nuget packages I found

Crystal.Reports.Essentials 13.0.20.2399

https://www.nuget.org/packages/Crystal.Reports.Essentials/13.0.20.2399

will this help in my case ???

Amit Saraf

0
avatar image
Former Member Sep 18, 2017 at 10:04 AM
1

Hello Don,

Amit is right.

The big problem with the runtime dll's is that they are not xcopy.

The .dll's must stay within the scope of the program an not in the framework assembly cache.

This because more party's can use crystal reports for their software

Now i'm facing the same problem again.

Client update some third party software, (i think is was SAP business One)

And now my program doesn't work anymore, because there are is a new CR runtime installed.

I hope it is the last version 21, but likely it wil be 18/19.....

Also your answer that many file need to be Com registered is strange in a .Net Framework environment.

I think and i asked you before, but you didn't answer that. (see Missing method 'instance class CrystalDecisions.ReportAppServer.Controllers.PrintOutputController)

Is Crystal reports. NET is a wrapper around old .com library (crpe32.dll) ?

If you will that developers stay with Crystal reports than there must be Xcopy version.

Without register keys etc....

From scratch an new .NET Crystal reports and not old Com.....

A bung of .dll's which you can xcopy and than it works...

Gerard Hoppen

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

you are correct

CR run times need to be xcopy so that application deployment can be smooth and easy.

Current I only need to install CR Runtime (of course .Net 4.5 must be installed) and rest all the third party controls I use are xcopy & because of this only, I many times think of using other Report Viewers

SAP Should seriously think about it and insted of updating version 13 should consider this and bring out all together new verison with xcopy usabelity.

Amit Saraf

0
Ido Millet Sep 08, 2017 at 12:11 PM
0

The user machine must have the matching runtime version.

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

This means that I will need to ask every user to update CR for VS to latest service pack i.e. 21 ??

This would be a tedious process as application update size will increase very much !!!

0
Don Williams
Sep 08, 2017 at 08:02 PM
0

Uninstall SP 21 on your PC and rebuild using SP 20.

Assembly version updated, only option now. You could try the attached xml file in the WIKI, just copy it to the same location as your app.config file. May work for this scenario.

Don

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Tried with XML file provided in WIKI.

It worked in the case where project was built using previous version and latest version is installed on pc

It did'nt work in the senario, I asked here.

Amit

0
Don Williams
Sep 11, 2017 at 02:58 PM
0

OK, only option now is to redistribute the SP 21 runtime.

Don

Show 3 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Is there any other option like using nugget package instead of installing Run time on all machines.

This will help in speedy roll out of application updates since application files can be updated using XCopy except CR Run times

Amit Saraf

0

See note #1 on download page and use these:

a. Please notice that we are still facing problems on configuring FlexNet upgrade server, so currently user will NOT receive SP21 notification

CR.NET ClickOnce Redist (built-in Visual Studio ClickOnce “Homesite” location)
http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_32bit_13_0_21.msi
http://downloads.businessobjects.com/akdlm/crnetruntime/clickonce/CRRuntime_64bit_13_0_21.msi

No you cannot use XCopy on CR runtime, too many files need to be COM registered and reg key need to be created.

Don

0
Former Member

Hello Don,

Amit is right.

The big problem with the runtime dll's is that they are not xcopy.

The .dll's must stay within the scope of the program an not in the framework assembly cache.

This because more party's can use crystal reports for their software

Now i'm facing the same problem again.

Client update some third party software, (i think is was SAP business One)

And now my program doesn't work anymore, because there are is a new CR runtime installed.

I hope it is the last version 21, but likely it wil be 18/19.....

Also your answer that many file need to be Com registered is strange in a .Net Framework environment.

I think and i asked you before, but you didn't answer that. (see Missing method 'instance class CrystalDecisions.ReportAppServer.Controllers.PrintOutputController)

Is Crystal reports. NET is a wrapper around old .com library (crpe32.dll) ?

If you will that developers stay with Crystal reports than there must be Xcopy version.

Without register keys etc....

From scratch an new .NET Crystal reports and not old Com.....

A bung of .dll's which you can xcopy and than it works...

Gerard Hoppen

0
avatar image
Former Member Sep 14, 2017 at 08:55 AM
0

Have you updated the CR references ? In solution explorer open references and right click on the CR references select Properties. Is the version

13.0.3500.0.

If not, delete the old references and add the new ones.

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

yes CR references have been updated

0
Don Williams
Sep 14, 2017 at 09:44 PM
0

Hi Amit,

Bottomline is CR for VS updated the compiler to use VS 2015 and removed the legacy dependency on VC 2005 C++ runtime as well as added more current Framework support.

There is no other way than to get your users to upgrade the runtime along with your updated EXE.

Don

Show 5 Share
10 |10000 characters needed characters left characters exceeded
Former Member
0

I did, B1 uses an OEM build of CR for VS and only specific versions. SP 21 will not work with B1 until they update their support for it.

See download wiki also for more info.

0

Hi Don,

I am quite following up on the similar question with Dell in the thread https://answers.sap.com/questions/306577/dependency-of-visual-c-2005-re-distributable-on-di.html

and our observations are that CR for VS updated to use VS 2015 still have the dependency on VC 2005 C++ runtime.

Can you also please comment on these observations.

Is that the CR run time 13.0.21 fallback to use VC 2005 C++ when available?

Thank you!

0

CR for VS SP 21 does not have them but there may be some third party dll's that may still use it.

What errors are you getting once you uninstall VC 2005 runtime?

0

Thanks Don.

I am not seeing any errors as such, but when the crystal reports are accessed from the application, the process monitor reports that VC++ 2005 re-distributable dlls are loaded from Windows component store

This is the snanpshot of the references being loaded when Crsytal reports are accessed from the application.

Moreover, we are unable to un-install the VC++ 2005 redistributable successfully. Should we need to un-install this before we test further.

vc2005-dlls.png (46.5 kB)
0
Don Williams
Sep 26, 2017 at 05:38 PM
0

What framework are you using and what DB driver is being used?

Did you remove the LegacyMode from the App.Config file?

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Don,

We are using .Net 4.6.1 and doesn't have any legacy settings defined in app.config.

Thank you.

0

The Crystal reports are using Oledb database driver as given below:

db-driver-cr-connection.png

0
Don Williams
Oct 16, 2017 at 03:28 PM
0

Hi Sudharshan,

I don't know if this is related to the original post or not.

Can you start a new question?

Thanks

Don

Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi Don,

We have created a new conversation earlier to discuss this topic.

Please find the the url for the discussion thread:

https://answers.sap.com/questions/306577/dependency-of-visual-c-2005-re-distributable-on-di.html

Thanks,

Sudharshan.

0