【发布时间】:2017-07-10 16:51:58
【问题描述】:
一年来,有时在我的 Window 7 上安装新软件(IIRC,几十个,这些软件与 Delphi IDE 无关)当 Delphi XE4 IDE 运行时,系统会不断弹出以下 错误消息 - 在此示例中,当我安装 Cyberduck 时,出现了 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