Delphi应用程序和TSAWARE头标志

mjn*_*mjn 8 delphi remote-desktop terminal-services

这个问题是否也适用于在终端服务器上运行的Delphi应用程序?

正如MSDN文章" 在RD会话主机服务器上运行的Office 2007或Office 2003应用程序可能在Windows Server 2008 R2中意外关闭 "解释

出现此问题是因为Tsappcmd.dll组件.此组件对非终端服务器感知的应用程序更改导入地址表(IAT),以防止病毒或恶意软件恶意挂钩应用程序.因此,由于加载模块的顺序,应用程序可能会遇到临时内存损坏.Office 2007和Office 2003不包含TSAWARE标头标志.此标志通知服务器应用程序可识别终端服务器.

用户环境中的某些Delphi 2009应用程序(Windows Server 2008 R2 Service Pack 1)经常挂起或崩溃.我正在寻找可能的原因,因为这些挂起/崩溃无法再现.

MSDN文章似乎首先适用于Office产品,这是正确的还是 - 注意,这里是基本问题 - Tsappcmd.dll是否也修改了非Office程序,以便Delphi应用程序出错?(当然,如果丢失的TSAWARE标志无害,我宁愿保持Delphi应用程序不受影响).

Rem*_*mko 5

是的Tsappcmd.dll将影响PE头中没有TSAWARE标志的所有程序.但这并不意味着所有这些应用程序都受此特定错误的影响.但是您可以通过设置TSAWARE标志(请参阅TOndrej提供给我的博客的链接)或设置KB文章中提到的注册表项来轻松测试.

PS:它是一种防病毒保护的解释似乎是一种虚假的解释,这种机制是出于app compat原因引入的......