web-dev-qa-db-fra.com

Une erreur s'est produite lors de la tentative de chargement du runtime de Crystal Reports

Je travaille depuis un certain temps déjà sur un site Web interne, que je maintiens pour un client. À part quelques bogues, le site Web fonctionne comme prévu.

Mais alors, tout à coup, l'erreur en question apparaît. Cela n'est jamais arrivé auparavant.

Voici le logiciel que nous avons utilisé:

  • Windows Server 2008 R2, 64 bits
  • Visual Studio 2005 en tant que IDE de choix
  • ASP.net/C # pour le site web
  • .NET 2.0
  • IIS, pour l'hébergement de sites Web.
  • CrystalReport10, semble-t-il (d'après la photo).

Maintenant, j’ai fait des recherches à ce sujet et beaucoup de personnes suggèrent de reconstruire/publier le site Web sous la forme x86 au lieu de n’importe quel processeur , et de nombreuses personnes suggèrent également -installation de CR 64 bits, etc., etc.

Mais encore une fois, cela ne s’est jamais produit auparavant et très peu de personnes altèrent réellement le serveur. Je ne vois aucune raison pour laquelle le site Web, construit avec ' Mixed Platforms ' depuis bien avant mon temps, cesserait subitement de fonctionner sur le système d'exploitation sur lequel il avait été déployé, bien avant mon temps. Comme personne d'autre n'utilise ce serveur, comment pourrait-il générer une telle erreur? Ce n'est pas comme si quelqu'un pouvait y aller et désinstaller des choses - Windows Update, peut-être?

Voici une capture d'écran de ce que j'ai trouvé sur le système d'exploitation dans C:\Windows\Assembly:

Windows Server 2008

Chose étrange, j’ai trouvé la même chose sur mon PC de développement local, avec l’ajout de la version 13 à un autre programme sur lequel je travaille. Le site Web fonctionne bien sur mon dev test local. Sur le serveur live, ce n'est pas le cas. Avant de supposer que j'avais peut-être besoin de quelque chose dont le serveur ne dispose pas, je me suis également rappelé que tout ce qui se trouvait sur le serveur live existait depuis un certain temps - et que l'erreur commençait seulement à se produire maintenant.

Et voici l'erreur en entier:

Erreur serveur dans l'application '/'.

Une erreur s'est produite lors de la tentative de chargement de l'exécution de Crystal Reports .

Les autorisations de clé de registre Crystal Reports sont insuffisantes Ou l'exécution de Crystal Reports n'est pas installée correctement.

Veuillez installer le fichier Crystal Reports redistribuable (CRRedist * .msi) approprié contenant la version correcte de l'exécution de Crystal Reports (X86, x64 ou Itanium) requis. Veuillez vous rendre sur http://www.businessobjects.com/support pour plus d'informations. Description: une exception non gérée s'est produite lors de l'exécution de La demande Web en cours. Consultez la trace de la pile pour plus d’informations Sur l’erreur et son origine dans le code. 

Détails des exceptions: CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: une erreur S'est produite lors de la tentative de chargement de l'exécution de Crystal Reports .

Les autorisations de clé de registre Crystal Reports sont insuffisantes Ou l'exécution de Crystal Reports n'est pas installée correctement.

Veuillez installer le fichier Crystal Reports redistribuable (CRRedist * .msi) approprié contenant la version correcte de l'exécution de Crystal Reports (X86, x64 ou Itanium) requis. Veuillez vous rendre sur http://www.businessobjects.com/support pour plus d'informations.

Erreur de source: 

Une exception non gérée a été générée lors de l'exécution de la demande Web actuelle . Les informations concernant l'origine et l'emplacement de L'exception peuvent être identifiées à l'aide de la trace de pile d'exceptions ci-dessous.

Trace de la pile: 

[LoadSaveReportException: une erreur s'est produite lors de la tentative de Charger le runtime de Crystal Reports.

Les autorisations de clé de registre Crystal Reports sont insuffisantes Ou l'exécution de Crystal Reports n'est pas installée correctement.

Veuillez installer le fichier Crystal Reports redistribuable (CRRedist * .msi) approprié contenant la version correcte de l'exécution de Crystal Reports (X86, x64 ou Itanium) requis. Veuillez aller à http://www.businessobjects.com/support pour plus d'informations.]
CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime () +379 CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor () +248

[TypeInitializationException: l'initialiseur de type pour 'CrystalDecisions.CrystalReports.Engine.ReportDocument' a généré une exception .]
CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor () +0
pages_reports_ApplicationHistoryRpt.GenerateReport () +163
System.Web.UI.WebControls.Button.OnClick (EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent (String EventArgument) +140
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler SourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain (Boolean IncludeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981

-------------------------------------------------- ------------------------------ Informations sur la version: Microsoft .NET Framework Version: 2.0.50727.5448; ASP. Version NET: 2.0.50727.5420

J'espère que quelqu'un peut me aider.

Merci.

10
zack_falcon

Avez-vous essayé d'aller dans IIS et de définir "Activer les applications 32 bits" sur "Vrai" dans les paramètres avancés du pool d'applications sous lequel le site Web est exécuté?

Je dois faire cela pour la version de Crystal Reports 2008 (12.0.2000.0) à laquelle je fais référence dans mon application Web, car les environnements d'exécution de Crystal eux-mêmes ne sont que de 32 bits.

5
Ally

Si vous déployez votre application en mode x86, cela fonctionnera correctement. J'ai déjà fait face à ce problème.

devrait également avoir. NET Framework au lieu de .NET Client Framework.

1
J R B

Je suggère: 

  • Déployer le mode x64.
  • Installez le dernier runtime x64 sur le serveur ( prenez 64bit.msi ici ).
  • Modifiez web.config si vous rencontrez des problèmes de compatibilité ( comme décrit ici ).

Bonne chance!

0
Emanuele Greco

J'ai rencontré la même erreur lors de la migration d'une application Web C # .Net de Windows 2003 à 2012.

Vérifiez si Adobe Reader est installé sur le système. Une fois Adobe Reader installé, l’application Web a commencé à afficher les rapports.

0
Ralph Hightower