2013-07-18 103 views
0

从我的WPF应用程序在Windows Server 2012的计算机上使用报表生成器3.0打开报表创建应用程序时为SQL Server 2012问题随着dfshim.dll

正如我workfound我得到错误的注册表项我删除注册表项dfshim.dll从下面的位置:[HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ App Paths \ dfshim.dll]。

之后,我没有得到任何错误,报告生成器打开罚款。

此注册表项的用途是什么?如果删除此条目,会有什么影响?我不删除dfshim.dll,但只删除注册表项。

任何帮助将不胜感激。谢谢

回答

0

dfshim.dll是微软的ClickOnce部署技术的一部分。我的猜测是ReportBuilder正在通过ClickOnce传播到客户端机器。查看我提到的密钥中的条目,我看到一个标题为UseUrl = 1(dword)的条目。我认为这意味着真实,并且可能与使用由ClickOnce指定的URL来启动应用程序有关。我怀疑,而不是删除密钥,如果您将其设置为0,您可能会达到相同的结果。 ClickOnce通常会尝试连接到主机URL,当启动应用程序以验证最新版本的应用程序在本地安装时发出请求。我怀疑删除此密钥是否会绕过网络检查并仅运行本地副本。

如果将鼠标悬停在ReportBuilder链接上,请记下它并尝试直接导航到它。如果应用程序未打开,则网络或防火墙问题可能导致此问题。

请检查您的事件查看器是否有任何错误日志。他们可以帮助分析问题。

您可能还想看看this微软连接帖子。

+0

感谢您的建议。我尝试通过设置UseUrl = 0,但没有成功。它仍然给出同样的错误。事件日志中没有任何内容。对不起,我忘记提到我的问题,该链接在Internet Explorer中正常工作,报告生成器打开。另外,我可以从报告管理器打开报告生成器。只有当我尝试从WPF应用程序打开报表生成器时才会出现此错误。下面是我的代码片段:System.Windows.Controls.WebBrowser wpfwb = new WebBrowser(); wpfwb.Navigate(new Uri(“http:// /ReportServer/ReportBuilder/ReportBuilder_3_0_0_0.application”)); – user2593847

+0

确保您已安装完整的.NET4运行时,而不仅仅是客户端。 – codechurn

+0

这是一个包含.NET Framework 4.5的Windows Server 2012。其中还包括.NET Framework 4.我试图重新安装[Microsoft .NET Framework 4(独立安装程序)](http://www.microsoft.com/en-us/download/details.aspx?id=17718),但它失败并显示以下错误消息 - Microsoft .NET Framework 4已经是此操作系统的一部分,并且此计算机上已经安装了相同或更高版本的.NET Framework 4。 – user2593847