Skip to Content
avatar image
Former Member

Running Application with Crystal Report for Visual Studio 13.0.21

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

9 Answers

  • Best Answer
    Sep 18, 2017 at 01:57 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

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

    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

    Add comment
    10|10000 characters needed 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

  • Sep 08, 2017 at 12:11 PM

    The user machine must have the matching runtime version.

    Add comment
    10|10000 characters needed 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 !!!

  • Sep 08, 2017 at 08:02 PM

    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

    Add comment
    10|10000 characters needed 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

  • Sep 11, 2017 at 02:58 PM

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

    Don

    Add comment
    10|10000 characters needed characters exceeded

    • 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

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

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 14, 2017 at 09:44 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • 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)
  • Sep 26, 2017 at 05:38 PM

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

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

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 16, 2017 at 03:28 PM

    Hi Sudharshan,

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

    Can you start a new question?

    Thanks

    Don

    Add comment
    10|10000 characters needed characters exceeded