在開啟很多程序的時候,會出現(xiàn)MSVxxxxx.dll缺失或無法正常運行的警告(圖1),其中多合有數(shù)字如100、110、120等。這一信息的前幾個字母其實說明它來自MicroSoftVisual C++的一部分,其中dll文件是Windows的動態(tài)鏈接庫文件,這些文件主要負責(zé)在不同程序之間共享的特定操作。
這些dll文件都歸屬于一個所謂的Microsoft Visual C++“運行庫”,其中包含很多共享組件,使用Microsoft Visual C++語言編譯的應(yīng)用程序無需自帶相應(yīng)功能,直接調(diào)用這些組件,一旦調(diào)用失敗就會報警。
筆者并不建議大家按照某些文章建議的去尋找單個dll文件拷入本機,第一是因為錯誤信息中的dll文件可能在多個位置;第二是在程序卸載、病毒侵擾時破壞的常常不是一個文件而是多個類似的文件;第三則是文件可能存在版本匹配問題。所以單獨拷貝文件很可能無法解決問題,或者拷入了MSVR120.dll,再出現(xiàn)MSVCP110.dll錯誤(圖2),拷入MSVCP110.dll又出現(xiàn)MSVCR100.dll錯誤等等。
在這種情況下,筆者建議大家直接安裝完整的Visual C++軟件包來解決問題,并且強烈建議從微軟網(wǎng)站下載官方安裝包(https:∥support.microsoft.com/zh-cn/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package)。
與MicroSoft Visual C++相關(guān)的錯誤信息還有不少,其中有些在錯誤欄上直接標注有錯誤來源(圖3),很容易分辨,而其他也大多可以從出錯的文件名稱搜索到其歸屬。
在運行各種程序時,.net Framework錯誤信息(圖4)也是很常見的。.net一詞會讓很多用戶會誤以為這是與網(wǎng)絡(luò)有關(guān)的錯誤信息,其實它是一種安全性框架(Framework),讓應(yīng)用程序的代碼在一定程度上可以得到信任,同時又不會帶來安全問題。
遇到這種警告后,可以從https:∥dotnet.microsoft.com/download下載最新或錯誤信息要求的.net Framework版本安裝包。此外在Windows系統(tǒng)更新的時候也會自動升級這些組件(圖5),如果是使用Windows手動更新的話,注意將它們的更新“放行”即可。
DirectX是一種多媒體組件,在圖形和游戲音效處理中負責(zé)硬件、驅(qū)動程序、軟件、游戲之間的聯(lián)系。它是玩家最熟悉的錯誤信息,偶爾也會在啟動一些多媒體應(yīng)用時出現(xiàn),甚至因為Windows自身越來越復(fù)雜的圖形需求,可能會在開機或使用一些系統(tǒng)功能時跳出DirectX錯誤信息(圖6)。
由于Windows本身的界面效果已經(jīng)需要DirectX進行支持,所以DirectX 10之后的版本均集成在操作系統(tǒng)中,基本上成為了Windows的基本組件。那么為什么還會出現(xiàn)DirecX錯誤呢?
其實原因不外乎以下幾個,首先是隨著DirectX版本的不斷升級,它越來越龐大復(fù)雜,也需要拋棄一些老舊過時的內(nèi)容,因此一些較早的游戲可能和操作系統(tǒng)中集成的DirectX并不兼容;其次是DirectX中也有不少病毒“喜愛”的dll文件,可能會因為病毒和殺毒造成失效(圖7);最后則可能是某些游戲或者應(yīng)用自身存在問題,無法正常使用這些組件,并非是系統(tǒng)中缺少這些DirectX文件。
對于前兩項來說,我們可以手動考慮下載并安裝最后一個版本的官方DirecX安裝包(https:∥www.microsoft.com/zh-cn/download/details.aspx?id=35),各大游戲網(wǎng)站也會提供一些剝離的DirecX 10/11甚至12安裝包。此外最好選擇正規(guī)途徑下載游戲的完整安裝文件并正確安裝,不要使用綠色版、精簡版,以保證游戲與系統(tǒng)的良好契合。
此外,我們還可能會碰上安裝文件時彈出警告無法繼續(xù),某些并非系統(tǒng)組件的文件突然消失等問題。前者除了下載不完全外,還可能是因為系統(tǒng)權(quán)限問題,右鍵點擊,選擇菜單中的“以管理員方式運行”即可。后者則常常是因為病毒影響或殺毒軟件誤殺所致,可以在Windows 10自帶的安全中心或安裝的第三方殺毒軟件中尋找近期是否屏蔽了相關(guān)文件,如果確信無毒或緊急需要,可以暫時將其“還原”后謹慎使用。