Ein Upgrade auf Notes 14.5.1 kann laut MSI-Protokoll erfolgreich abgeschlossen werden, dennoch bleibt Ihr Client möglicherweise funktional unvollständig.

Wir sind kürzlich bei der Vorbereitung von Upgrades von HCL Notes 12.0.2 und früheren Versionen auf HCL Notes 14.5.1 für mehrere Kunden auf diese Situation gestoßen. Die Installation schien ordnungsgemäß zu funktionieren, doch nach dem Upgrade fehlten optionale Eclipse/RCP-Komponenten.

Erst nach dem Start des aktualisierten Notes-Clients wurde das eigentliche Problem sichtbar: Es fehlten optionale Eclipse/RCP-Komponenten.

„Embedded Sametime“ war das auffälligste Beispiel, doch das Problem beschränkte sich nicht auf Sametime. Auch andere optionale Plugins, die über denselben Installationsmechanismus verwaltet wurden, konnten entfernt werden, wodurch der Notes-Client in einen Zustand versetzt wurde, den kein Kunde nach einer scheinbar erfolgreichen Unternehmensbereitstellung vorfinden sollte.

Es dauerte mehrere Tage, bis wir den Grund dafür herausfanden.

Wenn ein Upgrade auf Notes 14.5.1 erfolgreich zu sein scheint

Die meisten Verfahren zur Fehlerbehebung beginnen mit den naheliegenden Fragen:

  • Wurde das MSI erfolgreich abgeschlossen?
  • War die Befehlszeile für die Installation korrekt?
  • Wurden die erwarteten Merkmale ausgewählt?
  • Hat der RCP-Launcher Fehler gemeldet?
  • Ist beim Entpacken oder Registrieren der Eclipse-Komponenten ein Problem aufgetreten?
  • Verfügte das Bereitstellungskonto über ausreichende Berechtigungen?

In unserem Fall wurde die MSI-Installation ordnungsgemäß abgeschlossen. Dies erschwerte die Diagnose des Problems erheblich.

Aus Sicht des Bereitstellungssystems war das Upgrade erfolgreich verlaufen. Aus Sicht der daraus resultierenden Notes-Installation war jedoch ein schwerwiegender Fehler aufgetreten: Optionale Komponenten, die eigentlich installiert bleiben sollten, wurden in den letzten Phasen des Installationsvorgangs entfernt.

Dies ist ein wichtiger Unterschied bei der Bereitstellung in Unternehmen. Ein erfolgreicher MSI-Rückgabecode bestätigt, dass das Installationsprogramm seine Arbeit abgeschlossen hat. Er bestätigt jedoch nicht zwangsläufig, dass der endgültige Notes-Client alle von Ihnen erwarteten Komponenten enthält.

Warum wir das Problem zunächst nicht reproduzieren konnten

Das Problem trat bei mehr als einem Kunden auf, konnte jedoch bei unseren ersten Labortests nicht reproduziert werden.

Das war verwirrend. Wir haben dieselben Notes-Versionen, dieselben Installationspakete und vergleichbare Befehlszeilen verwendet. Dennoch funktionierte das Upgrade im Labor einwandfrei.

Der Grund dafür war etwas, was viele von uns ganz selbstverständlich tun, wenn wir Softwareinstallationen testen: Wir beginnen mit einem sauberen System.

Wir haben alte Installationsdaten gelöscht, temporäre Verzeichnisse bereinigt oder virtuelle Maschinen auf einen bekannten Zustand zurückgesetzt. Dies entspricht zwar normalerweise bewährten Vorgehensweisen, doch in diesem Fall wurden dadurch auch genau die Bedingungen beseitigt, die zur Reproduktion des Fehlers erforderlich waren.

Daher haben wir unseren Testansatz geändert. Anstatt vollkommen saubere Rechner vorzubereiten, haben wir virtuelle Maschinen erstellt, auf denen zuvor bereits Notes-Installationen und -Upgrades durchgeführt worden waren. Wir haben bewusst darauf verzichtet, temporäre Installationsdaten zu löschen, und damit begonnen, den Installationsverlauf genauer nachzubilden.

Da wurde das Muster schließlich erkennbar.

Was ist die Ursache für das Problem beim Upgrade auf Notes 14.5.1?

Das Problem tritt auf, wenn das TEMP-Verzeichnis des Kontos, unter dem das Installationsprogramm für Notes 14.5.1 ausgeführt wird, noch die folgende Datei aus einer früheren Notes-Installation enthält:

rcpInstallerTemp.properties

Diese Unterscheidung ist wichtig: Wir sprechen hier vom TEMP-Verzeichnis des ausführenden Sicherheitskontexts, nicht unbedingt vom TEMP-Verzeichnis des aktuell angemeldeten Benutzers.

Zum Beispiel:

  • Eine Installation, die von einem Administrator interaktiv gestartet wird, verwendet in der Regel das TEMP-Verzeichnis dieses Administrators.
  • Eine Installation, die über ein dauerhaft bestehendes Dienstkonto für die Bereitstellung ausgeführt wird, nutzt das TEMP-Verzeichnis dieses Dienstkontos.
  • Eine Installation, die unter Windows als SYSTEM-Benutzer ausgeführt wird, verwendet in der Regel das Systemverzeichnis „TEMP“, das sich häufig unter C:\Windows befindet.

Temporäre Verzeichnisse, die zu Administratorkonten, Dienstkonten oder dem Windows-SYSTEM-Konto gehören, werden häufig nicht regelmäßig bereinigt. Eine Datei, die bei einer früheren Notes-Installation erstellt wurde, kann daher monatelang oder sogar jahrelang erhalten bleiben.

Wenn das Installationsprogramm von Notes 14.5.1 auf diese veraltete Datei „rcpInstallerTemp.properties“ stößt, interpretiert es die darin enthaltenen Informationen möglicherweise als gültigen Status für die aktuelle Installation.

Unseren Analysen zufolge kann dieser veraltete Status des Installationsprogramms die abschließende Phase der Komponentenentfernung bei der Installation von Notes 14.5.1 beeinträchtigen. Das Installationsprogramm kommt dann zu dem Schluss, dass optionale Eclipse/RCP-Komponenten entfernt werden sollten, obwohl dies nicht der beabsichtigten Konfiguration des aktuellen Upgrades entspricht.

Das Ergebnis ist eine Installation, die zwar technisch abgeschlossen ist, jedoch eine falsche Client-Konfiguration erzeugt.

Warum Notes 14.5.1 davon betroffen ist

Der Windows-Installationsprozess hat sich mit HCL Notes 14.5.1 erheblich geändert.

Ein wesentlicher Teil der bisherigen RCP-Installationslogik wurde überarbeitet. Die Inhalte werden extrahiert und installiert; anschließend ermittelt das Installationsprogramm anhand der gewählten Konfiguration, welche optionalen Komponenten beibehalten oder entfernt werden sollen.

An diesem Ansatz ist an sich nichts auszusetzen. Das Problem besteht darin, dass der temporäre Zustand einer früheren, eigenständigen Installation keinen Einfluss auf die Entscheidungen haben darf, die während der aktuellen Installation getroffen werden.

In früheren Installationsprogramm-Generationen, einschließlich der von uns untersuchten Versionen aus den Zweigen Notes 12.0.x, 14.0.x und 14.5.0, wurde die temporäre Eigenschaftsdatei bereits zu Beginn des Installationsvorgangs entfernt bzw. bereinigt. Dadurch wurde verhindert, dass der Status einer älteren Installation versehentlich wiederverwendet wurde.

Bei Notes 14.5.1 scheint diese Bereinigung zu fehlen. Das Installationsprogramm kann daher eine veraltete Datei verwenden, die eigentlich nicht über den letzten Installationsdurchlauf hinaus bestehen bleiben sollte.

Dies ist auch der Grund, warum das Problem so schwer zu erkennen sein kann:

  • Dies hängt von der Vorgeschichte der Maschine und dem Installationskonto ab.
  • Auf frisch eingerichteten Testsystemen tritt dieses Problem möglicherweise nicht auf.
  • Das MSI selbst weist keine sichtbaren Fehler auf.
  • Das Problem tritt erst dann zutage, wenn der daraus resultierende Notes-Client überprüft oder gestartet wird.
  • Unterschiedliche Installationskonten können auf demselben Rechner zu unterschiedlichen Ergebnissen führen.

Auf welche Bereiche sollte besonders geachtet werden?

In unseren Tests war das Problem nicht an ein bestimmtes Notes 12.0.2 Fix Pack gebunden. Es war zudem unabhängig davon, ob es sich bei der vorherigen Notes-Installation um eine 32-Bit- oder eine 64-Bit-Version handelte.

Unternehmen sollten besonders aufmerksam sein, wenn die folgenden Bedingungen zutreffen:

  1. Eine bestehende Installation von HCL Notes 12.0.2 oder älter wird auf HCL Notes 14.5.1 aktualisiert.
  2. Das Upgrade wird von einem Administratorkonto, einem Bereitstellungsdienst oder dem Windows-Systemkonto ausgeführt.
  3. Das zu diesem Konto gehörende TEMP-Verzeichnis enthält noch immer die Datei „rcpInstallerTemp.properties“ aus einer früheren Installation.

Dies macht das Thema für den Vertrieb von Unternehmenssoftware besonders relevant.

Manuelle Testinstallationen werden häufig mit relativ sauberen Benutzerprofilen durchgeführt. Produktionsumgebungen hingegen werden in der Regel über Konten und Dienste betrieben, die bereits seit längerer Zeit bestehen. Ihre temporären Verzeichnisse können Überreste zahlreicher früherer Installationsversuche enthalten.

Die Bedingungen in einer Produktionsumgebung können sich daher erheblich von denen in einer sauberen Testumgebung unterscheiden.

Workaround für das Problem beim Upgrade auf Notes 14.5.1

Bevor Sie ein Upgrade auf Notes 14.5.1 durchführen, entfernen Sie bitte die folgende Datei aus dem TEMP-Verzeichnis des Kontos, unter dem die Installation ausgeführt wird:
Bevor Sie ein Upgrade auf HCL Notes 14.5.1 durchführen, entfernen Sie bitte die folgende Datei aus dem TEMP-Verzeichnis des Kontos, unter dem die Installation ausgeführt wird:

rcpInstallerTemp.properties

Entscheidend ist die Ermittlung des richtigen Ausführungskontexts.

Das Löschen der Datei aus Ihrem eigenen Benutzerprofil löst das Problem nicht, wenn die Installation tatsächlich vom Windows-SYSTEM oder von einem separaten Bereitstellungskonto durchgeführt wird.

Am sichersten ist es, in den Bereitstellungsprozess einen Schritt vor der Installation aufzunehmen, der Folgendes umfasst:

  1. Löst das TEMP-Verzeichnis im selben Sicherheitskontext auf, in dem das Installationsprogramm ausgeführt wird.
  2. Es wird nach der Datei „rcpInstallerTemp.properties“ gesucht.
  3. Entfernt die Datei, bevor die Installation von Notes 14.5.1 gestartet wird.

Nachdem wir die veraltete Datei entfernt hatten, konnten wir das ungewollte Entfernen der optionalen Eclipse/RCP-Komponenten nicht mehr reproduzieren.

Von einem Supportfall zu einem offiziellen HCL-Fehlerbericht

Nachdem wir das Problem isoliert und reproduziert hatten, habe ich einen Supportfall bei HCL eröffnet und die technischen Erkenntnisse, die betroffenen Szenarien, die vermutete Ursache sowie eine vorgeschlagene Abhilfemaßnahme übermittelt.

Ich habe HCL zudem ausdrücklich gebeten, einen öffentlichen Fehlerbericht zu veröffentlichen. Dies war für uns wichtig, da die Installation nicht sichtbar fehlschlägt, was es für andere Kunden und Partner äußerst schwierig macht, die Ursache eigenständig zu ermitteln.

Auch wenn sich der Titel des Artikels speziell auf Sametime bezieht, sollten Administratoren bedenken, dass Sametime das auffälligste Beispiel für ein umfassenderes Problem im Zusammenhang mit optionalen Eclipse/RCP-Komponenten ist.

Durch die Veröffentlichung des Artikels wird das Problem durchsuchbar, erhalten Kunden eine offizielle Referenz und wird die erforderliche Abhilfe dokumentiert. Wir haben HCL zudem gebeten, das zugrunde liegende Verhalten in einem zukünftigen Release des Notes-Installationsprogramms zu beheben.

Zum Zeitpunkt der Erstellung dieses Artikels hoffen wir, dass mit HCL Notes 14.5.2 eine dauerhafte Korrektur bereitgestellt wird. Im Idealfall werden zukünftige Installationsprogramme entweder veraltete Zustände beim Start zuverlässig entfernen oder für jeden Installationsvorgang ein eigenes temporäres Verzeichnis verwenden.

Kunden, die ein MarvelClient Upgrade durchgeführt haben, sind bereits geschützt

Kunden, die die aktuelle Version von MarvelClient Upgrade verwenden, sind vor diesem Upgrade-Szenario für Notes 14.5.1 geschützt.

Wir haben „MarvelClient Upgrade“ bereits aktualisiert, um dieses Szenario automatisch zu bewältigen. Bevor die Installation von HCL Notes 14.5.1 ausgeführt wird, beseitigt oder verhindert „MarvelClient Upgrade“ den veralteten temporären Installationsstatus, der das Problem auslöst.

Daher kann das in diesem Artikel beschriebene Problem nicht auftreten, wenn das Upgrade mit der aktuellen Version von MarvelClient Upgrade durchgeführt wird.

Wie immer sollten Kunden sicherstellen, dass sie eine aktuelle Release-Version von MarvelClient verwenden, bevor sie ein umfangreiches Upgrade des Notes-Clients durchführen.

Weitere Informationen finden Sie auf der Seite „MarvelClient – Release Notes zum MarvelClient Upgrade“.

Abschließende Gedanken

Dieser Fall macht deutlich, dass Installationsprobleme nicht immer zu Installationsfehlern führen.

Die schwierigsten Fehler werden oft durch unsichtbare Zustände verursacht: eine alte Datei, ein verbleibendes Dienstkonto, ein temporäres Verzeichnis, das nicht wirklich temporär ist, oder eine frühere Installation, die weiterhin Einfluss auf die nächste hat.

Saubere Laborumgebungen sind nach wie vor unverzichtbar, spiegeln jedoch nicht immer die Geschichte und Komplexität realer Unternehmensendpunkte wider. Manchmal besteht der entscheidende Schritt bei der Fehlerbehebung darin, die Testumgebung nicht weiter zu bereinigen, sondern stattdessen die Unvollkommenheiten der Produktionsumgebung nachzubilden.

Unternehmen, die HCL Notes 14.5.1 ohne das MarvelClient Upgrade bereitstellen, sollten die Entfernung der Datei „rcpInstallerTemp.properties“ in ihre Überprüfungen vor der Installation aufnehmen.

Für Kunden, die ein MarvelClient Upgrade durchführen, ist dies in der aktuellen Version bereits berücksichtigt.