diff --git a/.gitignore b/.gitignore index 0b3ccc9..37ef3da 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ *.drc *.dcu /*.identcache +*.rsm diff --git a/Build_x64Debug.bat b/Build_x64Debug.bat index e840e28..bd086fd 100644 --- a/Build_x64Debug.bat +++ b/Build_x64Debug.bat @@ -1,5 +1,19 @@ +@echo off +set dll=%CD%\Win64\Debug\DelphiDevShellTools.dll +if exist %dll% ( + echo Unregistering + powershell -Command "start-process cmd \"/c regsvr32 %dll% /u \" -Verb RunAs" + del %dll% + pause +) +if exist %dll% ( + echo DLL was locked by explorer so restarting explorer. + taskkill /F /IM explorer.exe + del %dll% + start explorer.exe +) BRCC32 VersionInfo.rc -call "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\rsvars.bat" +call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat" msbuild.exe "DelphiDevShellTools.dproj" /target:Clean;Build /p:Platform=Win64 /p:config=debug set BUILD_STATUS=%ERRORLEVEL% if %BUILD_STATUS%==0 GOTO Updater diff --git a/Build_x64Release.bat b/Build_x64Release.bat index 481d243..88ab463 100644 --- a/Build_x64Release.bat +++ b/Build_x64Release.bat @@ -1,4 +1,18 @@ +@echo off +set dll=%CD%\Win64\Release\DelphiDevShellTools.dll +if exist %dll% ( + echo Unregistering + powershell -Command "start-process cmd \"/c regsvr32 %dll% /u \" -Verb RunAs" + del %dll% + pause +) +if exist %dll% ( + echo DLL was locked by explorer so restarting explorer. + taskkill /F /IM explorer.exe + del %dll% + start explorer.exe +) BRCC32 VersionInfo.rc -call "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\rsvars.bat" +call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat" msbuild.exe "DelphiDevShellTools.dproj" /target:clean;build /p:Platform=Win64 /p:config=release pause \ No newline at end of file diff --git a/Build_x86Debug.bat b/Build_x86Debug.bat index aef5f42..afff130 100644 --- a/Build_x86Debug.bat +++ b/Build_x86Debug.bat @@ -1,4 +1,18 @@ +@echo off +set dll=%CD%\Win32\Debug\DelphiDevShellTools.dll +if exist %dll% ( + echo Unregistering + powershell -Command "start-process cmd \"/c regsvr32 %dll% /u \" -Verb RunAs" + del %dll% + pause +) +if exist %dll% ( + echo DLL was locked by explorer so restarting explorer. + taskkill /F /IM explorer.exe + del %dll% + start explorer.exe +) BRCC32 VersionInfo.rc -call "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\rsvars.bat" +call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat" msbuild.exe "DelphiDevShellTools.dproj" /target:Clean;Build /p:Platform=Win32 /p:config=debug pause \ No newline at end of file diff --git a/Build_x86Release.bat b/Build_x86Release.bat index cbc2f5c..13e72c7 100644 --- a/Build_x86Release.bat +++ b/Build_x86Release.bat @@ -1,4 +1,18 @@ +@echo off +set dll=%CD%\Win32\Release\DelphiDevShellTools.dll +if exist %dll% ( + echo Unregistering + powershell -Command "start-process cmd \"/c regsvr32 %dll% /u \" -Verb RunAs" + del %dll% + pause +) +if exist %dll% ( + echo DLL was locked by explorer so restarting explorer. + taskkill /F /IM explorer.exe + del %dll% + start explorer.exe +) BRCC32 VersionInfo.rc -call "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\rsvars.bat" +call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat" msbuild.exe "DelphiDevShellTools.dproj" /target:clean;build /p:Platform=Win32 /p:config=release pause \ No newline at end of file diff --git a/DelphiDevShellTools.dproj b/DelphiDevShellTools.dproj index 955cc87..1103bba 100644 --- a/DelphiDevShellTools.dproj +++ b/DelphiDevShellTools.dproj @@ -1,15 +1,15 @@  - {93B8A149-40C5-44F2-AF82-FD06AA5CEC4A} - 18.6 - VCL - DelphiDevShellTools.dpr True + Library Release + DCC32 + VCL + DelphiDevShellTools.dpr Win64 + {93B8A149-40C5-44F2-AF82-FD06AA5CEC4A} + 19.4 3 - Library - DCC32 true @@ -60,109 +60,104 @@ DelphiDevShellTools + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + bindcompfmx;fmx;rtl;dbrtl;IndySystem;DbxClientDriver;bindcomp;inetdb;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;xmlrtl;DbxCommonDriver;IndyProtocols;DBXMySQLDriver;dbxcds;bindengine;soaprtl;DBXOracleDriver;dsnap;DBXInformixDriver;IndyCore;DBXFirebirdDriver;inet;inetdbxpress;DBXSybaseASADriver;dbexpress;DataSnapIndy10ServerTransport;IPIndyImpl;CloudService;$(DCC_UsePackage) + true None - 3 + 21 + CompanyName=;FileDescription=;FileVersion=0.1.3.21;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 1033 0 1 - 21 - CompanyName=;FileDescription=;FileVersion=0.1.3.21;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= - true - bindcompfmx;fmx;rtl;dbrtl;IndySystem;DbxClientDriver;bindcomp;inetdb;DBXInterBaseDriver;DataSnapClient;DataSnapCommon;DataSnapServer;DataSnapProviderClient;xmlrtl;DbxCommonDriver;IndyProtocols;DBXMySQLDriver;dbxcds;bindengine;soaprtl;DBXOracleDriver;dsnap;DBXInformixDriver;IndyCore;DBXFirebirdDriver;inet;inetdbxpress;DBXSybaseASADriver;dbexpress;DataSnapIndy10ServerTransport;IPIndyImpl;CloudService;$(DCC_UsePackage) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false + 3 true - 0 - 1 - 0 - 0 - vcldbx;vclib;inetdbbde;DBXOdbcDriver;svnui;ibxpress;DBXSybaseASEDriver;vclimg;fmi;vclactnband;vcldb;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;websnap;vclribbon;VclSmp;vcl;DataSnapConnectors;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;svn;bdertl;adortl;AzureCloud;$(DCC_UsePackage) Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + vcldbx;vclib;inetdbbde;DBXOdbcDriver;svnui;ibxpress;DBXSybaseASEDriver;vclimg;fmi;vclactnband;vcldb;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;websnap;vclribbon;VclSmp;vcl;DataSnapConnectors;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;svn;bdertl;adortl;AzureCloud;$(DCC_UsePackage) $(BDS)\bin\default_app.manifest + 0 CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 0 true - 0 - 1 - 0 - 0 - DBXOdbcDriver;DBXSybaseASEDriver;vclimg;vclactnband;vcldb;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;websnap;VclSmp;vcl;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;$(DCC_UsePackage) Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + DBXOdbcDriver;DBXSybaseASEDriver;vclimg;vclactnband;vcldb;vcldsnap;bindcompvcl;vclie;vcltouch;DBXDb2Driver;websnap;VclSmp;vcl;DBXMSSQLDriver;dsnapcon;vclx;webdsnap;$(DCC_UsePackage) $(BDS)\bin\default_app.manifest + 0 CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 0 + true DEBUG;$(DCC_Define) - false true - true + false true true EL;EUREKALOG;EUREKALOG_VER7;$(DCC_Define) - 0 - 1 - 0 - $(BDS)\bin\default_app.manifest 3 false + $(BDS)\bin\default_app.manifest 4 CompanyName=;FileVersion=1.0.0.4;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 0 true EL;$(DCC_Define) - 0 - 1 - $(BDS)\bin\default_app.manifest - 1 - CompanyName=;FileVersion=0.1.1.26;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - 26 3 C:\Windows\explorer.exe + $(BDS)\bin\default_app.manifest + 26 + CompanyName=;FileVersion=0.1.1.26;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 1 - false + 0 RELEASE;$(DCC_Define) + false 0 - 0 true - true + 2 madExcept;$(DCC_Define) - 0 - 0 - 1 - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) - 0 true + true 3 - 2 + $(BDS)\bin\default_app.manifest + 0 + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 0 true 2 - true madExcept;$(DCC_Define) + true 3 - 0 - 0 - 1 $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) 0 + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName) + 1 + 0 + 0 @@ -177,10 +172,6 @@ - - Cfg_2 - Base - Base @@ -188,6 +179,10 @@ Cfg_1 Base + + Cfg_2 + Base + Delphi.Personality.12 @@ -197,6 +192,7 @@ DelphiDevShellTools.dpr + False False @@ -224,413 +220,19 @@ 1.0.0.0 - - Embarcadero C++Builder Office 2000 Servers Package - Embarcadero C++Builder Office XP Servers Package - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - 1 + False + False + False + False + False True True + False 12 diff --git a/DelphiVersions.db b/DelphiVersions.db index 94a1d63..1dd4571 100644 --- a/DelphiVersions.db +++ b/DelphiVersions.db @@ -20,14 +20,16 @@ - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index ed73336..aaca94a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ * Supports Delphi 5, 6, 7, 2005, BDS/Turbo 2006 * RAD Studio 2007, 2009, 2010 * RAD Studio XE-XE8 -* RAD Studio 10 Seattle, [RAD Studio 10.1 Berlin](https://www.embarcadero.com/es/app-development-tools-store/rad-studio) +* RAD Studio 10 Seattle to [11.1 Alexandria](https://www.embarcadero.com/products/rad-studio/whats-new-in-11-alexandria) * Appmethod * [Lazarus 1.6](http://www.lazarus-ide.org/) * Works in Windows 10/8/7/XP. (x86 and x64 versions) diff --git a/VersionInfo.RES b/VersionInfo.RES index bdf232c..a1cc021 100644 Binary files a/VersionInfo.RES and b/VersionInfo.RES differ diff --git a/Win32/Debug/register.bat b/Win32/Debug/register.bat index c0feb3e..b36b6d7 100644 --- a/Win32/Debug/register.bat +++ b/Win32/Debug/register.bat @@ -1 +1,9 @@ -regsvr32 "DelphiDevShellTools.dll" \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll + +if exist %dll% ( + powershell -Command "start-process cmd \"/c regsvr32 %dll%\" -Verb RunAs" +) else ( + echo "DelphiDevShellTools.dll not found. Run Build first." + Pause +) \ No newline at end of file diff --git a/Win32/Debug/unregister.bat b/Win32/Debug/unregister.bat index ec00418..a650641 100644 --- a/Win32/Debug/unregister.bat +++ b/Win32/Debug/unregister.bat @@ -1 +1,3 @@ -regsvr32 "DelphiDevShellTools.dll" /U \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll +powershell -Command "start-process cmd \"/c regsvr32 /U %dll%\" -Verb RunAs" \ No newline at end of file diff --git a/Win32/Release/register.bat b/Win32/Release/register.bat index c0feb3e..b36b6d7 100644 --- a/Win32/Release/register.bat +++ b/Win32/Release/register.bat @@ -1 +1,9 @@ -regsvr32 "DelphiDevShellTools.dll" \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll + +if exist %dll% ( + powershell -Command "start-process cmd \"/c regsvr32 %dll%\" -Verb RunAs" +) else ( + echo "DelphiDevShellTools.dll not found. Run Build first." + Pause +) \ No newline at end of file diff --git a/Win32/Release/unregister.bat b/Win32/Release/unregister.bat index ec00418..a650641 100644 --- a/Win32/Release/unregister.bat +++ b/Win32/Release/unregister.bat @@ -1 +1,3 @@ -regsvr32 "DelphiDevShellTools.dll" /U \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll +powershell -Command "start-process cmd \"/c regsvr32 /U %dll%\" -Verb RunAs" \ No newline at end of file diff --git a/Win64/Debug/register.bat b/Win64/Debug/register.bat index c0feb3e..b36b6d7 100644 --- a/Win64/Debug/register.bat +++ b/Win64/Debug/register.bat @@ -1 +1,9 @@ -regsvr32 "DelphiDevShellTools.dll" \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll + +if exist %dll% ( + powershell -Command "start-process cmd \"/c regsvr32 %dll%\" -Verb RunAs" +) else ( + echo "DelphiDevShellTools.dll not found. Run Build first." + Pause +) \ No newline at end of file diff --git a/Win64/Debug/unregister.bat b/Win64/Debug/unregister.bat index ec00418..a650641 100644 --- a/Win64/Debug/unregister.bat +++ b/Win64/Debug/unregister.bat @@ -1 +1,3 @@ -regsvr32 "DelphiDevShellTools.dll" /U \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll +powershell -Command "start-process cmd \"/c regsvr32 /U %dll%\" -Verb RunAs" \ No newline at end of file diff --git a/Win64/Release/register.bat b/Win64/Release/register.bat index c0feb3e..b36b6d7 100644 --- a/Win64/Release/register.bat +++ b/Win64/Release/register.bat @@ -1 +1,9 @@ -regsvr32 "DelphiDevShellTools.dll" \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll + +if exist %dll% ( + powershell -Command "start-process cmd \"/c regsvr32 %dll%\" -Verb RunAs" +) else ( + echo "DelphiDevShellTools.dll not found. Run Build first." + Pause +) \ No newline at end of file diff --git a/Win64/Release/unregister.bat b/Win64/Release/unregister.bat index ec00418..a650641 100644 --- a/Win64/Release/unregister.bat +++ b/Win64/Release/unregister.bat @@ -1 +1,3 @@ -regsvr32 "DelphiDevShellTools.dll" /U \ No newline at end of file +@echo off +set dll=%CD%\DelphiDevShellTools.dll +powershell -Command "start-process cmd \"/c regsvr32 /U %dll%\" -Verb RunAs" \ No newline at end of file diff --git a/units/uDelphiVersions.pas b/units/uDelphiVersions.pas index 1ccc995..8ab948c 100644 --- a/units/uDelphiVersions.pas +++ b/units/uDelphiVersions.pas @@ -62,7 +62,9 @@ interface Delphi10Seattle, Delphi10Berlin, Delphi10Tokyo, - Delphi10Rio + Delphi10Rio, + Delphi10Sydney, + Delphi11Alexandria ); SetDelphiVersions= TArray; @@ -198,9 +200,11 @@ TPAClientProfileList=class 'RAD Studio XE7', 'RAD Studio XE8', 'RAD Studio 10 Seattle', - 'RAD Studio 10 Berlin', - 'RAD Studio 10 Tokyo', - 'RAD Studio 10 Rio' + 'RAD Studio 10.1 Berlin', + 'RAD Studio 10.2 Tokyo', + 'RAD Studio 10.3 Rio', + 'RAD Studio 10.4 Sydney', + 'RAD Studio 11 Alexandria' ); DelphiRegPaths: array[TDelphiVersions] of string = ( @@ -226,8 +230,10 @@ TPAClientProfileList=class '\Software\Embarcadero\BDS\16.0', '\Software\Embarcadero\BDS\17.0', '\Software\Embarcadero\BDS\18.0', - '\Software\Embarcadero\BDS\19.0', - '\Software\Embarcadero\BDS\20.0' + '\Software\Embarcadero\BDS\19.0', + '\Software\Embarcadero\BDS\20.0', + '\Software\Embarcadero\BDS\21.0', + '\Software\Embarcadero\BDS\22.0' ); PAClientProfilesPaths: array[TDelphiVersions] of string = ( @@ -253,8 +259,10 @@ TPAClientProfileList=class '\Embarcadero\BDS\16.0', '\Embarcadero\BDS\17.0', '\Embarcadero\BDS\18.0', - '\Embarcadero\BDS\19.0', - '\Embarcadero\BDS\20.0' + '\Embarcadero\BDS\19.0', + '\Embarcadero\BDS\20.0', + '\Embarcadero\BDS\21.0', + '\Embarcadero\BDS\22.0' ); function GetListInstalledDelphiVersions: TInstalledDelphiVerions; @@ -473,7 +481,13 @@ function GetDelphiVersions(const ProjectFile: string): SetDelphiVersions; if not VarIsClear(Node) then begin sVersion := Node.Text; - if MatchText(sVersion,['18.5', '18.6']) then + if MatchText(sVersion,['20.0', '20.1']) then + Exit(TArray.Create(Delphi11Alexandria)) + else + if MatchText(sVersion,['19.0', '19.1']) then + Exit(TArray.Create(Delphi10Sydney)) + else + if MatchText(sVersion,['18.5', '18.8']) then Exit(TArray.Create(Delphi10Rio)) else if MatchText(sVersion,['18.3', '18.4']) then