【问题标题】:Why does Crystal Reports throw a LoadSaveReportException in IIS7 but works in Cassini / desktop application?为什么 Crystal Reports 在 IIS7 中抛出 LoadSaveReportException 但在 Cassini / 桌面应用程序中有效?
【发布时间】:2010-01-18 13:44:39
【问题描述】:

我有一个方法可以加载 Crystal Reports 文件,设置适当的登录信息,然后生成 PDF。

ReportDocument rep = new ReportDocument();
rep.Load(...);

// Set table LogOnInfo

rep.ExportToStream(ExportFormatType.PortableDocFormat);

// Save the PDF to disk or return it as web request

这个确切的代码适用于两者

  1. 独立的 WPF 桌面应用程序
  2. 从 VS 启动的一个通过 Cassini 运行的 ASP.NET MVC 网站

但在将同一网站部署到 IIS7 时不起作用。它给出了一个相当无用的消息和堆栈跟踪。

尝试加载 Crystal Reports 运行时时出错。

水晶报表注册表 密钥权限不足或 Crystal Reports 运行时不是 正确安装。

请安装合适的水晶 可再分发的报告 (CRRedist*.msi),其中包含 Crystal Reports 运行时版本 (x86、x64 或 Itanium),即 必需的。请前往 http://www.businessobjects.com/support 了解更多信息。

异常详细信息:CrystalDecisions.CrystalReports.Engine.LoadSaveReportException:尝试加载 Crystal Reports 运行时时出错。

请注意,我使用的是 CR 2008 SP2,并且文件自 10.5 以来尚未命名为 CRRedist...,因此有人忘记在某处更新消息 :) Here is a list of all the CR runtimes.

那么为什么在上面列出的两种情况下运行引用相同程序集的相同代码会起作用,但在已部署的网站中却不起作用?

我发现this suggestion 为 IIS 用户授予对 temp 文件夹的写访问权限,而且 Crystal 运行时似乎确实在那里做了一些工作,但即使在给 IIS_IUSRIIS AppPool\DefaultAppPool full 之后我仍然遇到相同的错误访问%TEMP%

我还尝试更改应用程序池以使用我的帐户作为身份,但仍然收到相同的错误消息,因此我不相信这是权限问题。

【问题讨论】:

    标签: iis iis-7 crystal-reports


    【解决方案1】:

    事实证明,对于 10.5 之后的任何较新版本的 Crystal Reports(与 VS2008 捆绑的版本),都没有 64 位运行时。

    “简单”的解决方案是将应用程序池设置为 32 位,然后一切正常。

    找到更多解释here(以及预期的愤怒反应)

    【讨论】:

    • 我知道这是几年后的事了,但我现在正在努力解决这个问题,试图获得一个在 Windows 2003 R2 服务器上运行良好的 ASP.NET 2.0 应用程序(64-位)现在在 Windows 2008 R2 服务器上运行。我想知道的是如何使应用程序池成为 32 位?
    • @Rod For IIS 6 try 'cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”' 或 'cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/ Enable32bitAppOnWin64 1'
    【解决方案2】:

    您必须安装 CR 版本 13,下载 msm 并使用 VSS 构建安装程序。 Finalley 在您的服务器上执行安装程序(您构建)。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      相关资源
      最近更新 更多