Könnte dieses Problem auch für Delphi-Anwendungen gelten, die auf Terminalservern ausgeführt werden?
Wie im MSDN-Artikel " eine Office 2007- oder Office 2003-Anwendung ausgeführt wird auf einem Server mit dem Remotedesktop-Sitzungshost wird möglicherweise unerwartet in Windows Server 2008 R2 geschlossen "erklärt
Dieses Problem tritt wegen der Tsappcmd.dll-Komponente auf. Dies Komponente nimmt Änderungen an der Importadressentabelle (IAT) für Anwendungen, die Terminalserver nicht bewusst sind, um zu verhindern Viren oder Malware, die die Anwendung bösartig hooken. weil davon kann die Anwendung temporäre Speicherbeschädigung auftreten wegen der Reihenfolge, in der die Module geladen sind. Büro 2007 und Office 2003 enthält das TSAWARE-Header-Flag nicht. Diese Markierung benachrichtigt der Server, für den die Anwendung Terminal Server ist.
Einige Delphi 2009-Anwendungen in einer Benutzerumgebung (Windows Server 2008 R2 Service Pack 1) hängen häufig ab oder stürzen ab. Ich suche nach möglichen Gründen, da diese Hänge / Abstürze nicht reproduziert werden können.
Der MSDN-Artikel scheint zuerst auf Office-Produkte anzuwenden, ist dies korrekt oder - Achtung, hier ist die grundlegende Frage - ändert Tsappcmd.dll auch Nicht-Office-Programme, damit der Fehler auftreten kann Delphi Apps? (Natürlich würde ich es vorziehen, die Delphi-Anwendungen unberührt zu lassen, wenn das fehlende TSAWARE-Flag nicht schädlich ist).
Ja Tsappcmd.dll wirkt sich auf alle und alle Programme aus, die nicht das TSAWARE-Flag im PE-Header haben. Dies bedeutet jedoch nicht automatisch, dass alle diese Apps von diesem speziellen Fehler betroffen sind. Sie können dies jedoch leicht testen, indem Sie das TSAWARE-Flag (siehe den Link, den TOndrej meinem Blog bereitgestellt hat) oder den Registrierungsschlüssel festlegen, der im KB-Artikel erwähnt wird.
PS: Die Erklärung, dass es sich um einen Schutz vor Viren handelt, scheint eine falsche Erklärung zu sein. Dieser Mechanismus wurde aus App-Kompatibilitätsgründen eingeführt ...
Tags und Links delphi remote-desktop terminal-services