|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2005-12-13, 06:40 PM | #1 (permalink) |
榮譽會員
|
Regsvr32 用法和錯誤消息的說明
對於那些可以自行註冊的對象連接和嵌入 (OLE) 控件,例如動態連接庫 (DLL) 文件或 ActiveX 控件 (OCX) 文件,您可以使用 Regsvr32 工具 (Regsvr32.exe) 來將它們註冊和取消註冊。
Regsvr32.exe 的用法 RegSvr32.exe 具有以下指令行選項: Regsvr32 [/n] [/i[:cmdline]] dllname /u - Unregister server<BR/> /i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll uninstall /n - do not call DllRegisterServer; this option must be used with /i 當您使用 Regsvr32.exe 時,它會嘗試載入該群組件並使用它的 DLLSelfRegister 函數。如果此嘗試成功,Regsvr32.exe 會顯示一個指示成功的對話視窗。如果此嘗試失敗,Regsvr32.exe 會返回一條錯誤消息,其中可能會包括一個 Win32 錯誤程式碼。要檢視 Win32 錯誤程式碼的列表,請參見下面的 Microsoft Web 站點: http://msdn.microsoft.com/librar ... n32_error_codes.asp 例如,要手動註冊 Sample.ocx ActiveX 控件,請在 MS-DOS 提示號處按鍵輸入以下指令: c:\regsvr32.exe sample.ocx 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 |
__________________ |
|
送花文章: 3,
|
2006-05-21, 09:26 PM | #2 (permalink) |
榮譽會員
|
Regsvr32 常用最佳化
-------------------------------------------------------------------------------- Regsvr32是一個Windows系統的內嵌程序,不僅存在於Windows 2000 / XP / 2003下,同時也能在98中找到它的身影。它的主要功能就是註冊或卸載動態連接庫文件(DLL)和嵌入式控件(OCX) Regsvr32指令一共有四個參數,分別是: /s:註冊或卸載成功後不顯示操作成功的提示項 /u:卸載已安裝的控件或DLL文件 /n:不使用DLLRegisterServer,要注意這個參數應與/i一同使用 /i:使用DLLInstall,並給其傳送一個可選的[ cmdline ];當使用/u時用來卸載DLL Regsvr32 /u shimgvw.dll 卸載圖片和傳真檢視器 Regsvr32 /u zipfldr.dll 卸載ZIP資料夾顯示功能 Regsvr32 /u cabview.dll 卸載CAB檔案支持 Regsvr32 /u shmedia.dll 卸載影像預覽功能 Regsvr32 /u wmpdxm.dll 卸載網頁用WMP播放媒體功能 去除安裝msn8後 我的電腦 中出現的資料夾 regsvr32 /u C:\PROGRA~1\MSNMES~1\fsshext.dll 去掉/U參數,如Regsvr32 shmedia.dll 又可以將影像預覽功能重新註冊上。依此類推 |
送花文章: 3,
|