mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-26 11:17:57 +08:00
Introduce 64bit builds and 32/64 bit mixed installer
This commit is contained in:
@ -37,6 +37,7 @@ OutputDir={#OutDir}
|
|||||||
OutputBaseFilename={#ProgName}_{#ProgShortVersion}_Setup
|
OutputBaseFilename={#ProgName}_{#ProgShortVersion}_Setup
|
||||||
UninstallDisplayIcon={app}\{#ProgExeName}
|
UninstallDisplayIcon={app}\{#ProgExeName}
|
||||||
SetupIconFile={#ResourceDir}mainicon.ico
|
SetupIconFile={#ResourceDir}mainicon.ico
|
||||||
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
UsePreviousAppDir=yes
|
UsePreviousAppDir=yes
|
||||||
DirExistsWarning=auto
|
DirExistsWarning=auto
|
||||||
PrivilegesRequired=none
|
PrivilegesRequired=none
|
||||||
@ -60,12 +61,15 @@ Type: files; Name: "{app}\donate.url"
|
|||||||
Type: files; Name: "{app}\function.txt"
|
Type: files; Name: "{app}\function.txt"
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "{#ProgExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "{#ProgNameLower}64.exe"; DestDir: "{app}"; DestName: "{#ProgExeName}"; Check: Is64BitInstallMode; Flags: ignoreversion
|
||||||
|
Source: "{#ProgNameLower}32.exe"; DestDir: "{app}"; DestName: "{#ProgExeName}"; Check: not Is64BitInstallMode; Flags: ignoreversion
|
||||||
Source: "readme.txt"; DestDir: "{app}"; Flags: ignoreversion isreadme
|
Source: "readme.txt"; DestDir: "{app}"; Flags: ignoreversion isreadme
|
||||||
Source: "license.txt"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "license.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "gpl.txt"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "gpl.txt"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "libmysql.dll"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "libmysql64.dll"; DestDir: "{app}"; DestName: "libmysql.dll"; Check: Is64BitInstallMode; Flags: ignoreversion
|
||||||
Source: "plugins\*.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion
|
Source: "libmysql32.dll"; DestDir: "{app}"; DestName: "libmysql.dll"; Check: not Is64BitInstallMode; Flags: ignoreversion
|
||||||
|
Source: "plugins64\*.dll"; DestDir: "{app}\plugins"; Check: Is64BitInstallMode; Flags: ignoreversion
|
||||||
|
Source: "plugins32\*.dll"; DestDir: "{app}\plugins"; Check: not Is64BitInstallMode; Flags: ignoreversion
|
||||||
Source: "Snippets\*.sql"; DestDir: "{commonappdata}\{#ProgName}\Snippets";
|
Source: "Snippets\*.sql"; DestDir: "{commonappdata}\{#ProgName}\Snippets";
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
|
BIN
out/libmysql64.dll
Normal file
BIN
out/libmysql64.dll
Normal file
Binary file not shown.
BIN
out/plugins64/dialog.dll
Normal file
BIN
out/plugins64/dialog.dll
Normal file
Binary file not shown.
@ -1 +0,0 @@
|
|||||||
1 24 "manifest.xml"
|
|
1
res/manifest32.rc
Normal file
1
res/manifest32.rc
Normal file
@ -0,0 +1 @@
|
|||||||
|
1 24 "manifest32.xml"
|
1
res/manifest64.rc
Normal file
1
res/manifest64.rc
Normal file
@ -0,0 +1 @@
|
|||||||
|
1 24 "manifest64.xml"
|
15
res/manifest64.xml
Normal file
15
res/manifest64.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
|
||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
|
<assemblyIdentity
|
||||||
|
version="0.0.0.0"
|
||||||
|
processorArchitecture="amd64"
|
||||||
|
name="HeidiSQL"
|
||||||
|
type="win32" />
|
||||||
|
<description>A lightweight, fast and flexible interface to MySQL</description>
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df" language="*" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
|
</assembly>
|
@ -1,110 +1,137 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ProjectGuid>{24E2AAD6-CDE7-46EC-95BD-79028373B17A}</ProjectGuid>
|
<ProjectGuid>{24E2AAD6-CDE7-46EC-95BD-79028373B17A}</ProjectGuid>
|
||||||
<ProjectVersion>12.0</ProjectVersion>
|
<ProjectVersion>15.1</ProjectVersion>
|
||||||
<MainSource>updater.dpr</MainSource>
|
<MainSource>updater.dpr</MainSource>
|
||||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||||
</PropertyGroup>
|
<Base>True</Base>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
<AppType>Console</AppType>
|
||||||
<Base>true</Base>
|
<FrameworkType>None</FrameworkType>
|
||||||
</PropertyGroup>
|
<Platform Condition="'$(Platform)'==''">Win64</Platform>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
<TargetedPlatforms>3</TargetedPlatforms>
|
||||||
<Cfg_1>true</Cfg_1>
|
</PropertyGroup>
|
||||||
<CfgParent>Base</CfgParent>
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
<Base>true</Base>
|
<Base>true</Base>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
|
||||||
<Cfg_2>true</Cfg_2>
|
<Base_Win32>true</Base_Win32>
|
||||||
<CfgParent>Base</CfgParent>
|
<CfgParent>Base</CfgParent>
|
||||||
<Base>true</Base>
|
<Base>true</Base>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Base)'!=''">
|
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
|
||||||
<DCC_ExeOutput>..\</DCC_ExeOutput>
|
<Base_Win64>true</Base_Win64>
|
||||||
<DCC_UsePackage>vcl;rtl;vclx;vclimg;vclactnband;dbrtl;vcldb;vcldbx;bdertl;vcltouch;xmlrtl;dsnap;dsnapcon;TeeUI;TeeDB;Tee;vclib;ibxpress;adortl;IndyCore;IndySystem;IndyProtocols;inet;intrawebdb_100_140;Intraweb_100_140;VclSmp;vclie;websnap;webdsnap;inetdb;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DbxClientDriver;DataSnapServer;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXFirebirdDriver;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;madBasic_;madDisAsm_;madExcept_;SynEditR;VirtualTreesR</DCC_UsePackage>
|
<CfgParent>Base</CfgParent>
|
||||||
<DCC_DependencyCheckOutputName>..\updater.exe</DCC_DependencyCheckOutputName>
|
<Base>true</Base>
|
||||||
<DCC_ImageBase>00400000</DCC_ImageBase>
|
</PropertyGroup>
|
||||||
<DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias>
|
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
||||||
<DCC_Platform>x86</DCC_Platform>
|
<Cfg_1>true</Cfg_1>
|
||||||
<DCC_N>false</DCC_N>
|
<CfgParent>Base</CfgParent>
|
||||||
<DCC_S>false</DCC_S>
|
<Base>true</Base>
|
||||||
<DCC_K>false</DCC_K>
|
</PropertyGroup>
|
||||||
<DCC_E>false</DCC_E>
|
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
||||||
<DCC_F>false</DCC_F>
|
<Cfg_2>true</Cfg_2>
|
||||||
</PropertyGroup>
|
<CfgParent>Base</CfgParent>
|
||||||
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
<Base>true</Base>
|
||||||
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
</PropertyGroup>
|
||||||
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
<PropertyGroup Condition="'$(Base)'!=''">
|
||||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
<VerInfo_Locale>1031</VerInfo_Locale>
|
||||||
<DCC_DebugInformation>false</DCC_DebugInformation>
|
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
|
||||||
</PropertyGroup>
|
<DCC_Namespace>System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
|
||||||
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
<DCC_ExeOutput>..\</DCC_ExeOutput>
|
||||||
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
<DCC_UsePackage>vcl;rtl;vclx;vclimg;vclactnband;dbrtl;vcldb;vcldbx;bdertl;vcltouch;xmlrtl;dsnap;dsnapcon;TeeUI;TeeDB;Tee;vclib;ibxpress;adortl;IndyCore;IndySystem;IndyProtocols;inet;intrawebdb_100_140;Intraweb_100_140;VclSmp;vclie;websnap;webdsnap;inetdb;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DbxClientDriver;DataSnapServer;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXFirebirdDriver;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;madBasic_;madDisAsm_;madExcept_;SynEditR;VirtualTreesR;$(DCC_UsePackage)</DCC_UsePackage>
|
||||||
</PropertyGroup>
|
<DCC_DependencyCheckOutputName>..\updater.exe</DCC_DependencyCheckOutputName>
|
||||||
<ItemGroup>
|
<DCC_ImageBase>00400000</DCC_ImageBase>
|
||||||
<DelphiCompile Include="updater.dpr">
|
<DCC_Platform>x86</DCC_Platform>
|
||||||
<MainSource>MainSource</MainSource>
|
<DCC_N>false</DCC_N>
|
||||||
</DelphiCompile>
|
<DCC_S>false</DCC_S>
|
||||||
<BuildConfiguration Include="Base">
|
<DCC_K>false</DCC_K>
|
||||||
<Key>Base</Key>
|
<DCC_E>false</DCC_E>
|
||||||
</BuildConfiguration>
|
<DCC_F>false</DCC_F>
|
||||||
<BuildConfiguration Include="Debug">
|
</PropertyGroup>
|
||||||
<Key>Cfg_2</Key>
|
<PropertyGroup Condition="'$(Base_Win32)'!=''">
|
||||||
<CfgParent>Base</CfgParent>
|
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
|
||||||
</BuildConfiguration>
|
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||||
<BuildConfiguration Include="Release">
|
</PropertyGroup>
|
||||||
<Key>Cfg_1</Key>
|
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
||||||
<CfgParent>Base</CfgParent>
|
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
|
||||||
</BuildConfiguration>
|
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||||
</ItemGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/>
|
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||||
<ProjectExtensions>
|
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
|
||||||
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||||
<Borland.ProjectType/>
|
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||||
<BorlandProject>
|
<DCC_DebugInformation>0</DCC_DebugInformation>
|
||||||
<Delphi.Personality>
|
</PropertyGroup>
|
||||||
<Source>
|
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||||
<Source Name="MainSource">updater.dpr</Source>
|
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||||
</Source>
|
</PropertyGroup>
|
||||||
<Parameters>
|
<ItemGroup>
|
||||||
<Parameters Name="UseLauncher">False</Parameters>
|
<DelphiCompile Include="$(MainSource)">
|
||||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
<MainSource>MainSource</MainSource>
|
||||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
</DelphiCompile>
|
||||||
</Parameters>
|
<BuildConfiguration Include="Debug">
|
||||||
<VersionInfo>
|
<Key>Cfg_2</Key>
|
||||||
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
<CfgParent>Base</CfgParent>
|
||||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
</BuildConfiguration>
|
||||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
<BuildConfiguration Include="Base">
|
||||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
<Key>Base</Key>
|
||||||
<VersionInfo Name="Release">0</VersionInfo>
|
</BuildConfiguration>
|
||||||
<VersionInfo Name="Build">0</VersionInfo>
|
<BuildConfiguration Include="Release">
|
||||||
<VersionInfo Name="Debug">False</VersionInfo>
|
<Key>Cfg_1</Key>
|
||||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
<CfgParent>Base</CfgParent>
|
||||||
<VersionInfo Name="Special">False</VersionInfo>
|
</BuildConfiguration>
|
||||||
<VersionInfo Name="Private">False</VersionInfo>
|
</ItemGroup>
|
||||||
<VersionInfo Name="DLL">False</VersionInfo>
|
<Import Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')" Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
|
||||||
<VersionInfo Name="Locale">1031</VersionInfo>
|
<ProjectExtensions>
|
||||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
</VersionInfo>
|
<Borland.ProjectType/>
|
||||||
<VersionInfoKeys>
|
<BorlandProject>
|
||||||
<VersionInfoKeys Name="CompanyName"/>
|
<Delphi.Personality>
|
||||||
<VersionInfoKeys Name="FileDescription"/>
|
<Source>
|
||||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
<Source Name="MainSource">updater.dpr</Source>
|
||||||
<VersionInfoKeys Name="InternalName"/>
|
</Source>
|
||||||
<VersionInfoKeys Name="LegalCopyright"/>
|
<Parameters/>
|
||||||
<VersionInfoKeys Name="LegalTrademarks"/>
|
<VersionInfo>
|
||||||
<VersionInfoKeys Name="OriginalFilename"/>
|
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="ProductName"/>
|
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||||
<VersionInfoKeys Name="Comments"/>
|
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||||
</VersionInfoKeys>
|
<VersionInfo Name="Release">0</VersionInfo>
|
||||||
<Excluded_Packages>
|
<VersionInfo Name="Build">0</VersionInfo>
|
||||||
<Excluded_Packages Name="D:\heidisql\trunk\components\pngcomponents\build\PngComponentsD.bpl">File D:\heidisql\trunk\components\pngcomponents\build\PngComponentsD.bpl not found</Excluded_Packages>
|
<VersionInfo Name="Debug">False</VersionInfo>
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||||
<Excluded_Packages Name="$(BDS)\bin\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
<VersionInfo Name="Special">False</VersionInfo>
|
||||||
</Excluded_Packages>
|
<VersionInfo Name="Private">False</VersionInfo>
|
||||||
</Delphi.Personality>
|
<VersionInfo Name="DLL">False</VersionInfo>
|
||||||
</BorlandProject>
|
<VersionInfo Name="Locale">1031</VersionInfo>
|
||||||
<ProjectFileVersion>12</ProjectFileVersion>
|
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||||
</ProjectExtensions>
|
</VersionInfo>
|
||||||
</Project>
|
<VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="CompanyName"/>
|
||||||
|
<VersionInfoKeys Name="FileDescription"/>
|
||||||
|
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="InternalName"/>
|
||||||
|
<VersionInfoKeys Name="LegalCopyright"/>
|
||||||
|
<VersionInfoKeys Name="LegalTrademarks"/>
|
||||||
|
<VersionInfoKeys Name="OriginalFilename"/>
|
||||||
|
<VersionInfoKeys Name="ProductName"/>
|
||||||
|
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||||
|
<VersionInfoKeys Name="Comments"/>
|
||||||
|
</VersionInfoKeys>
|
||||||
|
<Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="D:\heidisql\trunk\components\pngcomponents\build\PngComponentsD.bpl">File D:\heidisql\trunk\components\pngcomponents\build\PngComponentsD.bpl not found</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k140.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
<Excluded_Packages Name="$(BDSBIN)\dclofficexp140.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||||
|
</Excluded_Packages>
|
||||||
|
</Delphi.Personality>
|
||||||
|
<Platforms>
|
||||||
|
<Platform value="OSX32">False</Platform>
|
||||||
|
<Platform value="Win32">True</Platform>
|
||||||
|
<Platform value="Win64">True</Platform>
|
||||||
|
</Platforms>
|
||||||
|
</BorlandProject>
|
||||||
|
<ProjectFileVersion>12</ProjectFileVersion>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
|
||||||
|
</Project>
|
||||||
|
BIN
res/updater64.exe
Normal file
BIN
res/updater64.exe
Normal file
Binary file not shown.
1
res/updater64.rc
Normal file
1
res/updater64.rc
Normal file
@ -0,0 +1 @@
|
|||||||
|
updater exe "updater.exe"
|
@ -7,7 +7,7 @@
|
|||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "040904E4"
|
BLOCK "040904E4"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "%APPNAME% %APPVER% 32 Bit\000"
|
VALUE "FileDescription", "%APPNAME% %APPVER%\000"
|
||||||
VALUE "ProductName", "%APPNAME%\000"
|
VALUE "ProductName", "%APPNAME%\000"
|
||||||
VALUE "LegalCopyright", "See GPL license\000"
|
VALUE "LegalCopyright", "See GPL license\000"
|
||||||
END
|
END
|
||||||
|
@ -320,6 +320,7 @@ type
|
|||||||
function GetOutputFilenamePlaceholders: TStringList;
|
function GetOutputFilenamePlaceholders: TStringList;
|
||||||
function GetSystemImageList: TImageList;
|
function GetSystemImageList: TImageList;
|
||||||
function GetSystemImageIndex(Filename: String): Integer;
|
function GetSystemImageIndex(Filename: String): Integer;
|
||||||
|
function GetExecutableBits: Byte;
|
||||||
|
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -2631,6 +2632,45 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function GetExecutableBits: Byte;
|
||||||
|
const
|
||||||
|
kb32 = 1024 * 32;
|
||||||
|
var
|
||||||
|
ExeFilename: String;
|
||||||
|
Buffer: Array[0..kb32-1] of Byte; // warning: assuming both headers are in there!
|
||||||
|
hFile: DWord;
|
||||||
|
bRead: DWord;
|
||||||
|
bToRead: DWord;
|
||||||
|
pDos: PImageDosHeader;
|
||||||
|
pNt: PImageNtHeaders;
|
||||||
|
begin
|
||||||
|
Result := 32;
|
||||||
|
ExeFilename := ParamStr(0);
|
||||||
|
hFile := CreateFile(pChar(ExeFilename), GENERIC_READ, FILE_SHARE_READ, NIL, OPEN_EXISTING, 0, 0);
|
||||||
|
if hFile <> INVALID_HANDLE_VALUE then try
|
||||||
|
bToRead := GetFileSize(hFile, NIL);
|
||||||
|
if bToRead > kb32 then
|
||||||
|
bToRead := kb32;
|
||||||
|
if not ReadFile(hFile, Buffer, bToRead, bRead, NIL) then
|
||||||
|
Exit;
|
||||||
|
if bRead = bToRead then begin
|
||||||
|
pDos := @Buffer[0];
|
||||||
|
if pDos.e_magic = IMAGE_DOS_SIGNATURE then begin
|
||||||
|
pNt := PImageNtHeaders(LongInt(pDos) + pDos._lfanew);
|
||||||
|
if pNt.Signature = IMAGE_NT_SIGNATURE then begin
|
||||||
|
if pNt.FileHeader.Machine and IMAGE_FILE_32BIT_MACHINE > 0 then
|
||||||
|
Result := 32
|
||||||
|
else
|
||||||
|
Result := 64
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
CloseHandle(hFile);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ begin
|
|||||||
// Prepare download
|
// Prepare download
|
||||||
CheckfileDownload := THttpDownload.Create(Self);
|
CheckfileDownload := THttpDownload.Create(Self);
|
||||||
CheckfileDownload.TimeOut := 5;
|
CheckfileDownload.TimeOut := 5;
|
||||||
CheckfileDownload.URL := APPDOMAIN+'updatecheck.php?r='+IntToStr(Mainform.AppVerRevision)+'&t='+DateTimeToStr(Now);
|
CheckfileDownload.URL := APPDOMAIN+'updatecheck.php?r='+IntToStr(Mainform.AppVerRevision)+'&bits='+IntToStr(GetExecutableBits)+'&t='+DateTimeToStr(Now);
|
||||||
CheckFilename := GetTempDir + APPNAME + '_updatecheck.ini';
|
CheckFilename := GetTempDir + APPNAME + '_updatecheck.ini';
|
||||||
|
|
||||||
// Download the check file
|
// Download the check file
|
||||||
|
Reference in New Issue
Block a user