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

参阅