Hallo Community,
aktuell gibt es unter Windows Terminalserver 2003 Probleme mit der COM-Schnittstelle in PDFCreator V 1.5.0.
Auf einem Terminalserver bekommt jeder angemeldete Remotedesktopbenutzer eine eindeutige Sitzungsnummer zugewiesen. Diese Sitzungsnummer besitzt Auswirkungen auf das benutzerspezifische TEMP-Verzeichnis (System-Umgebungsvariable: %temp% = z.B. %userprofile%\Lokale Einstellungen\Temp\1) und die PDFCreator Spool-Dateien.
Diese Logik wird unter Windows Server 2003 bis zur Sitzungsnummer 9 beibehalten. Sobald die Sitzungsnummer jedoch zweistellig wird, wird das TEMP-Verzeichnis vom Betriebssystem mit einem Buchstaben anstelle der eigentlichen Sitzungsnummer ergänzt.
Beispiel:
Sitzungskennung 10 = %userprofile%\Lokale Einstellungen\Temp\a
Sitzungskennung 11 = %userprofile%\Lokale Einstellungen\Temp\b
Hier kommen wir nun zum eigentlichen Schnittstellen-Problem.
Die Anwendung, die über die COM-Schnittstelle auf PDFCreator zugreift, arbeitet im korrekten TEMP-Verzeichnis ((Beispiel: %userprofile%\Lokale Einstellungen\Temp\c). PDFCreator hingegen erzeugt ab Version 1.5.0 für seine Spool-Dateien, unter dem gleichen Windows Benutzer, ein eigenes TEMP-Verzeichnis anhand der Sitzungskennung (Beispiel: %userprofile%\Lokale Einstellungen\Temp\12) - es wird nicht der Systemstandard %temp% verwendet.
Wird nun über die COM-Schnittstelle ein Druckauftrag an PDFCreator abgesetzt, beginnt PDFCreator den Auftrag zu verarbeiten, die zugreifende Anwendung erhält jedoch keine Rückmeldung. Der Druckauftrag wird nicht fertiggestellt.
Das Problem betrifft ausschließlich Windows Terminalserver 2003 und Benutzer mit einer Sitzungskennung > 9. Das Fehlverhalten ist über einen Druck mit dem Windows-Druckdialog nicht reproduzierbar, es betrifft lediglich die COM-Schnittstelle.
Ab Windows Server 2008 werden auch zweistellige Sitzungsnummern und keine Buchstaben im TEMP-Verzeichnis verwendet. In diesem Fall befinden sich TEMP-Dateien der Anwendung und PDFCreator im Systemstandard (%temp%) und die Schnittstelle funktioniert.
Mit älteren Versionen konnten wir uns mit dem Registry-Eintrag “PrinterTempPath” behelfen. Dieser wird mit der aktuellen Version nicht mehr unterstützt.
Besteht die Möglichkeit dieses Fehlverhalten zu korrigieren?
Grüße,
TT_IT
Hallo Community,
hier noch ein kurzer Nachtrag zu meinem Post von gestern.
Das Problem mit der COM-Schnittstelle betrifft je nach Konfiguration auch Windows Terminalserver 2008 / 2008 R2. Sobald dort in den Eigenschaften des Menüs “Konfiguration des Remotedesktop-Sitzungshost” die Option “Temporäre Ordner pro Sitzung verwenden” deaktiviert ist, funktioniert die COM-Schnittstelle auch unter den aktuellen Betriebssystemen nicht.
Die System-Umgebungsvariable %temp% verweist in dieser Konfiguration nach %userprofile%\AppData\Local\Temp. PDFCreator verwendet als TEMP-Verzeichnis %userprofile%\AppData\Local\Temp\SitzungsID\.
Ich kann deshalb aktuell nur empfehlen die Option “Temporäre Ordner pro Sitzung verwenden” nicht zu deaktivieren.
Grüße,
TT_IT
Mit der Version 1.5.1 sollten diese Probleme nicht mehr existieren.
Beste Grüße,
Hallo Frank,
zunächst einmal Danke für deine Rückmledung.
Leider sind die Änderungen in 1.5.1 nicht erfolgreich. Mit dieser Version funktioniert die COM-Schnittstelle unter WTS 2003 / 2008 R2 überhaupt nicht mehr.
PDFCreator spoolt nun immer nach %userprofile%\AppData\Local\Temp\PDFCreator. Das vom Windows Benutzer verwendete TEMP-Verzeichnis inkl. SitzungsID wird völlig ignoriert.
Beispiel PDFCreator 1.5.1 unter WTS 2003 R2
http://www.8ung.at/lorenzo/PDFCreator/WTS2003R2_PDFCreator151.png
Beispiel PDFCreator 1.5.1 unter WTS 2008 R2
http://www.8ung.at/lorenzo/PDFCreator/WTS2008R2_PDFCreator151.png
PDFCreator spoolt in das TEMP-Verzeichnis im roten Rahmen. Im Systemstandard %temp% wird lediglich ein leeres Verzeichnis erzeugt (grüner Rahmen). Die zugreifende Anwendung erhält dadurch keine Rückmeldung, der Druckauftrag wird nie abgeschlossen.
Unter PDFCreator 1.5.0 wurde zumindest bis zum 10x User der Pfad von %temp% verwendet.
Ich denke die Problematik kann relativ einfach behoben werden. PDFCreator müsste für seine Spool-Dateien einfach immer die Systemumgebungsvariable %temp% verwenden. In diesem Fall würde die Schnittstelle auf 98% aller Windows Systeme funktionieren.
Grüße,
TT_IT
Hallo TT_IT,
wir haben natürlich vorher den PDFCreator sowohl unter Win2003 als auch unter Win2008R2 getestet. Ich habe es eben nochmal gemacht. Alles funktioniert so wie es soll:
Win2003:
Konsole: C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\PDFCreator\Spool\
RDP: C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\1\PDFCreator\Spool\
Win2008:
Konsole: C:\Users\ADMINI~1\AppData\Local\Temp\1\PDFCreator\Spool\
RDP: C:\Users\ADMINI~1\AppData\Local\Temp\2\PDFCreator\Spool\
Wie ist denn bei Dir die Gruppenrichtlinie gesetzt?
http://technet.microsoft.com/de-de/library/cc759190(v=ws.10).aspx
Beste Grüße,
Hallo Frank,
die Richtlinie ist so konfiguriert, dass jeder Windows Benutzer einen eigenen temporären Ordner erhält. Bei jedem Benutzer ist somit die SitzungsID vorhanden.
Hier ein Beispielvideo, dass es dennoch nicht funktioniert: http://screencast.com/t/mSR1lIedOud
Das Verhalten ist unter Windows Server 2008 R2 identisch. Wechsle ich zurück auf 1.5.0 oder 1.4.3 befinden sich die PDFCreator Spool-Dateien unter C:\DOKUME~1\TEST1\LOKALE~1\Temp\1\PDFCreator\Spool\.
Grüße,
TT_IT
Zur Info - mit Version 1.6.0 gibt es Hoffnung:
http://forums.pdfforge.org/discussion/10297/probleme-mit-version-1-5-x-auf-terminalserver#Item_1
Hallo Community,
der o.g. Fehler besteht unter Windows Terminalserver 2008 R2 auch mit Version 1.6.1. Ich konnte das Verhalten bereits bei mehreren Installationen und Test-VMs reproduzieren. PDFCreator verwendet dort bei Usern mit einer Sitzungs-ID > 9 weiterhin Buchstaben im Temp-Verzeichnis.
Es gibt anscheinend aber einen Workaround!
Sobald in der Registry unter HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\pdfcmon die Zeichenfolge “Logging” mit dem Wert “1” erstellt wurde, tritt der Fehler nicht mehr auf. Auch wenn der Eintrag wieder gelöscht wird, ist der Fehler nicht mehr reproduzierbar. Offenbar stellt dieser Reg-Eintrag irgend etwas im System / PDFCreator um.
Schlecht ist dabei nur, dass ich den Entwicklern somit keine Log-Dateien zur Verfügung stellen kann.
@Frank:
Ich habe dir die notwendigen Informationen per E-Mail zugeschickt.
Gruß,
TT_IT
Hallo Community,
der Fehler wurde mit Version 1.6.2 gelöst.
Ich konnte den Fehler unter WTS 2003 R2 und 2008 R2 nicht mehr nachstellen.
Danke @ Frank & Philip.
Gruß,
TT_IT