regsvr32
regsvr32
(Register Server)是Microsoft Windows作業系統底下的指令,用來對COM檔和ActiveX檔做註冊及反註冊的動作,使之反應在登錄檔中。但搭配 regsvr32.exe 使用的 DLL,或者提供 DllRegisterServer
和 DllUnregisterServer
兩個輸出函式,或者提供DllInstall
輸出函數(可接受命令行參數)。
使用方式
regsvr32 foo.dll
:註冊 foo.dll
regsvr32 /u foo.dll
:反註冊 foo.dll
regsvr32 /i:"my_cmd_string" dllname.dll
:註冊dllname.dll
regsvr32 /u /i:"my_cmd_string" dllname.dll
:反註冊 dllname.dll
參數說明
Regsvr32 [/u] [/n] [/i[:cmdline]] dllname
/u – 反註冊
/i – 調用DllInstall帶有可選參數[cmdline],第一個參數值為TRUE;當和/u一起使用時調用DllInstall,帶有可選參數[cmdline],第一個參數值為FALSE.
/n – 不調用DllRegisterServer或DllUnregisterServer;該參數必須和/i一起使用; 如果沒有/n,則/i在調用DllInstall時還調用了DllRegisterServer或DllUnregisterServer
/s – 靜默模式;不顯示對話框(Windows XP和Windows Vista中新增選項)
但要注意,如果目前目錄和預設系統目錄(C:\windows, C:\windows\system32)都有名為 foo.dll 的檔案,那麼,regsvr32 只會用系統目錄下的檔案,而不會用目前目錄下的檔案。解決辦法是加上全路徑,例如 c:\temp\foo.dll;或是使用底下語法:
regsvr32 .\foo.dll
參閱
- Microsoft TechNet 關於 Regsvr32 的文章(頁面存檔備份,存於網際網路檔案館)
- 微軟知識庫249873(頁面存檔備份,存於網際網路檔案館)
- Explanation of Regsvr32 Usage and Error Messages(頁面存檔備份,存於網際網路檔案館)
- INFO: How Regsvr32.exe Registers and Unregisters COM DLLs(頁面存檔備份,存於網際網路檔案館)
- WinTasks: regsvr32.exe - Process Information
- C# Frequently Asked Questions: What is the equivalent to regsvr32 in .NET?(頁面存檔備份,存於網際網路檔案館)