IDE won’t run after BDS2006 Update 2
There have been a few reports in the public newsgroups of people who are unable to run the IDE after they install BDS 2006 Update 2. Basically, the IDE will start to run and as soon as the splash screen is shown, it will shutdown.
Here’s one such thread. And here’s another one. It is also reported in Quality Central as http://qc.borland.com/wc/qcmain.aspx?d=27973
Here’s the workaround posted in the newsgroups as well as in Quality Central. Note that this is an abbreviated version; more info can be seen by looking at the newsgroup threads and QC item:
- In the directory (USERHOME)\Application Data\Microsoft\Crypto\RSA\(some long directory name) there is a file which BDS accesses during startup.
- Use a file monitoring utility (such as FileMon (www.sysinternals.com)) to determine which one it is.
- Delete this file, then Delphi Update #2 will start normally.
Thanks to “Mike“ (last name unknown) for discovering this “workaround“.
This info was very useful in investigating the problem. It points to the cause of this failure being the IDE’s use of the MS Crypto API. The IDE uses this API to verify the Borland digital signature in the packages and DLLs it loads. The code to do this is not new to Update 2, but there is one additional call to this verification code during IDE startup that can result in the failure of the IDE to run.
An interesting thing to note is that machines that exhibit this behavior with Update2 would most likely have been noticably slower in starting the IDE becuase of this same problem. This is because the IDE uses this signature verification to skip duplicate unit checking for Borland signed packages during IDE startup. Prior to Update 2, this failure would have been benign — other than the slower IDE start times – but it was a failure nonetheless. As a side note, for more info on duplicate unit checking, Hallvard Vassbotn has a good blog entry on duplicate unit checking and how it affects performance in older versions of Delphi.
Based on the information I have (though without an actual machine available that experiences this failure), I believe I have a fix for this issue. So if you experience this problem with Update 2, and you are the adventurous type who wouldn’t mind testing my fix, drop me an email (using the “Contact“ link on this blog) and I would be happy to send you an updated version of coreide100.bpl with my fix.
For those less-adventurous types out there, feel free to try the workarounds mentioned above, as they seem to have helped others who are running into this problem.
Note: If you’ve already employed the workaround reported in the newsgroups, then unfortunately, it won’t do much good to try my fix.
Thanks go to Craig Stuntz (of TeamB) for bringing this issue to my attention.
Share This | Email this page to a friend
Posted by Chris Hesik on April 27th, 2006 under Uncategorized |

RSS Feed

May 29th, 2006 at 12:18 am
Unfortunately, this is only one of the bugs introduced with Update 2. Another error that is a showstopper for me is that you get strange virdef errors when you compile C++ via makefile.
To me, update 2 is an "avoid! avoid!" and it is the first time Borland has produced an update that is actually less stable than the previous one.
September 11th, 2006 at 9:47 pm
This also fixes the problem I was having with the new Turbo Explorer edition of Delphi (and C++ Builder, one at a time)
Deleting the file then invoking bds.exe worked!
September 14th, 2006 at 2:11 pm
I really would like to try your fox