【问题标题】:Is the Delphi IDE hijacking my system?Delphi IDE 是否劫持了我的系统?
【发布时间】:2017-07-10 16:51:58
【问题描述】:

一年来,有时在我的 Window 7 上安装新软件(IIRC,几十个,这些软件与 Delphi IDE 无关)当 Delphi XE4 IDE 运行时,系统会不断弹出以下 错误消息 - 在此示例中,当我安装 Cyber​​duck 时,出现了 40 多次。

翻译成英文时的错误信息为"Unable to start this program because **rtl180.bpl** is missing from the computer. Try solve the problem by re-installing the program ."

如果 Delphi XE4 IDE 没有运行,我就不会有这个问题。或者,如果我关闭 IDE,在永无止境的错误消息循环中,问题就会消失。

为什么会这样? IDE 是在监控我的系统还是什么?

关于解决问题的任何想法和建议? 是否有任何工具可以帮助追踪问题与 Delphi IDE 之间的关系?谢谢。


更新 1:为了克服 Windows 路径限制,我似乎使用 符号链接“缩短”了我的路径,我不记得细节了,看这个截图:


更新 2:包含下面Process Monitor 捕获的日志,现在我真的很困惑 - 今天我升级了 putty 0.68,每当启动 putty 时都会发生此错误,ProcessMon 告诉我putty.exe 想要创建文件C:\Users\Public\Documents\RAD Studio\11.0\Bpl\rtl180.bpl.. 顺便说一句,我**没有** rtl180.bpl 在上述文件夹中...有什么问题吗?

PUTTY.EXE   CreateFile  C:\Users\Public\Documents\RAD Studio\11.0\Bpl\rtl180.bpl    NAME NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

PUTTY.EXE   CreateFile  C:\Windows\SysWOW64\rtl180.bpl  NAME NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

【问题讨论】:

  • 你有 sysinternals,所以我会启动 Procmon 并过滤 rtl180.bpl。看看它在哪里被搜索并从那里得出结论。
  • 应用程序可能是用 .NET 编写的,但安装程序似乎是用 Delphi 编写的......
  • @whosrdaddy,在 Delphi 中创建一个安装程序,该安装程序使用依赖于大多数系统上可能不存在的 bpl 的软件包进行编译。
  • 我在某些应用程序中使用符号链接时遇到了很多问题,Delphi 就是其中之一。你能尝试用我的这篇博文中描述的环境变量替换这些符号链接吗:uweraabe.de/Blog/2014/09/09/the-garbled-path-variable
  • @EdwinYip - 在这种情况下,CreateFile 不是创建文件,而是打开现有文件(尝试)。为什么在升级腻子后搜索 bpl 很奇怪。首先想到的是恶意软件。我有兴趣查看整个 procmon 跟踪(启动 procmon、启动 putty、停止 procmon)。我还强烈建议对您的系统进行扫描。使用 autoruns 和 procexp 并打开“Check Virustotal”来验证您是否有恶意软件正在运行。

标签: delphi delphi-xe4 delphi-ide


【解决方案1】:

找到问题的原因 - 我有一个安装的 IDE 专家 modified 来自@RRUZ 的 Delphi IDE Colorizer 的早期版本,用于扩大编辑器选项卡的字体大小,因为 IDE不适用于大型系统 DPI 设置:(How to change the font size of the editor tabs in Delphi 2010 IDE?)。

禁用上述专家后,问题就消失了。一定有一些与系统注入有关的东西出错了。我会试着弄清楚如何修改它。

感谢大家的帮助。


我如何找到问题的根源:使用 Sysinternals 的 Process Monitor 工具,由 Delphi G+ 组的 Jeroen Wiert Pluimers 建议。 ProcMon 截图:

【讨论】:

  • fwiw - Procmon = Process Monitor
猜你喜欢
  • 2011-05-05
  • 2013-03-30
  • 1970-01-01
  • 2023-03-16
  • 2013-08-08
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
相关资源
最近更新 更多