這幾天又零星傳出災情,部分使用者在Windows Update後,回報原本的Reporting Service列印功能無法使用,按列印時出現以下訊息:

Unable to load client print control.
無法載入用戶端列印控制項

這是老問題了。觀察了網頁封包,確認問題出在RSClientPrint版本還是舊的FA91...這組。

httq://server/ReportServer/Reserved.ReportViewerWebControl.axd?ExecutionID=...&ControlID=...&Culture=127&UICulture=9&ReportStack=1&OpType=PrintHtml

<OBJECT ID="RSClientPrint" CLASSID="CLSID:FA91DF8D-53AB-455D-AB20-F2F023E498D3" CODEBASE="/ReportServer/Reserved.ReportViewerWebControl.axd?ExecutionID=...略...&amp;OpType=PrintCab#Version=2005,090,3042,00" VIEWASTEXT>

依照以前的經驗,安裝了SQL 2005 SP1 GDRReport Viewer SP1。本以為會藥到病除,但不知什麼原因,Microsoft.ReportingServices.Diagnostics.dll, ReportingServicesNativeServer.dll, ReportingServicesService.exe, ReportingServicesWebServer.dll, RSClientPrint.cab五個檔案日期並沒有更新成2008/8/5版本。

今天沒氣力去查出更新失效的原因,決定用霸王硬上弓法,從其他正常主機上Copy了這五個檔案的2008/8/5版,複製到C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\bin下,RSClientPrint版本便被強迫更新了:

<OBJECT ID="RSClientPrint" CLASSID="CLSID:41861299-EAB2-4DCC-986C-802AE12AC499" CODEBASE="/ReportServer/Reserved.ReportViewerWebControl.axd?ExecutionID=...&amp;OpType=PrintCab#Version=2005,090,3073,00" VIEWASTEXT></OBJECT>

雖然手法有點粗暴(沒辦法,我叫小賀),但問題解決囉~~

【延伸閱讀】


Comments

# by yuesha

那沒有這2008/08/05五個元件的話要怎麼解決呢?

# by Jeffrey

to yuesha, 不太能理解沒有元件的意思。是指根本找不到這五個元件還是找不到這五個元件的新版? 我的經驗是,按照延伸閱讀文章的說明安裝相關更新,理論上元件會換成新版,在少數主機會發生元件未更新的狀況(原因尚不明),此時可在其他主機上設法完成更新,再把元件複製過來。

Post a comment