regsvr32(Register Server)是Microsoft Windows作業系統底下的指令,用來對COM檔和ActiveX檔做註冊及反註冊的動作,使之反應在登錄檔中。但搭配 regsvr32.exe 使用的 DLL,或者提供 DllRegisterServerDllUnregisterServer 兩個輸出函數,或者提供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

參閱