Re: HowTo: Unregister a DLL/Control when the File no longer Exists

Tech-Archive recommends: Fix windows errors by optimizing your registry




"Charles Law" <blank@xxxxxxxxxxx> wrote in message
news:%23PHoB26iGHA.3408@xxxxxxxxxxxxxxxxxxxxxxx
I have a project group, in a specific location on disk, that contains
several projects. There is the main EXE and a few ActiveX DLLs.

The main project references one of the DLLs, which in turn references
another DLL. So far so good.

Periodically, I copy the entire directory hierarchy to another, similar,
location, and call it version 2; so the parent directory MyProject still
exists, but now there is one alongside it called MyProject #2. I begin
working on #2.

When I am happy with the changes in #2, I delete the original directory
structure altogether.

When I look in the references, I can still see the original controls. How
can I remove them without wading through the registry in the vain hope
that
I know what I am doing? I realise that I can never include one of these as
a
reference because I get an "Error loading DLL" message, but in time I get
a
proliferation of entries in the references section to files that do not
exist, and at best this creates clutter but at worst it means that I have
to
work through them until I find the right one to include. [Of course, until
I
delete the earlier version, it is still possible to include the wrong
file,
which is more serious]

TIA

Charles


That whole process is soooo wrong on soooo many levels.... <g>

I highly recommend that you look into VSS and how to manage project/binary
compatibility, but for now obtain a decent Registry Cleaner utility and
periodically run it.

Also you may want to create a Context Menu tool for Explorer to make
registering and unregistering easier.

Place the following in a ".Reg" file.

REGEDIT4

[HKEY_CLASSES_ROOT\dllfile\Shell]
@="Register"

[HKEY_CLASSES_ROOT\dllfile\Shell\Register]

[HKEY_CLASSES_ROOT\dllfile\Shell\Register\command]
@="regsvr32.exe %1"

[HKEY_CLASSES_ROOT\dllfile\Shell\Unregister]

[HKEY_CLASSES_ROOT\dllfile\Shell\Unregister\command]
@="regsvr32.exe /u %1"

[HKEY_CLASSES_ROOT\.ocx]
@="ocxfile"

[HKEY_CLASSES_ROOT\ocxfile]
@="OCX File"
"EditFlags"=hex:00,00,01,00

[HKEY_CLASSES_ROOT\ocxfile\Shell]
@="Register"

[HKEY_CLASSES_ROOT\ocxfile\Shell\Register]

[HKEY_CLASSES_ROOT\ocxfile\Shell\Register\command]
@="regsvr32.exe %1"

[HKEY_CLASSES_ROOT\ocxfile\Shell\Unregister]

[HKEY_CLASSES_ROOT\ocxfile\Shell\Unregister\command]
@="regsvr32.exe /u %1"

Save the file, then run it. The next time you right click a DLL or OCX, the
option to register or unregister it should be there. You can combine this
with Search in Explorer to list all the Dlls and Ocxs in a particular folder
structure.

hth
-ralph



.



Relevant Pages

  • Re: DLL and external references
    ... > This is probably a basic question: ... references and "bind" them to addresses by adding object code from external ... This behavior of the compiler doesn't change when DLLs are present. ...
    (microsoft.public.vc.language)
  • Dependencies vs. Merge Modules
    ... Whenever I create a Setup Project for an application I'm working on, ... Visual Studio automatically detects that application's dependencies. ... the application project's References folder. ... a collection of DLLs) are distributed. ...
    (microsoft.public.vsnet.general)
  • Interop errors
    ... I have an ASP.NET website that has several references to COM dlls. ... My website won't compile and I'm seeing several errors currently, ... Dim myScriptingVar1 as new Scripting.Dictionary ...
    (microsoft.public.dotnet.framework.interop)
  • Re: How to test if a DLL (library) exists
    ... will see the referenced dlls in the dialog that comes up. ... dlls as librarys through vba. ... I have done it with regsrv for windows files before but only through ... > How do I test in VBA to see if a particual DLL exists in my references? ...
    (microsoft.public.excel.programming)
  • Re: HowTo: Unregister a DLL/Control when the File no longer Exists
    ... There is the main EXE and a few ActiveX DLLs. ... The main project references one of the DLLs, ... DLLs both register and unregister themselves through function ... There should also be an API call for it. ...
    (microsoft.public.vb.general.discussion)