NotesHound
(http://www.noteshound.com/)
ist eine kostengünstige Sammlung nützlicher Werkzeuge von Ken Haggman und
Daniel Lehtihet. Den NotesHound Class Navigator, den es seit geraumer Zeit
auch einzeln
gibt, haben wir ja schon in diversen
Konferenzvorträgen erwähnt und für OOP-Entwickler in LotusScript empfohlen.
In SnTT:
Installing and running Notes R5, 6, 7 and 8 concurrently
hatten wir ausführlich erklärt, wie man ohne VMs (und den damit verbundenen
zusätzlichen Speicherverbrauch und ohne weitere Betriebssystem-Lizenzen)
mehrere Notes-Versionen auf einem Rechner so installieren kann, dass man
sogar alle gleichzeitig starten kann.
Leider gibt es mit allen NotesHound-Werkzeugen
- außer dem NotesHound Class Navigator - ein Problem: Sie lassen sich nur
in der zuletzt installierten Notes-Version starten, sonst gibt es eine
Fehlermeldung.
Nach gemeinsamer Analyse mit Ken sind wir
auf die Ursache und damit eine mögliche Lösung des Problems gestoßen. Im
Front-End benutzen die NotesHound-Werkzeuge die COM-Schnittstelle, um mit
dem Notes-Client zu kommunizieren. Bei einer Notes-Installation wird eine
bestimmte DLL - nämlich nlsxbe.dll
- systemweit registriert und ist ab dem Zeitpunkt verantwortlich für die
Lotus Notes-COM-Schnittstelle. Zu jedem Zeitpunkt kann aber nur genau eine
einzige DLL registriert sein - normalerweise diejenige, die zu der zuletzt
installierten Notes-Version gehört.
Mit regsvr32
nlsxbe.dll, ausgeführt im Notes-Programmverzeichnis,
kann man manuell eine bestimmte Version der DLL-Datei installieren. Anschließend
kann man mit dieser Version des Notes-Clients auch wunderbar alle Werkzeuge
von NotesHound nutzen.
In Zukunft werden die NotesHound-Programme
das wohl im Hintergrund selbst erledigen, aber als schnellen Workaround
habe ich folgende Batch-Datei RegisterDLLAndStartNLNotes.cmd
geschrieben:
@ECHO
Off
REM Batch file should be started with one parameter - the Notes program directory CD /D "%1%" %SystemRoot%\system32\regsvr32.exe /s nlsxbe.dll START /MIN nlnotes.exe |