筆者單位使用的辦公自動化系統(tǒng),基于傳統(tǒng)三層架構(gòu)開發(fā),即數(shù)據(jù)庫層、業(yè)務(wù)層和界面層,其中數(shù)據(jù)庫為Oracle,界面層為瀏覽器。辦公自動化系統(tǒng)界面比較友好,打開公文條目時,標簽顯示辦文處理表和公文正文。辦公自動化系統(tǒng)客戶端電腦需要安裝IE瀏覽器、Office套件和Office瀏覽器插件才能正常使用。這種瀏覽器插件嵌入顯示公文方式,減少了用戶鼠標操作次數(shù),一次點擊全部顯示,非常方便。
但是,它的缺點也顯而易見,加載公文顯示速度略慢,插件常被各類殺毒軟件和安全衛(wèi)士刪除,導(dǎo)致公文不能正常顯示,維護工作量巨大。因此,穩(wěn)定的IE瀏覽器環(huán)境,對辦公自動化系統(tǒng)的正常使用至關(guān)重要。
經(jīng)過研究和探討,使用RemoteApp可以避開客戶端多樣化的瀏覽器應(yīng)用,為用戶提供集成、統(tǒng)一、安全和穩(wěn)定的IE瀏覽器環(huán)境,可以減少客戶端故障。為此,筆者在VMWare Workstation虛擬機部署了Windows Server 2008 R2標準版服務(wù)器,展開一系列測試。
首先安裝了Office套件,配置好辦公自動化系統(tǒng)所需的瀏覽器工作環(huán)境。接著,添加、激活的遠程桌面服務(wù)。最后,通過RemoteApp發(fā)布IE瀏覽器,并生成了MSI終端安裝程序包。由于公文格式的比較特殊,規(guī)定使用小標宋和仿宋(實際大量應(yīng)用仿宋-GB2312)等字體,因此在服務(wù)器端也安裝了GB2312國標字體。
服務(wù)器部署完畢后,在終端用戶電腦安裝RemoteApp發(fā)布的IE瀏覽器程序包。運行遠程IE瀏覽器,通過安全認證,辦公自動化系統(tǒng)正常訪問,公文顯示正常。困擾多時的辦公自動化系統(tǒng)客戶端問題終于解決了,此時心里美滋滋的。當測試打印重定向功能時,瞬間崩潰,打印出來的公文標題正常,正文亂碼。是什么導(dǎo)致打印亂碼呢?
RemoteApp是Windows Server 2008遠程桌面服務(wù)特色功能之一,使用RDP協(xié)議,允許終端用戶通過遠程桌面服務(wù)訪問遠程應(yīng)用,這些遠程應(yīng)用就像在終端用戶本地電腦上運行一樣。經(jīng)遠程服務(wù)器RemoteApp發(fā)布的程序,我們稱之為RemoteApp程序。使用這些RemoteApp程序時,用戶無需登錄遠程桌面服務(wù)器,它們也不在遠程桌面服務(wù)器顯示,而是和終端用戶的桌面合為一體,以獨立窗口形式存在。
RemoteApp是Windows傳統(tǒng)終端服務(wù)升級擴展而來的。終端服務(wù)可以理解為遠程桌面,它以整個桌面為單位發(fā)布出來,終端用戶登錄發(fā)布出來的遠程桌面后,再使用各類遠程應(yīng)用或操控遠程資源。而RemoteApp與終端服務(wù)的整體桌面發(fā)布不同,它對應(yīng)用做精細化管理,按需逐一發(fā)布,并可生成MSI安裝包,供終端用戶安裝使用。RemoteApp也提供了資源重定向功能,方便終端用戶調(diào)用本地磁盤、打印機和各類接口設(shè)備等資源。終端服務(wù)打印重定向需要在服務(wù)器端安裝打印機驅(qū)動程序,如果多用戶多品牌多型號打印機,打印機驅(qū)動程序安裝一個也不能少,相對繁瑣;而RemoteApp令人耳目一新,無需安裝打印機驅(qū)動程序,自動重定向終端用戶打印機。
由于測試系統(tǒng)安裝在VMWare Workstation 12 Pro上,重新啟動Windows系統(tǒng),亂碼問題可能會得到解決。就在系統(tǒng)重啟之際,虛擬機右下角一閃而過一行提示:“在該系統(tǒng)上全局禁用了虛擬打印功能,不會為該虛擬機啟用此功能”。難道這會導(dǎo)致打印亂碼?是不是啟用該功能就可以正常打印?在VMWare“編輯”菜單打開“首選項”,選擇“設(shè)備”,勾選“啟用虛擬打印機”,重新啟動系統(tǒng),馬上試用RemoteApp打印功能,結(jié)果亂碼依舊。
是不是虛擬機不支持導(dǎo)致亂碼?物理服務(wù)器安裝Windows Server 2008 R2,也許問題會得到解決。好不容易騰出一臺服務(wù)器,安裝Windows Server 2008 R2,部署其他軟件和配置 RemoteApp后,打印還是亂碼。
既然不是虛擬機造成打印亂碼,那會不會是打印機造成的呢?在重新安裝Lenovo M7650DNF驅(qū) 動程序后,又將打印機更換為HP LaserJet Professional P1606dn,亂碼情況還是沒有改觀。
筆者通過搜索引擎和論壇發(fā)帖求助方式,最后在某論壇搜索到一則“葵花寶典”:終端客戶機安裝 .NET 3.0 +.NET 3.0 SP1后,重啟客戶機就可以正常重定向本地打印機了。于是安裝了整套.NET后,重啟電腦,奇跡還是沒有發(fā)生。
經(jīng)過前面多次失敗后,筆者重新整理思路,回到打印亂碼的公文文檔上來。既然該公文標題可以順利打印,說明RemoteApp打印重定向運行正常。經(jīng)過詳細分析,發(fā)現(xiàn)該公文標題字體是小標宋,正文字體是仿宋-GB2312,也許是不同字體差異造成亂碼情況發(fā)生。一番測試發(fā)現(xiàn),仿宋-GB2312字體打印亂碼,楷體-GB2312字體打印也是亂碼,只要選用國標字體,RemoteApp打印都會亂碼,應(yīng)該是國標字體與RemoteApp兼容性問題造成。果斷刪除服務(wù)器端已安裝的所有國標字體,RemoteApp打印不再亂碼,辦公自動化系統(tǒng)客戶端問題得到徹底解決。