線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:818
推到 Plurk!
推到 Facebook!

微軟要終結DLL問題

 
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-25 10:24:31 IP:61.218.xxx.xxx 未訂閱
微軟要終結DLL問題 CNET新聞專區:Matt Loney 07/03/2003    根據微軟表示,Windows Server 2003將終結一項讓Windows使用者與管理者頭痛的問題。     「動態連結庫」(DLL/ Dynamic Link Libraries)是一種可以讓不同應用程式共享的軟體模組,過去幾年以來一讓使用者相當頭大。     問題通常發生在所安裝的軟體使用的是更新版的動態連結庫(或DLL),而該DLL原本還有另一應用程式在使用時。如果原有的程式無法與更新版的DLL相容,使用者就會得到錯誤訊息。Windows及應用程式並不知道DLL版本號碼,因此問題發生時很難追查。     過去以來,有些元件之所以會以分享的方式處理,是因為磁碟空間及記憶體都相當寶貴,但過去幾年以來,硬碟及記憶體的價格都已大幅滑落,磁碟空間不再是昂貴的東西。然而,隨著應用程式越來越龐大且具有模組性(不久之前許多應用都完全自有獨立的.exe檔),因此分享DLL的問題尚未解決,問題也因此與日俱增。現在微軟希望在Windows Server 2003裡建立一種系統,來防止新應用程式所更新的DLL檔覆蓋掉舊版的同一個DLL,舊DLL可被原有的應用程式所用,藉此來終結所謂的「DLL煉獄」(DLL Hell)問題。     微軟的.Net與開發工具暨技術經理Ivo Salmre對ZDNet UK表示,「這是個很傳統的問題。」「多年來我們一直被這個問題叮得滿頭包。你出貨的應用程式裡用的是原件A,另一個人也用到了原件A來撰寫應用程式,但安裝的是更新的版本,但卻因此破壞了原先的應用程式。」     微軟的.Net 1.1是新版Windows Server 2003作業系統不可缺的一環,將支援微軟所謂的「硬性連結」(strong binding)。Salmre表示,「硬性連結的意思是,應用程式或元件可以連結到另一元件的專有版本,所以你可以再使用元件,或者也可以獨立使用。」     .Net 1.1將提供微軟所謂的GAC(全域組合快取/ Global Assembly Cache )給Windows Server 2003作業系統,這個快取是在某台電腦上全域分享的所有.Net元件的一個儲藏庫。「當.Net元件安裝到電腦裡時,GAC就會看它的版本、公鑰,語言資訊,並為元件建立一個硬性的名稱。」Salmre表示,接著元件會被登錄到儲藏庫裡,並以它的硬性名稱來建立索引,因此,至少在理論上相同元件及DLL的不同版本之間就不會混淆不清了。     Windows 2003 Server還會使用一些法則來確保應用程式可以找到適當的元件(以及相對應的版本)。系統會首先尋找元件的區域端(local)版本,然後再到快取裡去比對所需元件的精確硬性名稱。如果失敗時,系統將會另尋下一個較適合的元件,但其預設值則是,應用程式一定是執行它所建立的元件,並進行測試。     Windows Server 2003還有另一特色,就是.Net元件將不再有登錄(registration)政策。他說,「這意謂著要把.Net元件放到伺服器或複製到另一台伺服器裡將會更容易。」他說,微軟目前把這種功能稱作xcopy部署,這是繼承自DOS裡把檔案、目錄,甚至整個磁碟內容從一個磁碟複製到另一目標磁碟的指令。Salmre表示,「也就是說,你可以複製整個應用程式,而不見得要用重新安裝的方式。」「整個過程會變得很簡單。」              
系統時間:2024-05-13 17:06:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!