天天看點

ukey網絡連接配接異常_連接配接UKEY裝置失敗如何解?電子支付OCX – 手機愛問

Regsvr32的用法和錯誤資訊

對于那些可以自行注冊的對象連結和嵌入 (OLE) 控件(例如動态連結庫 (DLL) 檔案或 ActiveX 控件 (OCX) 檔案),您可以使用 Regsvr32 工具 (Regsvr32。exe) 來将它們注冊和取消注冊。 這對于解決 Windows、Microsoft Internet Explorer 或其他程式的某些問題可能是必要的。例如,以下 Microsoft 知識庫文章要求您在從 Windows Update 網站重新安裝 Wuv3is。 dll 控件之前,首先使用 Regsvr32。exe 将該控件取消注冊:

Microsoft Internet Explorer 3。...全部

對于那些可以自行注冊的對象連結和嵌入 (OLE) 控件(例如動态連結庫 (DLL) 檔案或 ActiveX 控件 (OCX) 檔案),您可以使用 Regsvr32 工具 (Regsvr32。exe) 來将它們注冊和取消注冊。

這對于解決 Windows、Microsoft Internet Explorer 或其他程式的某些問題可能是必要的。例如,以下 Microsoft 知識庫文章要求您在從 Windows Update 網站重新安裝 Wuv3is。

dll 控件之前,首先使用 Regsvr32。exe 将該控件取消注冊:

Microsoft Internet Explorer 3。0 或更高版本、Windows 95 OEM Service Release 2 (OSR2) 或更高版本以及 Windows NT 4。

0 Service Pack 5 (SP5) 或更高版本中提供了 Regsvr32。exe。Regsvr32。exe 安裝在 System (Windows Me/98/95) 或 System32 (Windows NT) 檔案夾中。

Regsvr32。exe 的用法

RegSvr32。exe 具有以下指令行選項:

Regsvr32 [/u] [/n] [/i[:cmdline]] dllname

/u - Unregister server

/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 網站:

http://www。microsoft。com/technet/treeview/default。asp?url=/technet/support/eventserrors。

asp (http://www。microsoft。com/technet/treeview/default。asp?url=/technet/support/eventserrors。asp)

例如,要手動注冊 Sample。

ocx ActiveX 控件,請在 MS-DOS 提示符處鍵入以下指令:

c:\regsvr32。exe sample。ocx

Regsvr32。exe 錯誤資訊

以下清單介紹了 RegSvr32 錯誤資訊和可能的原因。

無法識别的标志:/invalid_flag

鍵入的标志或開關組合無效(請參閱本文中的“Regsvr32。exe 的用法”一節)。

沒有指定 DLL 名。

未添加 。dll 檔案名(請參閱本文中的“Regsvr32。

exe 的用法”一節)。

Dllname 已經載入,但未發現 DllRegisterServer 或 DllUnregisterServer 入口點。

Dllname 不是 。dll 或 。ocx 檔案。

例如,鍵入 regsvr32 wjview。exe 就會生成該錯誤資訊。

Dllname 不是一個可執行檔案,沒有登記這種檔案類型的注冊幫助程式。

Dllname 不是可執行檔案(。exe、。

dll 或 。ocx)。例如,鍵入 regsvr32 autoexec。bat 就會生成該錯誤資訊。

Dllname 已經載入,但未發現 DllRegisterServer 或 DllUnregisterServer 入口點。

Dllname 可能沒有導出,或記憶體中存在已損壞的 Dllname 版本。建議使用 Pview 來檢測該檔案并删除它。

Dllname 無法自行注冊,或記憶體中存在已損壞的版本。

例如,鍵入 regsvr32 icwdial。

dll 後就會傳回該錯誤資訊,因為 Icwdial。dll 檔案不能自行注冊。如果您懷疑記憶體中有損壞的 Dllname 版本,請嘗試重新啟動計算機,或重新提取該檔案的原始版本。如果您運作的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4。

0 資源工具包 中的 Kill 或 Pview 工具。有關其他資訊,請單擊以檢視以下 Microsoft 知識庫文章:

197155 (http://support。microsoft。com/kb/197155/) 如何終止孤立程序

OleInitialize 失敗(或 OleUninitialize 失敗)。

Regsvr32 必須先初始化 COM 庫,然後才能調用所需的 COM 庫函數并在關閉時撤消對該庫的初始化。如果嘗試對 COM 庫進行初始化或撤消初始化時失敗,就會出現這些錯誤資訊。比方說,Ole32。

dll 檔案可能已經損壞,或者其版本有誤。

LoadLibrary("Dllname") 失敗。GetlastError 傳回 0x00000485

在 Winerror。h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到運作該應用程式所需的某個庫檔案”。

例如,鍵入 regsvr32 missing。dll 後,如果找不到 Missing。dll 檔案,就會傳回該錯誤資訊。

LoadLibrary("Dllname") 失敗。GetLastError 傳回 0x00000002

在 Winerror。

h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系統找不到指定的檔案”。換言之,系統找不到相關的 DLL。例如,如果鍵入 regsvr32 icwdial。

dll,而此時缺少 Tapi32。dll(依賴項),就會傳回該錯誤資訊。

LoadLibrary("dskmaint。dll") 失敗。GetLastError 傳回 0x000001f

在 Winerror。

h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系統上的裝置不能正常工作”。如果您嘗試注冊 Win16 。dll 檔案,就會發生此現象。例如,鍵入 regsvr32 dskmaint。

dll 會傳回該錯誤資訊。

Dllname 中的 DllRegisterServer(或 DllUnregisterServer)失敗。傳回代碼是:string

在 Winerror。h 中搜尋 string。

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。收起