During the month of August 2014, Microsoft issued a security patch for Windows (http://support.microsoft.com/kb/2993651).
This update had an impact on past versions of our development tools, including RAD Studio, Delphi, and C++Builder from version 2007 to version 2010.
More recent versions of our IDEs (the XE series) are not affected.
While each of these IDEs will start properly the first time, upon a follow up execution the error "Cannot create …EditorLineends.ttr" will appear and the IDE will not start.
This is caused by a temporary font remaining after the first start of the IDE which should be replaced.
For security reasons, fonts must now be stored in a specific folder, therefore this behaviour is no longer allowed by Windows.
There is a workaround (to avoid rebooting Window) and an effective solution:
* A workaround is to run the following script before starting the IDE (start up code depends on your version of the product):
del %temp%EditorLineEnds*.tt
set dt=%date%_%time:~3,2%-%time:~6,2%
rename "%temp%EditorLineEnds.ttr" "EditorLineEnds_%dt%.ttr"
start "" "C:Program FilesBorlandBDS4.0Binbds.exe"
* A suggested solution is to download and install a simple open source utility written to address the issue.
This is available at https://sourceforge.net/projects/dzeditorlineendsfix/ or via a direct download link at http://sourceforge.net/projects/dzeditorlineendsfix/files/dzEditorLineEndsFix.zip/download .
The program, available also in source code format, is a tray icon application that monitors the temp folder for the specific file, and automatically handles it.
This will then allow the IDEs to start without producing the error.
When using open source project, it is recommended that the source code is recompiled. The open source utility is provided as-is by the developers.
Disclaimer: The suggestions made in this article are not officially supported by Embarcadero. Any issue in the use of either the workaround or suggested tool cannot be supported by Embarcadero.
Article originally contributed by Peter Manning