I’m doing some build automation and would like to run the Delphi 7 IDE from an Application that I’m writing using Delphi XE.
My Delphi 7 IDE is at:
'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe'
yet doing:
ShellExecute( Handle, 'Open', 'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe', '', '', sw_ShowNormal );
eventually gets into the Delphi 7 IDE but only after lots of missing package errors.
Doing:
ShellExecute( Handle, 'Open', 'C:\windows\notepad.exe', '', '', sw_ShowNormal );
works file opening Notepad.
I also have a batch file called ‘Delphi7IDE.bat’ which opens Delphi 7 when I click the batch file, but doing:
ShellExecute( Handle, 'Open', 'C:\sys\batch\Delphi7IDE.bat', '', '', sw_ShowNormal );
produces the same errors as above.
I’ve tried using the directoy as specified in my Delphi 7 menu shortcut (i.e calling:
ShellExecute( Handle, 'Open', 'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe', '', 'C:\Program Files\Borland\Delphi7\Projects\', sw_ShowNormal );"
but this gives the same error (and this is to be expected because the batch file example above has no fixed directory and runs fine when clicked).
There are multiple errors, but an exampler of one is 
What am I doing wrong please?
Now I think I get it. Delphi 7 is old. Windows Vista (or 7) is new. You are running
delphi32.exeas administrator, for compatibility, aren’t you? That is, if you right-clickdelphi32.exe(or the short cut), you have selected “Run this program as an administrator” in the “Compatibility” tab. If you rundelphi32.exeas an administrator, everything is fine, but if you don’t, you get all these errors during startup.And now, when you
ShellExecutedelphi32.exefrom your Delphi application,delphi32.exeinherits the privileges of your Delphi application. This is most likely running without any elevated privileges, and so willdelphi32.exe.The solution: right-click your Delphi application (
Project1.exe, say), select the “Compatibility” tab, and click the “Run this program as an administrator” checkbox.