web-dev-qa-db-ja.com

Crystal Reportsランタイムをロードしようとしたときにエラーが発生しました

私はかなり長い間、内部Webサイトに取り組んでおり、クライアントのためにそれを維持しています。いくつかのバグを除いて、ウェブサイトは意図したとおりに機能しています。

しかし、その後、突然、問題のエラーが表示されます。これはこれまでに起こったことはありません。

使用したソフトウェアは次のとおりです。

  • Windows Server 2008 R2、64ビット
  • IDE選択としてのVisual Studio 2005
  • Webサイト用のASP.net/C#
  • .NET 2.0
  • IIS、ウェブサイトホスティング用。
  • CrystalReport10、それは(写真から)表示されます。

今、私はこれについていくつかの調査を行いました、そして多くの人々はウェブサイトをの代わりに(== --- ==)x86として再構築/公開することを提案します任意のCPU、および多くの人が64ビットCRなどを再インストールすることも提案しています。

しかし、これも以前に発生したことはなく、実際にサーバーを改ざんする人はほとんどいません。 「Mixed Platforms」を使用して構築されたWebサイトが、以前のOSで突然動作を停止する理由はわかりません私の時代よりずっと前に展開されました。他の誰もそのサーバーを使用していないので、どうして突然そのようなエラーを生成するのでしょうか?誰かがそこに行ってアンインストールできるようなわけではありません-Windows Update、たぶん?

OSのC:\ Windows\Assemblyにあるもののスクリーンショットは次のとおりです。

Windows Server 2008

奇妙なことに、私はローカルのテスト開発PCで同じことを見つけましたが、私が取り組んでいる別のプログラム用にバージョン13のパーツがいくつか追加されています。ウェブサイトは私のローカルテスト開発者で問題なく動作します。ライブサーバーでは、そうではありません。サーバーには必要のないものがあると思う前に、ライブサーバーにあるものはしばらくの間そこにあったことを思い出しました。エラーは今発生し始めたばかりです。

そしてここに完全なエラーがあります:

「/」アプリケーションでのサーバーエラー。

Crystal Reportsランタイムをロードしようとしたときにエラーが発生しました。

Crystal Reportsレジストリキーの権限が不十分であるか、Crystal Reportsランタイムが正しくインストールされていません。

適切なバージョンのCrystal Reportsランタイム(x86、x64、またはItanium)を含む適切なCrystal Reports再頒布可能ファイル(CRRedist * .msi)をインストールしてください。詳細については http://www.businessobjects.com/support にアクセスしてください。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、コードのどこで発生したかについて、スタックトレースを確認してください。

例外の詳細:CrystalDecisions.CrystalReports.Engine.LoadSaveReportException:Crystal Reportsランタイムをロードしようとしたときにエラーが発生しました。

Crystal Reportsレジストリキーの権限が不十分であるか、Crystal Reportsランタイムが正しくインストールされていません。

適切なバージョンのCrystal Reportsランタイム(x86、x64、またはItanium)を含む適切なCrystal Reports再頒布可能ファイル(CRRedist * .msi)をインストールしてください。詳細については http://www.businessobjects.com/support にアクセスしてください。

ソースエラー:

現在のWeb要求の実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。

スタックトレース:

[LoadSaveReportException:Crystal Reportsランタイムをロードしようとしたときにエラーが発生しました。

Crystal Reportsレジストリキーの権限が不十分であるか、Crystal Reportsランタイムが正しくインストールされていません。

適切なバージョンのCrystal Reportsランタイム(x86、x64、またはItanium)を含む適切なCrystal Reports再頒布可能ファイル(CRRedist * .msi)をインストールしてください。詳細については http://www.businessobjects.com/support にアクセスしてください。]
CrystalDecisions.CrystalReports.Engine.ReportDocument.CheckForCrystalReportsRuntime()+379 CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()+248

[TypeInitializationException: 'CrystalDecisions.CrystalReports.Engine.ReportDocument'のタイプ初期化子が例外をスローしました。]
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

-------------------------------------------------- ------------------------------バージョン情報:Microsoft .NET Frameworkバージョン:2.0.50727.5448; ASP.NETバージョン:2.0.50727.5420

誰かがこれを手伝ってくれることを願っています。

ありがとう。

12
zack_falcon

IIS)にアクセスして、Webサイトが実行されているアプリケーションプールの詳細設定で[32ビットアプリケーションを有効にする]を[True]に設定してみましたか?

Crystalランタイム自体は32ビットしかないため、Webアプリケーションで参照しているCrystal Reports 2008(12.0.2000.0)バージョンに対してこれを行う必要があります。

9
Ally

アプリをx86モードでデプロイすると、正しく動作します。私はすでにこの問題に直面しています。

.NETクライアントフレームワークの代わりに.NETフレームワークも必要です。

2
J R B

私は提案します:

  • X64モードを展開します。
  • サーバーに最新のx64ランタイムをインストールします( ここで64bit.msiを使用 )。
  • 互換性の問題がある場合はweb.configを変更してください( ここで説明 )。

幸運を!

0
Emanuele Greco

C#.Net WebアプリケーションをWindows 2003から2012に移行するときに同じエラーが発生しました。

システムにAdobe Readerがインストールされているかどうかを確認します。 Adobe Readerがインストールされた後、Webアプリケーションはレポートの表示を開始しました。

0
Ralph Hightower