2013-07-18 91 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