这个问题是否也适用于在终端服务器上运行的 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 应用程序不变)。
是的,Tsappcmd.dll 会影响 PE 标头中没有 TSAWARE 标志的所有程序。然而,这并不自动意味着所有这些应用程序都会受到这个特定错误的影响。但是您可以通过设置 TSAWARE 标志(请参阅 TOndrej 向我的博客提供的链接)或设置知识库文章中提到的注册表项来轻松测试这一点。
PS:它是针对病毒的保护的解释似乎是一个虚假的解释,这种机制是出于应用程序兼容性原因而引入的......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)