alafonso
Goto Top

Word per COM in Citrix-Umgebung fernsteuern

ich habe ein Java-Programm geschrieben, dass MS-Office-Anwendungen (Word und Excel) über eine Java-COM-Bridge (JACOB) ansteuert. Dies funktioniert in allen nativen MS-Windows-OS (XP, Vista) mit allen möglichen MS-Office-Versionen (2000, 2003, 2007) problemlos.

Nur in Citrix-Umgebungen gibt es folgende Probleme:

1) Word lässt sich zwar per COM-Bridge fehlerfrei starten, aber sobald versucht wird, ein Word-Dokument zu öffnen, gibt es die Fehlermeldung "Unzureichender Arbeitsspeicher. Speichern Sie jetzt Ihr Dokument" und die COM-Bridge beendet Word.

2) Falls vorher bereits Word manuell gestartet wurde, gibt es noch eine andere Fehlermeldung: "Word-Fehler beim Öffnen der vorhandenen normal.dot" und "Word konnte die Arbeitsdatei nicht erstellen. Bitte überprüfen Sie die temp-Variable."

Versucht man dasselbe Word-Dokument mit einem manuell gestarteten Word zu öffnen, gibt es keine Probleme. Das Java-Programm läuft aber in der gleichen Umgebung und mit den gleichen Privilegien des Nutzers.

Mit Excel gibt es die geschilderten Probleme interessanterweise nicht.

Hat jemand eine Idee, woran das liegen könnte? Für Tipps und Anregungen wäre ich sehr dankbar.

Content-Key: 101685

Url: https://administrator.de/contentid/101685

Printed on: April 20, 2024 at 03:04 o'clock

Member: problemsolver
problemsolver Nov 13, 2008 at 06:20:10 (UTC)
Goto Top
Hallo,

was passiert, wenn Du auf einem Citrix Server mit administrativen Privilegien diese Sache wiederholst?

Versuche mal, dich testweise als einzelner Benutzer an diesem Citrixserver anzumelden und mit den Sysinternals Tools Filemon und ggf Regmon diesen Prozess (Dateizugriffe oder Registryzugriffe) bis zum Fehler "aufzuzeichnen" und vergleiche dieses mit einem funktionierenden Fall. Das ist - zugegeben - sehr aufwändig, aber zumindest eine Möglichkeit wie Du weiterkommst.

Du musst allerdings VORHER sicherstellen, dass beide Testszenarien die gleichen Programmversionen und Stände haben, da Du Dich sonst "totsuchst" face-wink Beachte auch die Umgebungsvariablen.... bekannterweise bei JAVA öfters ein Problem...

Hoffe ich konnte Dir gute Anregungen geben und wünsche viel Erfolg!!!

Gruß

Markus
Member: alafonso
alafonso Nov 13, 2008 at 07:28:18 (UTC)
Goto Top
Hallo Markus,

vielen Dank für die schnelle Hilfe. Ich versuche zunächst die Alternative mit dem Admin-Zugang. Da ich selbst kein Admin dieses Servers bin, muss ich erst einen suchen. Ich melde mich dann wieder.
Member: alafonso
alafonso Nov 26, 2008 at 15:36:59 (UTC)
Goto Top
Hallo Markus,

die Lösung ist da!!!

ich habe nun mit procmon (statt filemon und regmon, liefert aber die gleichen Ergebnisse) die Analyse gemacht und festgestellt, dass in der Terminal Server-Umgebung einige Pfade, die Word benötigt, nicht vorhanden waren. Zum Beispiel der Pfad C:\Programme\Microsoft Office PE\OFFICE11, in dem Word in dieser Umgebung die normal.dot vermutet.

Interessanterweise reagiert Word, wenn es manuell gestartet wird, wesentlich robuster, d.h. es läuft zwar auf die gleichen Fehler, ignoriert diese aber (solange sie nicht existentiell sind) und arbeitet fröhlich weiter, ohne dem Nutzer Hinweise zu liefern.

Im COM-Automationsmodus ist Word rigoroser. Bei einem solchen Fehler wird die Verbindung einfach gekappt. Sobald die fehlenden Verzeichnisse eingerichtet werden, klappt auch die COM-Brücke.

Vielen Dank nochmal für deine Hilfe!