Delphi 7 and Windows 10

Delphi 7I recently managed to crash my development machine so hard that not even a recovery was possible. After the OS the next thing to install was Delphi 7 and I had to face with the usual compatibility issues.
Had enough of researching, it's time to put all necessary steps at one place to make this 15-year-old software to work on a modern system, like Windows 10!
First things first: Install Delphi 7. The process is simple and needs nothing special to succeed. Select the components you want to install, then it's simply next-next-finish.
  • Install Delphi
Once it is done, start the Delphi IDE. You might receive an error message saying that some files could not be renamed - just ignore these for now. Once Delphi is fully loaded - close it. This step is needed because I faced some issues installing the 7.1 update if Delphi was not started yet. Now we are ready to install the 7.1 update:
  • Install Delphi patches
This is even more easy than installing Delphi itself. It offers you a simple Update or Cancel option... choose the one your heart desires.
Now comes the fun part. UAC did not exist when Delphi was released, and it protects the Program Files folder too - this is why you received the error message above. Most people just set the OS compatibility settings of delphi32.exe to launch elevated all the times and however this solution works, there is a huge flaw with it. I am storing my source codes on my home folder, which appears to be a network drive. And without any further hacking, elevated applications can not access mapped resources! So either I will move everything back to a local folder, or...
Open File Explorer and navigate to C:\Program Files. Right-click on the folder Borland, select Properties and navigate to the Security tab. Press the Edit button, in the appearing window press the Add... button. Now type Everyone, and click on OK. Make sure that Everyone is selected, and check the Full control checkbox. It should look like this:
  • Set ACLs
Press OK and OK. Finally, UAC is out of the picture and I can start installing my components! Well, not really. When I double-clicked on any associated file (a component package for example), Delphi launched but it did not load anything. I was greeted with a new Project. To fix this, start up Registry editor (Start -> regedit.exe -> enter) and expand the HKEY_CLASSES_ROOT key. Here you will find multiple keys starting with Delphi (I had DelphiCLXForm, DelphiForm, DelphiPackage, DelphiProject and DelphiUnit) and we need to modify them all. Under each, you'll have to expand Shell, Open and click on the Command key. On the right pane, double-click the (default) value and replace the /np with "%1" in the value data:
  • Registry modification for assigned files not opening
Update 2018.07.04
Since my development machine died I was forced to re-install Delphi 7 and revisit the steps to make it fully working on Windows 10. I am using a Hungarian keyboard and quickly realized that characters requiring an Alt-Gr key combination are not working, instead they pop up their respective hotkey functions. Fortunately the fix is easy: start up Registry editor (Start -> regedit.exe -> enter), browse to HKEY_CURRENT_USERS\Software\Borland\Delphi\7.0\Editor and select the Options key. Right-click the right pane and select New -> DWORD (32 bit) Value. Name it as "NoCtrlAltKeys". Once the value is created, double-click on it and set 1 as it's value:
  • Registry modification for AltGR keys not working
If you happened to decide to set the compatibility settings of delphi32.exe to always launch elevated, you will need a registry key to allow elevated applications to access network locations. Browse to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies and click on the System key. Create a new DWORD Value named "EnableLinkedConnections" and set 1 as value:
  • Registry modification for files not opening on network locations
After this, reboot the PC and it should be all working.
Until now Delphi is running just fine. If there is anything else, I'll update this post.

Add a comment

HTML code is displayed as text and web addresses are automatically converted.

This post's comments feed