View Single Post
  #6  
Old 25-04-2018, 07:38
julenza julenza is offline
Registered User
 
Join Date: Apr 2018
Location: italy
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
julenza is on a distinguished road
you have to write DiskSpanning = yes before setup and the problem will be solved

you have to write DiskSpanning = yes before setup and the problem will be solved.

Hi Giuseppe.

Quote:
Originally Posted by JRD! View Post
Hi dudes,

I have a little problem, I want to get the weight of greater than +2Gb file with Inno Setup 5.5.1 ee2, I try many things without success, can someone help me ?

Many thanks!

Example:

Code:
#define FileSize "D:\Game\Grand Theft Auto V\x64q.rpf"

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[_Code]
const
    // Some constants for CreateFile ().
    GENERIC_READ           = $80000000;
    GENERIC_WRITE          = $40000000;
    GENERIC_EXECUTE        = $20000000;
    GENERIC_ALL            = $10000000;
    FILE_SHARE_READ        = 1;
    FILE_SHARE_WRITE       = 2;
    FILE_SHARE_DELETE      = 4;
    CREATE_NEW             = 1;
    CREATE_ALWAYS          = 2;
    OPEN_EXISTING          = 3;
    OPEN_ALWAYS            = 4;
    TRUNCATE_EXISTING      = 5;
    FILE_READ_ATTRIBUTES   = $80;
    FILE_WRITE_ATTRIBUTES  = $100;

    // General Win32.
    INVALID_HANDLE_VALUE   = -1;

function CloseHandle (hHandle: THandle): Boolean;
  external '[email protected] stdcall';

function CreateFile (
    lpFileName             : String;
    dwDesiredAccess        : Cardinal;
    dwShareMode            : Cardinal;
    lpSecurityAttributes   : Cardinal;
    dwCreationDisposition  : Cardinal;
    dwFlagsAndAttributes   : Cardinal;
    hTemplateFile          : Integer
): Integer;
 external '[email protected] stdcall';

function GetFileSize (hFile: THandle; var lpFileSizeHigh: Integer): Integer;
  external '[email protected] stdcall';

function GetTheFileSize (FileName: String): Integer;
var
    hFile:  THandle;
    iSize:  Integer;
    hSize:  Integer;
begin
    hFile := CreateFile (FileName,
        GENERIC_READ,// Desired access.
        FILE_SHARE_READ + FILE_SHARE_WRITE,
        0,                // Security attributes.
        OPEN_EXISTING,
        FILE_ATTRIBUTE_TEMPORARY,
        0);
    if (INVALID_HANDLE_VALUE = hFile) then
    begin
        Result := 0;
        Exit;
    end;
    iSize := GetFileSize (hFile, hSize);
    CloseHandle (hFile);
    Result := iSize;
end;

function InitializeSetup():Boolean;
var
  FileSize: integer;
begin
  FileSize := GetTheFileSize(ExpandConstant('{#FileSize}'));
  MsgBox(IntToStr(FileSize), mbInformation, mb_OK);
  Result := False;
end;
Reply With Quote