當你得到一個錯誤,說Windows找不到一個特定的DLL檔案,它可以是非常誘人的下載檔案從眾多的DLL網站之一。這就是為什麼你不應該。
相關:什麼是rundll32.exe?它為什麼執行?
在我們開始討論為什麼不應該從Internet下載動態連結庫(DLL)檔案之前,讓我們先看看什麼是DLL檔案。DLL檔案是一個庫,其中包含一組程式碼和資料,用於在Windows中執行特定活動。應用程式可以在需要執行這些活動時呼叫這些DLL檔案。DLL檔案與可執行檔案(EXE)非常相似,只是DLL檔案不能在Windows中直接執行。換句話說,你不能雙擊一個DLL檔案來執行它,就像你雙擊一個EXE檔案一樣。相反,DLL檔案被設計成由其他應用程式呼叫。事實上,它們被設計成同時被多個應用程式呼叫。DLL名稱的“link”部分還表明了另一個重要方面。可以將多個DLL連結在一起,以便在呼叫一個DLL時,也可以同時呼叫多個其他DLL。
Windows本身大量使用DLL,透過C:\Windows\System32資料夾可以瞭解到這一點。作為我們討論的一個示例,讓我們考慮一下Windows系統檔案“comdlg32.dll”。這個檔案,也稱為公共對話方塊庫,包含用於構建許多在Windows對話方塊中看到的公共對話方塊的程式碼和資料,例如開啟檔案、列印文件等。這個DLL中的指令處理從接收和解釋對話方塊的訊息到指定對話方塊在螢幕上的外觀的所有事情。顯然,多個應用程式可以同時呼叫此DLL,否則您將無法一次在多個應用程式中開啟對話方塊(如下面的對話方塊)。
dll允許程式碼模組化和重用,這意味著開發人員不必花時間從頭開始編寫程式碼來執行普通的或通用的功能。雖然開發人員會建立自己的DLL來安裝他們的應用程式,但絕大多數應用程式呼叫的DLL實際上是與Windows捆綁在一起的,或者是額外的包,比如微軟.NETFramework或微軟C++重新分發表。這種模組化程式碼的另一大優點是,更新更容易應用於每個DLL,而不是整個應用程式,特別是當那些DLL不是來自應用程式的開發人員時。例如,當Microsoft在其.NET Framework中更新某些DLL時,所有使用這些DLL的應用程式都可以立即利用更新的安全性或功能。
相關:什麼是Microsoft.NET Framework,為什麼要安裝在我的電腦上?
所以,只要稍微瞭解一下我們的腰帶下的DLL,為什麼不在系統中缺少DLL時從Internet下載它們呢?
下載的DLL最常見的問題是它們過時了。很多DLLs網站都是透過從自己或使用者的電腦上傳來獲取dll的。你可能已經看到問題了。大多數這些網站只需要你的流量,一旦上傳了一個動態連結庫,他們就沒有動力確保檔案保持最新。此外,供應商通常不會將更新的dll作為單獨的檔案向公眾釋出,而且您可以看到,即使是試圖保持檔案最新的站點也不太可能成功。
還有一個更進一步的問題,DLL通常被整合到包中。對一個包中的一個DLL的更新通常伴隨著對同一個包中其他相關DLL的更新,這意味著即使在不太可能的情況下,您確實獲得了一個最新的DLL檔案,您也不會獲得也已更新的相關檔案。
雖然不太常見,但一個潛在的更糟糕的問題是,從供應商以外的其他來源下載的DLL有時可能會載入病毒或其他惡意軟體,從而感染您的電腦。這一點在那些不太小心從何處獲取檔案的網站上尤其如此。而且這些網站也不會特意告訴你他們的風險來源。真正可怕的是,如果你下載了一個受感染的DLL檔案,你的風險就在於DLL檔案的本質,它提供了比普通受感染檔案更深入的訪問許可權。
相關:什麼是Windows10最好的防病毒軟體?(Windows Defender足夠好嗎?)
好訊息是,一個好的實時防病毒應用程式通常可以在這些被感染的DLL檔案實際儲存到您的系統之前檢測到它們,並防止它們造成任何損害。不過,您必須記住,即使是一個偉大的防病毒程式可能無法為您提供完美的保護。如果你養成了下載危險檔案的習慣,它很可能會在某個時候趕上你。最好不要使用這些DLL站點。
雖然你電腦上可能只有一個DLL檔案被損壞或刪除,但更有可能的是其他DLL或相關應用程式檔案也被損壞或丟失。你得到一個特定檔案錯誤的原因是,這是一個應用程式崩潰前遇到的第一個錯誤,你只是沒有被通知其餘的。無論問題的原因是什麼,這都是正確的。
相關:壞扇區解釋:為什麼硬碟驅動器得到壞扇區和你能做什麼
為什麼DLL會丟失或損壞?可能是另一個錯誤的應用程式或更新嘗試替換檔案失敗,或者用過期的副本替換。這可能是安裝主應用程式或.NET之類的軟體包時出錯。它甚至可能是你有另一個問題,如壞扇區在你的硬碟上,阻止檔案正確載入。
確保獲得一個穩定、最新和乾淨的DLL的唯一方法是透過它的原始碼獲取它。通常,該來源為:
相關:如何在Windows中掃描(和修復)損壞的系統檔案
如果所有這些都失敗了,您可以聯絡應用程式供應商並請求單個DLL檔案的副本。有些公司對這一要求持開放態度,有些則不然。如果你遇到一家不提供個人檔案的公司,他們至少可以為你提供解決問題的其他建議。
... 你有沒有想過為什麼會這樣?讓我們來探討一下PDF是如何工作的,為什麼它們很重要,以及它們仍然如此受歡迎的原因。 ...
...記憶猶新。 相關報道:windows95 25歲:當Windows成為主流時 什麼是微軟鮑勃? 在最基本的層面上,microsoftbob是典型桌面介面的替代品。你的桌面不是一列圖示和一個開始選單,而是一個虛擬的房間。每個使用電腦的人都可以建立...
上個月,我給自己買了一臺“新”Mac,只花了我50美元。最便宜的蘋果電腦(macmini)售價799美元,是我的16倍,這怎麼可能呢? 因為我從2003年買了一本舊的12英寸iBook,在800 MHz G4 PowerPC處理器的蒸汽上執行一個過時的MacOSX版本。...
...應該這樣做,如果你嘗試的話,我們會告訴你到底發生了什麼。 什麼是system32資料夾(the system32 folder)? 位於C:\Windows\System32的System32資料夾是所有現代版本Windows的一部分。它包含Windows正常執行所需的重要作業系統檔案。 這個...
...stem32還是充滿了64位檔案,SysWOW64則充滿了32位檔案。那是什麼原因呢? 什麼是系統32(system32)? 相關:什麼是DLL檔案,為什麼我的電腦上少了一個? System32目錄包含Windows系統檔案,包括程式使用的.DLL庫檔案和作為Windows一部分...
...案,和是Windows 10作業系統的一部分。 相關:這個過程是什麼?為什麼它在我的電腦上執行? 這篇文章是我們正在進行的系列文章的一部分,解釋了工作管理員中的各種過程,比如執行時代理,主程序, dwm.exe檔案, 輸入法,rundll3...
...更早版本的Windows上都可以看到它們。 相關:這個過程是什麼?為什麼它在我的電腦上執行? 這篇文章是我們正在進行的系列文章的一部分,解釋了工作管理員中的各種過程,比如執行時代理,主程序, dwm.exe檔案, 輸入法,rundll3...
...ameHost.exe是Windows10作業系統的一部分。 相關:這個過程是什麼?為什麼它在我的電腦上執行? 這篇文章是我們正在進行的系列文章的一部分,解釋了工作管理員中的各種過程,比如執行時代理,主程序, dwm.exe檔案, 輸入法,rundll...
...上使用大量CPU資源,則會出現問題。 相關:這個過程是什麼?為什麼它在我的電腦上執行? 這篇文章是我們正在進行的系列文章的一部分,解釋了工作管理員中的各種過程,比如執行時代理,主程序, dwm.exe檔案, 輸入法,rundll32...
...執行,它負責一些重要的系統功能。 相關:這個過程是什麼?為什麼它在我的電腦上執行? 本文是我們正在進行的系列文章的一部分,該系列文章解釋了taskmanager中的各種流程,如主程序, dwm.exe檔案, 輸入法, mDNSResponder.exe,rundl...