Outlook Newsgroup FAQ

Antworten zu Fragen rund um Microsoft Outlook

Fehlersuche Outlook Formular Probleme

Geschrieben von Markus Mohmeyer am 5. Juni 2006

Mit etwas Mut und Fantasie könnte man Outlook Formulare mit dem Cockpit eines Autos vergleichen. Eigentlich "funktioniert" das Auto auch ohne die Vielzahl der Schalter und Instrumente ziemlich gut. Motor, Benzin, Lenkrad, Gaspedal und die Bremse genügen bereits um das Auto fahren zu lassen.
Richtig angewandt verändern jedoch die verschiedenen Hebel und Schalter des Cockpits das Fahrverhalten und den Komfort des Autos erheblich. Aber auch das Gegenteil kann bei falscher Anwendung der Fall sein.

Ein Outlook Formular ist die Benutzeroberfläche eines Outlook Elements. Es enthält selbst nie die eigentlichen Daten, sondern ist ein Hilfsmittel, welches der Outlook Client anbietet. Inhalte (Daten) können über Formulare aufbereitet dargestellt werden. Entwickler bekommen über benutzerdefinierte Formulare eine Schnittstelle um Programmcode auszuführen, oder Code extern aufzurufen.

Die eigentliche Beschreibung von Outlook Formularen spare ich mir hier. Wer grundsätzlich etwas über die Grundlagen von Outlook Formularen erfahren möchte, kann vorab auf folgenden Seiten etwas Basiswissen nachlesen…

http://www.msxfaq.net/code/olkforms.htm

Bei Outlook Formularen verhält es sich wie bei vielen Dingen (siehe auch Beispiel "Cockpit" oben): Es gibt Regeln, durch die alles besser funktioniert. Es gibt Dinge oder Vorgehensweisen, welche eine saubere Funktion negativ beeinflussen.
Wenn Outlook Formular Fehler auftreten, stehen diese oftmals im Zusammenhang mit dem Outlook Formular Cache, welcher durch einen bestimmten Prozess zerstört wurde. Die Frage ist dann nur "Was hat den Cache negativ beeinflusst und letztlich beschädigt?"

In einer kurzen Übersicht möchte ich einmal die wesentlichen Punkte für die Fehlersuche bei Outlook Formular Problemen zusammenfassen. Die genannten Punkte können Ansätze sein, um Fehler ausfindig zu machen. Da die Fehlerursache auch eine Verkettung von mehreren Punkten sein kann, muss die Suche breit angesetzt werden, um wirklich alle Fehlerquellen auszuschließen.

! Hinweis !
Die folgende Liste ist aus eigener Erfahrung und durch Tipps von Dritten zusammengetragen worden. Ich kann keine Garantie für Vollständigkeit und Fehlerfreiheit geben. Die Informationen sind nur zum Zeitpunkt des Verfassens aktuell und ich kann keinen Anspruch auf eine zeitnahe Aktualisierung neuer Ansätze oder Lösungen geben. Trotz alledem werde ich natürlich versuchen neue Erkenntnisse zum Thema hier zu verankern oder in einem separaten Folge-Posting zu veröffentlichen.

So, genug der Hinweise… Hier nun die Checkliste:

 
1.) Lokalen Virenscanner auf den Clients auswerten

Der lokale Datei-basierte Virenscanner auf den Clients könnte für die Zerstörung des Outlook Formular Caches verantwortlich sein. Relevant ist hier die Datei frmcache.dat oder Dateien in Unterordnern des Ordners FORMS im Benutzerprofil unter C:\Dokumente und Einstellungen\USERNAME\Lokale Einstellungen\Anwendungsdaten\Microsoft\FORMS. Wenn z.B. ein Formular in den Forms Cache geschrieben wird und dabei -aus welchem Grund auch immer- Code geblockt oder gar entfernt wird, kann der Formular Cache beschädigt werden.
Hier sollte die Logdatei des Virenscanners gesichtet werden. Sind im Logfile Scan-Events zu erkennen, welche auf den FORMS-Ordner zeigen, sollte ausführlich geprüft werden, ob es ein Update vom Hersteller für dieses Problem gibt, oder ob der Formular-Cache Ordner in der Datei-basierten Scan Funktion des Virenscanners ausgeschlossen werden kann (Security Aspekt!).

 
2.) Das Outlook Scan Add-In im lokalen Virenscanner auf den Clients generell deaktivieren

Viele Virenscanner bringen eigene Outlook Add-Ins mit, um Outlook Elemente auf dem Client beim Zugriff zu überprüfen. Dieses Feature sollte deaktiviert werden, wenn die Datei-basierte Scan Funktion aktiv ist und wenn auf dem Mailserver ein aktueller Virenscanner seinen Dienst tut. Grund: Wenn ein Attachment in einer E-Mail geöffnet wird, dann cached Outlook diesen Dateianhang im Filesystem. Hier wird dann wieder die Datei-basierte Scan Funktion aktiv. Es ist also nicht zwingend notwendig und auch im Hinblick auf die Outlook Cache Zerstörung eher hinderlich zusätzlich noch einen "Outlook Element Scanner" aktiv zu haben. Achtung: Diese Aktion sollte hinsichtlich Ihrer Möglichkeit geprüft werden. Es gibt auch Client Virenscanner, die mit einem Virenscanner auf dem Exchange Server "zusammenarbeiten". Über diese Aktionen soll geprüft werden, ob der Virenscanner eine Rolle zu dem Problem spielen kann.

 
3.) Zugriff auf Outlook Formulare mit unterschiedlichen Outlook Versionen

Ein Outlook Formular sollte immer mit der Outlook Version verwendet werden, mit der es auch entworfen wurde. Wenn in einer Umgebung Outlook 2003 Clients eingesetzt werden, aber die genutzten Formulare mit Outlook 2000 entworfen wurden, kann es zu Problemen mit dem Formular und/oder dem Cache kommen. Zwar ist Outlook 2003 in diesem Punkt mit einer gewissen Fehlertoleranz ausgestattet (es wird versucht eine nicht passende Adressierung abzufangen und automatisch zu korrigieren), aber dies funktioniert nicht immer.
Abhilfe schafft nur die komplette Neuerstellung des Formulars mit der aktuellen Outlook Version. Wichtig ist hierbei, dass aus dem alten Formular nicht per COPY/PASTE Elemente übernommen werden (inklusive eventuell enthaltenem Code), sondern dass "from scratch" alle Formular-Teile neu erstellt werden.

 
4.) Eindeutigen Speicherort des Formulars im Postfach

Es gibt mehrere Möglichkeiten ein Formular lokal abzulegen. Man kann Outlook Formulare an einen Postfachordner binden, es in der persönlichen Formularbibliothek veröffentlichen, oder z.B. in einer PST-Datei an einen Ordner binden. Problematisch ist es, wenn ein Formular mit gleichem Namen, bzw. gleicher Nachrichtenklasse an verschiedenen Orten abgelegt wird. Dies bewirkt, dass dann mehrere Versionen desselben Formulars in der Cache-Datei liegen können.
Hier sollte eingehend geprüft werden welcher Speicherort am geschicktesten ist. Wichtig ist wie beschrieben die Eindeutigkeit und es sollte gewährleistet sein, dass ein Formular auch immer nur ein einziges Mal und nicht mehrfach existiert.

 
5.) ForceFormReload

Der Registry-Key "ForceFormReload", welcher das Verhalten von Outlook ändert, wenn Formularfehler auftreten, kann möglicherweise weiterhelfen. Wichtig ist, dass die Funktionsweise und die Risiken von ForceFormReload komplett verstanden worden sind, bevor ein Einsatz überlegt wird (Stichwort Offline-Clients). Aufgrund der Komplexität der Zusammenhänge von ForceFormReload habe den Registry Key in diesem separaten Posting beschrieben.
Kurz & knapp: Tritt mit aktiviertem ForceFormReload-Key ein Fehler beim Zugriff auf ein Formular (Cache Zugriff) auf, greift Outlook auf die ursprüngliche Quelle des Formulars zu. Dies ist entweder der Postfachordner, an den das Formular gebunden ist oder die persönliche Formularbibliothek, welche in der OST gespeichert ist.

 
6.) Skript um den Forms Cache bei jedem Outlookstart zu löschen

Eine weitere Möglichkeit um Probleme im Zusammenhang mit dem Outlook Forms Cache zu verringern ist es z.B. bei jeder Anmeldung oder bei jedem Outlook Start den Inhalt des FORMS-Ordners und damit die Cache-Dateien zu löschen. Dazu könnte man ein VBA-Modul in Outlook erstellen, welches den Forms Cache z.B. immer wieder beim Starten von Outlook löscht. Ein entsprechendes VBA-Skript namens "deleteformscache.txt" stellt der Microsoft Support zur Verfügung.
Dieses Skript muss dazu in Outlook über den Visual Basic Editor (Menü EXTRAS >>> MAKROS >>> VISUAL BASIC EDITOR unter "Microsoft Office Outlook Objekte" >>> "DieseOutlookSitzung") eingebunden werden. Eine solche Lösung könnte dann über die Erstellung eines COM-Add-In verteilt bzw. ausgerollt werden. Auch der Aufruf über ein Login-Script ist denkbar.

 
7.) Unsaubere Programmierung von Code

Wenn in Formularen oder in externem Code geöffnete Explorer Instanzen nicht wieder sauber durch die "Explorer Close Methode" geschlossen werden, kann es zur Zerstörung eines Formulars im Forms Cache kommen. Angenommen ein Formular mit unsauberem Code ist geöffnet und Outlook wird geschlossen. In dem Fall besteht die Möglichkeit, dass Outlook versucht das Formular zurück in den Cache zu schreiben. Eine nicht sauber geschlossene Instanz des Explorers könnte nun ein dazugehöriges Add-In dazu veranlassen zu crashen und beim Schreiben des Formulars in den Cache entsteht eine Inkonsistenz. Es sollte daher jeglicher Code in Formularen und externem Code auf die "Explorer Close Methode" untersucht und bereinigt werden. Nähere Infos sind im KB-Artikel 294867 (http://support.microsoft.com/kb/294867/en-us) beschrieben.

 
8.) Unsaubere Programmierung von Add-Ins

Auch installierte Add-Ins oder COM-Add-Ins arbeiten mit der frmcache.dat um bestimmte Funktionalitäten umzusetzen. Genauer müsste man sagen, dass solche Komponenten den Forms Cache missbrauchen. Wenn die Add-Ins nicht sauber programmiert wurden, kann auch hier der Forms Cache beschädigt werden.
Eine Prüfung ist einfach durchzuführen. In Outlook müssen einmal alle Add-Ins und COM-Add-Ins deaktiviert werden, der Forms Cache muss gelöscht werden und nach dem Neustart von Outlook soll nun beobachtet werden, ob eine Besserung eintritt. Weitere Recherchen sind dann bei Bedarf von diesem Ergebnis her abzuleiten.

 
Mein Fazit

Wenn Formularfehler vorliegen ist meistens der Cache der Übeltäter. Die Suche nach der eigentlichen Ursache ist mühselig und aufwendig. Wenn alle beschriebenen Punkte durchgegangen und umgesetzt wurden, stehen die Chancen gut, dass der Cache künftig weniger schnell korrupt wird. ForceFormReload kann ein goldener Weg sein.

Keywords:  Fehlersuche Outlook Formular Probleme ForceFormReload Outlook Forms Probleme

Einen Kommentar hinterlassen

XHTML: Du kannst diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>