Say goodbye to Regsvr32!! Shellextension for COM dlls, exes, ocx files

UPDATE: I have written a new ShellExtension which works for .Net assemblies also. See this Post for details : https://nishantpant.wordpress.com/2008/08/19/get-rid-of-regsvr32-regasm-gacutil-a-shellextension-for-net-and-com-dlls/

SHELL EXTENSION FOR COM DLLs, EXEs and OCX files

input.JPGshellextensiondll.txt (Right Click -> Save Target As –>Rename to .dll)

 shellextension.JPG

I developed this  shell extension for COM servers in 1997 but I am uploading it now. It works for COM objects residing in ocx, exe and dlls. It frees u from mundane tasks like executing regsvr32 from the command prompt to register unregister COM servers What it does in short is – it adds a context menu to exes and dlls (only if they are COM servers) when you right click on them. This context menu gives you 2 options :

Context menu extension

    1. Register EXE/Dll/Ocx server

    2. Unregister EXE/Dll/Ocx server

Secondly, it will also adds a drag drop menu extension whenever you right drag drop a COM server on any folder

This Drag drop menu extension has the following options.

    1. Move and register EXE/Dll/Ocx server here. (move will fail if the same file already exists in the destination folder)

    2. Copy and register EXE/Dll/Ocx server here. (copy will fail if the same file already exists in the destination folder)

Thirdly, it adds a property sheet extension to windows explorer. So when you right click and go to properties of a COM dll/exe/ocx, it will add a Tab call “typelibrary details”, which allows you to browse the complete typelib from withing explorer. Isnt that cool ?

Installation : Make sure you have Administrator priveleges. (to make registry changes)

1. Just copy it anywhere on your system. Easiest is to put it in windows or systems32 and do a regsvr32 (thats the last time you will need to do regsvr32 in your life after this)

NOTE : I have deliberately disabled the shell extension for EXE servers which are greater than 512K for performance reasons. I use a rather inelegant way to find out if a file is an exe server or not (by searching for RegisterClassObjects in the exe). Earlier what used to happen was that if the exe was very big and if it was on a CD then my program almost appeared to have hung. Hence this optimization.

Advertisements

2 thoughts on “Say goodbye to Regsvr32!! Shellextension for COM dlls, exes, ocx files

  1. Hi Nishant,

    Is there a way to modify this very useful utility so that it will also work on Directshow filter files, which have “.ax” extensions but are actually regular DLL files? When developing in Directshow, one has to regularly register/unregister these filters, and it quickly becomes a nuisance.

    Thanks –

    Ahmet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s