2012年7月12日 星期四

Regsvr32 指令

Regsvr32 指令

http://liumangtu517.blog.hexun.com.tw/16744234_d.html

這個命令行工具將 dll 文件註冊為註冊表中的命令組成。



語法

regsvr32 [/s] [/n] [/i[:cmdline]] dllname 其中dllname為activex控件文件名,建議在安裝前拷貝到system文件夾下。

參數

/u
反註冊控件

/s
指定 regsvr32 安靜運行,且不顯示任何消息框。

/n
指定不調用 DllRegisterServer。此選項必須與 /i 共同使用。

/i:cmdline
調用 DllInstall 將它傳遞到可選的 [cmdline]。在與 /u 共同使用時,它調用 dll 卸載。

dllname
指定要註冊的 dll 文件名。

/?
在命令提示符顯示幫助。

例:
要為“Active Directory Schema”註冊 .dll,請在 MS-DOS 提示符處鍵入以下命令:

c:\regsvr32 schmmgmt.dll

Regsvr32是系統文件
很多朋友都用過Windows系統下提供的regsvr32.exe這個命令。不要瞧不起這個小命令。有時候它可能幫你解決大問題。

一、 輕松修復IE瀏覽器 很多經常上網的朋友都有過這樣的經歷:IE不能打開任何新的窗口,。用鼠標點擊超聯接也沒有任何的反應。這是一般情況下需要重新啟動機器或者重新安裝IE 就能解決問題。其實根本沒這麽 麻煩,使用regsvr32.exe命令就可以輕松搞定。在開始---運行裏輸入“regsvr32.exe actxprxy.dll”回車 確定;再次輸入運行Regsvr32.exe shdocvw.dll”回車。重新啟動計算機後IE被輕松修復。上網一切正常如初。

二、解決windows無法在線升級的問題 windows漏洞很多。每隔一段時間都需要使用windows update來升級自己的系統。可這個程序總是出現無法使用的情況。這個時候使用regsvr32.exe有可以幫助我們解決這個問題。開始---運行 --輸入regsvr32.exe wupdinfo.dll回車。這是系統重新註冊了Update的組件。重新啟動機器後有可以升級你的系統。

三、 卸載 WIN XP中的雞肋功能 XP系統中有的服務不僅占用系統資源嚴重,而且功能要強不強,要弱不弱。根本不如一些專業的軟件來的方便。比如它的圖片予覽功能和ZIP壓縮功能。這個時 候我們就可以使用regsvr32.exe工具來卸載掉這些雞肋。開始--運行---輸入regsvr32.exe /u zipfldr.dll就可以卸載掉功能。如以後需要這個功能,只需要再次輸入regsvr32 zipfldr.dll即可。同樣,開始-運行---輸入regsvr32.exe /u thumbvw.dll就可以卸載掉圖片予覽功能。需要恢復時輸入regsvr32 thunbvw.dll

四、防範網絡腳本病毒有新 招 網絡腳本病毒會在你瀏覽網頁的同時不知不覺的被感染。這種病毒有時候一般的殺毒軟件根本查不到。其實這種病毒很多情況下都是調用了FSO對象(file system object文件系統對象)。因此我們只需要禁止FSO就可以有效的防止這種病毒的傳播。操作的方法也很簡單。開始-運行--輸入 “regsvr32.exe /u scrrun.dll就可以禁用FSO。需要時輸入regsvr32.exe scrrun.dll即可。 相信很多朋友看見上面的介紹多少對regsvr32.exe都有了一些了解。其實這個命令是windows中控件文件(擴展名為.dll ,.ocx,.cpl)的註冊和反註冊工具。這個命令在WIN98下的位置在/WINDOWS/SYSTEM中。其實一般情況下,所謂的註冊的意義就是把 一些控件文件放在它應該在的位置上(不嚴格的說)。而有一些系統的控件或者其它情況下用這個命令就方便的多。關於這個命令的參數,請大家參考此貼的第一個 圖。一般情況下只用到/U這個參數。

Regsvr32.exe 錯誤消息
以下列表介紹了 RegSvr32 錯誤消息和可能的原因。
Unrecognized flag:/invalid_flag
鍵入的標誌或開關組合無效(請參閱本文中的“Regsvr32.exe 的用法”一節)。
No DLL name specified.
未包括 .dll 文件名(請參閱本文中的“Regsvr32.exe 的用法”一節)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 不是 .dll 或 .ocx 文件。例如,鍵入 regsvr32 wjview.exe 就會生成該錯誤消息。
Dllname is not an executable file and no registration helper is registered for this file type.
Dllname 不是可執行文件(.exe、.dll 或 .ocx)。例如,鍵入 regsvr32 autoexec.bat 就會生成該錯誤消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 可能未導出,或者內存中可能有損壞的 Dllname 版本。請考慮使用 Pview 來檢測該文件並刪除它。
Dllname is not self-registerable or a corrupted version is in memory.
例 如,鍵入 regsvr32 icwdial.dll 後就會返回該錯誤消息,因為 Icwdial.dll 文件不能自行註冊。如果您懷疑內存中有損壞的 Dllname 版本,請嘗試重新啟動計算機,或重新提取該文件的原始版本。如果您運行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 資源工具包 中的 Kill 或 Pview 工具。有關其他信息,請單擊以查看以下 Microsoft 知識庫文章:
197155 如何終止孤立進程
OleInitialize failed (or OleUninitialize failed).
Regsvr32 必須先初始化 COM 庫,然後才能調用所需的 COM 庫函數並在關閉時撤消對該庫的初始化。如果對 COM 庫進行初始化或撤消初始化的嘗試失敗,就會出現這些錯誤消息。例如,Ole32.dll 文件可能已經損壞,或者其版本有誤。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485
在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到運行該應用程序所需的某個庫文件”。例如,鍵入 regsvr32 missing.dll 後,如果找不到 Missing.dll 文件,就會返回該錯誤消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002
在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系統找不到指定的文件”。換言之,系統找不到相關的 DLL。例如,如果鍵入 regsvr32 icwdial.dll,而此時缺少 Tapi32.dll(依賴項),就會返回該錯誤消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f
在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系統上的設備不能正常工作”。如果您嘗試註冊 Win16 .dll 文件,就會發生此現象。例如,鍵入 regsvr32 dskmaint.dll 會返回該錯誤消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代碼是:字符串
在 Winerror.h 中搜索字符串。
Regsvr32.exe 和依賴項
RegSvr32.exe 依賴於 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,還依賴於 Msvcrt.dll 和 Advapi32.dll 文件)。Regsvr32.exe 會加載您嘗試註冊或撤消註冊的文件及其所有依賴項。如果缺少必需的文件或者它們已損壞,該進程可能會失敗。
您可以使用 Depends.exe 來確定您嘗試註冊或撤消註冊的文件的依賴項。在 Microsoft Windows 98 資源工具包 和 Microsoft Windows NT 4.0 資源工具包 支持工具中都提供了 Depends.exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit

沒有留言:

張貼留言