How to check if a certain DLL is registered? Need RegSvr32 WITHOUT action
Hey guys, I have some questions I need to know about. I know how to register or un-register any specific DLL with the well-known RegSvr32 command. That’s fine. But I wanted to know how can I check after register or un-register if a certain DLL is already registered or not without any action? For example if I have two DLL file with the same name for example: D:\myproj\aaa.dll and D:\myproj\stable\aaa.dll. Here how can I come to know that how can I come to know if aaa.dll IS registered. Please help.
RE: How to check if a certain DLL is registered? Need RegSvr32 WITHOUT
First you need to know the name of the object you are looking for (you might have to search the registry for this). Using "C:\WINDOWS\System32\wshom.ocx" as an example (same thing for OCX/DLL) then you would search the registry under HKEY_CLASSES_ROOT and find out that "WScript.Network" is the name to look for.
Your script would read the CLSID (a.k.a. GUID a.k.a globally unique identifier)
from this key: HKEY_CLASSES_ROOT\WScript.Network\CLSID
- Then use the CLSID to find the actual code here:
HKEY_CLASSES_ROOT\CLSID\{093FF999-1EA0-4079-9525-9614C3504B74}
- The file path is stored here:
HKEY_CLASSES_ROOT\CLSID\{093FF999-1EA0-4079-9525-9614C3504B74}\InProcServerÂ*32
Keep in mind there can be different versions referenced (ie: WScript.Network.1, WScript.Network.2), but the current version should be listed without a number at the end (WScript.Network)
Re: How to check if a certain DLL is registered? Need RegSvr32 WITHOUT action
Hellogajrap, you just have to search teh following keys for the DLL file's name:
[HKEY_CLASSES_ROOT\CLSID]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]
Hope it helps.