Dateiregistrierung und -abmeldung per Explorer-Kontextmenü

Veröffentlicht: 19. Mai 2002 | Aktualisiert: 08. Nov 2004

Von Mathias Schiffer

Dieser MSDN-Quickie zeigt, wie Sie das Kontextmenü Ihres Windows Explorers um zwei Kontextmenüeinträge zur Registrierung und Abmeldung von ActiveX-Servern erweitern.

WICHTIG: Dieser Artikel enthält Informationen über die Bearbeitung der Registrierungsdatenbank (Registry). Stellen Sie vor der Veränderung der Registrierungsdatenbank sicher, dass Sie diese bei Problemen wiederherstellen können. Weitergehende Informationen finden Sie in der Hilfe von REGEDIT.EXE unter dem Eintrag "Wiederherstellen der Registrierung" oder in der Hilfe von REGEDT32.EXE unter dem Thema "Wiederherstellen eines Registrierungsschlüssels".

OCX-Dateien und ActiveX-DLLs müssen registriert werden, bevor ihre Funktionalität genutzt werden kann (siehe auch MSDN Quickie ActiveX-DLLs und OCX-Dateien per Quellcode registrieren und deregistrieren).

Hierzu kann das Hilfsprogramm REGSVR32.EXE genutzt werden:

Dateianmeldung:

REGSVR32 C:\PFAD\MEINOCX.OCX

Dateiabmeldung:

REGSVR32 /U C:\PFAD\MEINOCX.OCX

Die Verwendung einer Bibliothek etwa unter Visual Basic vereinfacht die Notwendigkeit zur Registrierung ein wenig: Die Entwicklungsumgebung registriert eine solche Datei bei Bedarf automatisch, wenn sie erstmalig über das Verweise- oder das Komponentenfenster angewählt wird oder ein OCX-Dateiname per Drag & Drop auf die Werkzeugleiste von Visual Basic gezogen wird.Bezüglich einer Abmeldung jedoch sucht man eine ähnlich nützliche Automatik (etwa beim Löschen einer registrierten Datei im Windows Explorer) vergebens.

Für DLL- und OCX-Dateien können Sie jedoch das Kontextmenü Ihres Windows Explorers erweitern, so dass bei der Anwahl einer DLL- oder OCX-Datei Einträge zur Registrierung oder Abmeldung erscheinen.

Diese handliche Hilfe erspart Ihnen den Umweg über einen Kommandozeilenaufruf von REGSVR32.EXE. Um diese Kontextmenüeinträge einzurichten, starten Sie eine neue Instanz von Notepad, fügen Sie die folgenden Zeilen ein und speichern Sie diese als neue Datei "REGMENU.REG" (bei der Wahl des Dateinamens kommt es nur auf die Endung ".REG" an):

REGEDIT4
' -------------------------------------------------------
' Erweiterung des Windows Explorer-Kontextmenüs um die
' Einträge "Registrieren" und "Deregistrieren" bei Aus-
' wahl von DLL- und OCX-Dateien.
' -------------------------------------------------------
' Explorer-Kontextmenüerweiterung für DLL-Dateien:
[HKEY_CLASSES_ROOT\.dll]
@="dllfile"
[HKEY_CLASSES_ROOT\dllfile]
@="DLL"
[HKEY_CLASSES_ROOT\dllfile\Shell\Registrieren\command]
@="REGSVR32 \"%1\""
[HKEY_CLASSES_ROOT\dllfile\Shell\Deregistrieren\command]
@="REGSVR32 /u \"%1\""
' Explorer-Kontextmenüerweiterung für OCX-Dateien:
[HKEY_CLASSES_ROOT\.ocx]
@="ocxfile"
[HKEY_CLASSES_ROOT\ocxfile]
@="OCX"
[HKEY_CLASSES_ROOT\ocxfile\Shell\Registrieren\command]
@="REGSVR32 \"%1\""
[HKEY_CLASSES_ROOT\ocxfile\Shell\Deregistrieren\command]
@="REGSVR32 /u \"%1\""
' -------------------------------------------------------

Um die Erweiterung des Explorer-Kontextmenüs vorzunehmen, führen Sie einen Doppelklick auf die soeben gespeicherte Datei REGMENU.REG aus und bestätigen Sie die Rückfrage, ob Daten in Ihre Registry geschrieben werden sollen. Nach erfolgreicher Eintragung der Änderungen stehen Ihnen nach Anwahl einer DLL- oder OCX-Datei die zusätzlichen Menüpunkte "Registrieren" und "Deregistrieren" im Kontextmenü des Explorers zur Verfügung