0

Over the year, sometimes when installing a new software ( IIRC, dozens of them, and these software has nothing to do with the Delphi IDE) on my Window 7 system while the Delphi XE4 IDE is running, the following error message would keep popping up - over 40 times in this example when I was installing Cyberduck. enter image description here

The error message when translated to English reads "Unable to start this program because **rtl180.bpl** is missing from the computer. Try solve the problem by re-installing the program .".

If the Delphi XE4 IDE is not running I wouldn't have this problem. Or during the never-ending error messages loop if I close the IDE the problem will go away.

Why this is happening? Is the IDE monitoring my system or something?

Any thoughts and any advices on fixing the problem? Is there any tool that might help tracking down the relationship between the problem and the Delphi IDE? Thanks.


Update 1: In order to overcome the Windows path limit, I seem to have "shorten" my paths using symbol links, I couldn't remember the details, see this screenshot: enter image description here


Update 2: Included logs captured by Process Monitor below, now I'm really confused - Today I upgraded putty 0.68, and this error happens whenever putty is starting, and ProcessMon tells me that putty.exe would want to create the file C:\Users\Public\Documents\RAD Studio\11.0\Bpl\rtl180.bpl.. BTW, I ** do not** have rtl180.bpl in the above mentioned folder... Anything wrong?

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
Edwin Yip
  • 4,089
  • 4
  • 40
  • 86
  • The only feasible explanation is that Cyberduck is a delphi application that uses runtime packages. I believe that when you run the IDE, it alters some environment variables that could affect other Delphi applications... – whosrdaddy Feb 21 '17 at 08:00
  • @whosrdaddy after checking the "window classes" and the its installation directory, I believe cyberduck is developed in dot net, not delphi. – Edwin Yip Feb 21 '17 at 08:03
  • 1
    You have sysinternals so I'd start Procmon and filter for `rtl180.bpl`. See where it's being searched and draw conclusions from there. – Lieven Keersmaekers Feb 21 '17 at 08:18
  • 1
    The application may be written in .NET but it seems that the installer is written in Delphi... – whosrdaddy Feb 21 '17 at 08:29
  • 1
    @whosrdaddy, it would be pretty braindead to create an installer in Delphi compiled with packages that is dependent on a bpl that is probably not present on the majority of systems. – Uwe Raabe Feb 21 '17 at 09:00
  • 1
    I have had quite some problems using symbol links with some applications, Delphi being one of them. Can you try to replace these symbol links with environment variables as described in this blog post of mine: http://www.uweraabe.de/Blog/2014/09/09/the-garbled-path-variable/ – Uwe Raabe Feb 21 '17 at 09:04
  • Not really a programming question. A system issue which mentions a DLL (with the extension BPL) which is shipped not only with the Delphi IDE but also with a wide variety of other applications that could be on your computer, including this CyberDuck thing. Most likely the Delphi IDE loads the DLL and since the DLL is cached and in memory it's being used by some other application that uses it. Windows is hijacking itself thanks to the bizarre way the DLLs function in Windows. – Warren P Feb 21 '17 at 13:48
  • 1
    @EdwinYip - The [CreateFile](https://msdn.microsoft.com/en-us/library/aa363858(v=VS.85).aspx) is not creating a file but opening an existing file *(trying to)* in this case. Why it is searching for the bpl after upgrading putty is weird. First thing that comes to mind is malware. I would be interested to see the entire procmon trace (start procmon, start putty, stop procmon). I would also highly suggest a scan of your system. Use autoruns and procexp and turn on "Check Virustotal" to verify if you have malware running. – Lieven Keersmaekers Feb 24 '17 at 10:24

1 Answers1

0

Found the cause of the issue - I have an installed IDE expert modified from the earlier version of the Delphi IDE Colorizer by @RRUZ, for enlarging the font size of the editor tabs, because the IDE didn't work well with large system DPI settings: (How to change the font size of the editor tabs in Delphi 2010 IDE?).

After disabled the above mentioned expert, the issue gone away. There must be something related to system injection that went wrong. I'll try to figure out how to modify it.

Thank you for all the help.


How did I find the source of the problem: Using the Process Monitor tool by Sysinternals, as suggested by Jeroen Wiert Pluimers, in the Delphi G+ group. ProcMon screenshot: enter image description here

Community
  • 1
  • 1
Edwin Yip
  • 4,089
  • 4
  • 40
  • 86