Problem solve Get help with specific problems with your technologies, process and projects.

REGSVR32 replacement provides detailed error messages

Admins use the REGSVR32 command-line tool to manually register COM components, as well as register or deinstall components with Windows. But REGSVR32 doesn't provide much in the way of error codes, so if something goes wrong, it makes a component registration failure hard to debug. Now there's a replacement for REGSVR32 that does provide detailed error messages.

Most admins have dealt with REGSVR32 at one time or another. It's a command-line tool they can use to manually register COM and COM+ components with a Windows system—DLLs, mainly—and it can also be used as a quick and dirty way to register or deinstall components with Windows.

But one of the drawbacks to REGSVR32 is that it is irritatingly uninteractive: If something goes wrong, it doesn't return much in the way of useful information, so it makes a component registration failure difficult to debug.

Programmer Shawn A. Van Ness decided to do something about this. He wrote a replacement for REGSVR32, called Reggie 1.0, which provides detailed error messages when a component doesn't register correctly. It can also return detailed error codes back to the command line for processing by scripts and batch commands, and it can be re-used freely in an installation kit. (There are no licensing restrictions on the program).

Like REGSVR32, Reggie accepts the name of a component—a DLL, OCX, EXE. TLB or RGS file—as its main argument. For a silent install (meaning no "success" notification), pass the -q switch on the command line; to uninstall a given component, use -u.

Note: Attempting to register an EXE file that is not a COM server will produce an error prompt, and you'll be asked to kill it after several seconds if it is still running.

There are some key differences between Reggie and REGSVR32. For one, you must supply a full pathname to the component in question; Reggie will not search your file path (as specified in the PATH environment variable) for the file. This prevents Reggie from stumbling across and accidentally registering a completely different version of the component that might be somewhere else in the path. Granted, it means that much more footwork, but it also means that much less chance of installing the wrong thing.

Reggie also does not support the DllInstall entry point (which is supported by REGSVR32 via the /i command-line switch), but the author says he might add it in a future release.

About the author: Serdar Yegulalp is editor of the  Windows Power Users Newsletter, which is devoted to hints, tips, tricks, news and goodies for Windows NT, Windows 2000 and Windows XP users and administrators. He has more than 10 years of Windows experience under his belt, and contributes regularly to and

More information on this topic:

Dig Deeper on Windows Server troubleshooting

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.