After getting Delphi 2005/2006 and 2007 working again the last stumbling block was Delphi 6.
It used to work fine on Windows 8 but after the update to Windows 8.1 it always started the registration wizard for a new activation. Unfortunately this activation did not work, I tried it twice, just to be sure. So, again I turned to the Google and found Code Singh: Virtualising Delphi 6 PC (Activation Errors)
The problem described there looked a lot like the one I was having so since I had nothing to lose, I just deleted the registry entry
(I did not make a backup, what would have been the point?)
I started Delphi 6, ignored the warning about incompatibilities (which was talking about Delphi 7 anyway) and went through the registration/activation process again. This time it worked.
Maybe I should mention, that I did not install any of my Delphi versions to c:\program files but put them into c:\Delphi instead to avoid any problems with access rights to the installation directory.
Both versions require the dotNET framework 1.1 which is officially no longer supported on Windows 8 (and 8.1). According to Microsoft, you should contact your independent software vendor (ISV) to have the application upgraded to run on the .NET Framework 3.5 SP1 or later version. Good luck with that.
This is odd, because I could install and use both Delphi versions on Windows 8. The installations broke only when Windows was updated to 8.1, so Microsoft is BSing us here, at least partly.
Reinstalling the “dotNET Framework 1.1 Redistributable Package” failed with some unhelpful error message.
Praise the Google, I found a solution on this site. The .NET Framework Cleanup Tool resolved that problem. After running it, letting it clean up the mess the update apparently made of the dotNET Framework 1.1 and rebooting, I could reinstall it.
Delphi 2005 started again, complained about something regarding “Star Team” which I just ignored / disabled, and behold, the IDE seemed to work.
The same with Delphi 2006. It too complained about “Star Team” which I again just ignored / disabled. It also seemed to work.
Beware: I haven’t done much more than starting both IDEs and compiling GExperts with it. So there might still be issues.
When I updated to Windows 8.1 my Delphi 2007 installation broke. I could no longer open projects in the IDE and my command line compilation scripts also stopped working. It turned out that some files that were added by the installer to the dotNET framework were missing. In addition there is a known problem with Delphi 2007 on 64 bit Windows (starting with Vista).
This is the error message from the IDE:
followed by this one which is more readable:
(click on the picture to get it in full size)
This is the error message from my build script:
error MSB4019: The imported project
was not found. Confirm that the path in the declaration is correct,
and that the file exists on disk.
You might notice that the error messages slightly vary: The IDE complains about a missing file in …\Framework\ while the build script complains about the same file in …\Framework64\. I’ll come back to that later.
So here is what I did to fix it:
I let Windows search for the missing file Borland.Delphi.Targets and it found it in
(Unfortunately I had already deleted the backup that was created by the Windows Update process.)
After looking closer into this directory I found 4 files that match Borland.*.Targets. It stands to reason that Delphi will need them all in one way or another so I just copied all 4 of them to
After I did that, the IDE no longer complained and also was able to compile the projects.
To get the command line compile working again there are three options:
Some older advice I found on the net said to also copy these files to
I didn’t like that approach because the build process is 32 bit, so why should it involve the 64 bit dotNET framework at all?
I found that for some reason the rsvars.bat script contained the line
The Delphi 2007 installer is probably using some outdated method to find the dotNET framework, which works only on 32 bit Windows. I guess this was fixed in later versions.
So another option to fix the problem is to change the FrameworkDir to point to …\Framework\ rather than …\Framework64\.
I didn’t really like that approach either so I went for option 3.
I changed my build script to work around this issue:
(The actual build script is a bit more involved because it allows to call several different Delphi versions depending on an environment variable.)
After this change the build script worked again.
I hope this helps others to fix that problem, but I wrote this post mostly to find this information later if I need it again. 😉
Just in case you are wondering:
Delphi 2006 and 2005 don’t work either. They are missing an older version of the dotNET framework which was there in Windows 8 but vanished in the update process. Thanks Microsoft! But there is a solution.
Delphi 7 still works. Delphi 6 has some issue with not finding its registration information that I haven’t looked into yet.