2012-05-09 10 views
8

Questo problema può essere applicato anche alle applicazioni Delphi in esecuzione su Terminal Server?Applicazioni Delphi e il flag di intestazione TSAWARE

Come l'articolo di MSDN "An Office 2007 or Office 2003 application that is running on an RD Session Host server may close unexpectedly in Windows Server 2008 R2", spiega

Questo problema si verifica a causa della componente Tsappcmd.dll. Questo componente apporta modifiche alla tabella degli indirizzi di importazione (IAT) per le applicazioni che non sono a conoscenza di Terminal Server per impedire virus o malware da aggancio dannoso dell'applicazione. Perché di ciò, l'applicazione si può verificare il danneggiamento di memoria temporanea causa dell'ordine in cui si caricano i moduli. Office 2007 e Office 2003 non contengono il flag di intestazione TSAWARE. Questo flag notifica a il server a conoscenza dell'applicazione Terminal Server.

Alcune 2009 applicazioni Delphi in un ambiente utente (Windows R2 Service Server 2008 Service Pack 1) spesso appendere o crash. Sto cercando possibili ragioni, in quanto questi blocchi/arresti anomali non possono essere riprodotti.

L'articolo MSDN sembra applicarsi ai prodotti per ufficio in primo luogo, questo è corretto o - attenzione, ecco la domanda di base - non Tsappcmd.dll anche modificare i programmi non di Office in modo da l'errore può verificarsi con le applicazioni Delphi? (Ovviamente preferirei lasciare intatte le applicazioni Delphi se la flag TSAWARE mancante non è dannosa).

+1

Usa map2dbg e Process Explorer per diagnosticare dove il processo sta bloccando. –

+4

[Howto] (http://www.remkoweijnen.nl/blog/2007/11/24/delphi-and-terminal-server-aware/) imposta la flag TSAWARE –

+4

Interessante domanda. Vedi anche: http://stackoverflow.com/questions/4854534/what-does-an-application-have-to-in-order-support-remote-desktop-services –

risposta

5

Sì Tsappcmd.dll influenzerà tutti i programmi che non hanno il flag TSAWARE nell'intestazione PE. Questo NON significa automaticamente che tutte queste app sono affette da questo particolare bug. Ma puoi facilmente testarlo impostando il flag TSAWARE (vedi il link che TOndrej ha fornito al mio blog) o impostando la chiave di registro menzionata nell'articolo della Knowledge Base.

PS: la spiegazione che si tratta di una protezione contro i virus sembra una spiegazione fasulla, questo meccanismo è stato introdotto per motivi app compat ...