8

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

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

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

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

MSDN文章似乎首先适用于Office产品,这是正确的还是-注意,这是基本问题-Tsappcmd.dll是否也修改了非Office程序,因此Delphi应用程序可能会出现错误?(当然,如果丢失的 TSAWARE 标志无害,我更愿意让 Delphi 应用程序保持不变)。

4

1 回答 1

5

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

PS:说它是防病毒的解释似乎是一个虚假的解释,这个机制是出于应用程序兼容性的原因而引入的......

于 2012-05-09T17:58:39.660 回答