From: Andreas H. <ah...@us...> - 2004-12-29 23:41:01
|
Update of /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Pages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29386/install/JVCLInstall/Pages Modified Files: PgIDESelection.pas Log Message: Make.exe from D5, C5, D6, C6 and D7 do not work properly with long paths in PATH. Now the Installer uses ExtractShortPathName for the PATH paths The Installer and build.exe support Environment macros like $(JCL). The Installer blocks a Delphi version when the CJCLxx.bpl file is missing. Index: PgIDESelection.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/install/JVCLInstall/Pages/PgIDESelection.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PgIDESelection.pas 23 Dec 2004 00:25:13 -0000 1.5 --- PgIDESelection.pas 29 Dec 2004 23:40:46 -0000 1.6 *************** *** 32,36 **** uses ! Windows, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls, Dialogs, ExtCtrls, Core, JVCL3Install, DelphiData, JVCLData, JCLData; --- 32,37 ---- uses ! Windows, ShellAPI, ! SysUtils, Classes, Graphics, Controls, Forms, StdCtrls, Dialogs, ExtCtrls, Core, JVCL3Install, DelphiData, JVCLData, JCLData; *************** *** 298,301 **** --- 299,303 ---- Tg: TTargetConfig; Cmd, Dir: string; + JCLExitCode: Cardinal; begin Version := 5; // find the newest Delphi version *************** *** 322,327 **** Assert(Tg <> nil, 'No Delphi/BCB installed'); // do not localize ! Dir := ExtractShortPathName(Installer.JCLDir) + '\install'; ! Cmd := ExtractShortPathName(Tg.Target.Make); StartupInfo.cb := SizeOf(StartupInfo); --- 324,329 ---- Assert(Tg <> nil, 'No Delphi/BCB installed'); // do not localize ! Dir := ExtractShortPathName(Installer.JCLDir) + '\install\build'; ! Cmd := Dir + '\build.exe newest "--make=installer"'; StartupInfo.cb := SizeOf(StartupInfo); *************** *** 333,340 **** CloseHandle(ProcessInfo.hThread); WaitForSingleObject(ProcessInfo.hProcess, INFINITE); PackageInstaller.RebuildPage; end else ! raise Exception.Create(RsErrorInstallingJCL); end; --- 335,349 ---- CloseHandle(ProcessInfo.hThread); WaitForSingleObject(ProcessInfo.hProcess, INFINITE); + GetExitCodeProcess(ProcessInfo.hProcess, JCLExitCode); + CloseHandle(ProcessInfo.hProcess); + if JCLExitCode <> 0 then + ShellExecute(0, 'open', 'http://jcl.sf.net', nil, nil, SW_NORMAL); PackageInstaller.RebuildPage; end else ! begin ! if ShellExecute(0, 'open', 'http://jcl.sf.net', nil, nil, SW_NORMAL) < 32 then ! raise Exception.Create(RsErrorInstallingJCL); ! end; end; |