|
@@ -312,19 +312,11 @@ type
|
|
Name, Command: String;
|
|
Name, Command: String;
|
|
end;
|
|
end;
|
|
|
|
|
|
-const
|
|
|
|
- ISSigKeyEntryExtraInfoStrings = 1;
|
|
|
|
- ISSigKeyEntryExtraInfoAnsiStrings = 0;
|
|
|
|
-type
|
|
|
|
PISSigKeyEntryExtraInfo = ^TISSigKeyEntryExtraInfo;
|
|
PISSigKeyEntryExtraInfo = ^TISSigKeyEntryExtraInfo;
|
|
TISSigKeyEntryExtraInfo = record
|
|
TISSigKeyEntryExtraInfo = record
|
|
Name: String;
|
|
Name: String;
|
|
end;
|
|
end;
|
|
|
|
|
|
-const
|
|
|
|
- FileLocationEntryExtraInfoStrings = 1;
|
|
|
|
- FileLocationEntryExtraInfoAnsiStrings = 0;
|
|
|
|
-type
|
|
|
|
TFileLocationSign = (fsNoSetting, fsYes, fsOnce, fsCheck);
|
|
TFileLocationSign = (fsNoSetting, fsYes, fsOnce, fsCheck);
|
|
PFileLocationEntryExtraInfo = ^TFileLocationEntryExtraInfo;
|
|
PFileLocationEntryExtraInfo = ^TFileLocationEntryExtraInfo;
|
|
TFileLocationEntryExtraInfo = record
|
|
TFileLocationEntryExtraInfo = record
|
|
@@ -4512,7 +4504,8 @@ begin
|
|
NewISSigKeyEntry := nil;
|
|
NewISSigKeyEntry := nil;
|
|
NewISSigKeyEntryExtraInfo := nil;
|
|
NewISSigKeyEntryExtraInfo := nil;
|
|
try
|
|
try
|
|
- NewISSigKeyEntryExtraInfo := AllocMem(SizeOf(TISSigKeyEntryExtraInfo));
|
|
|
|
|
|
+ New(NewISSigKeyEntryExtraInfo);
|
|
|
|
+ FillChar(NewISSigKeyEntryExtraInfo^, SizeOf(TISSigKeyEntryExtraInfo), 0);
|
|
with NewISSigKeyEntryExtraInfo^ do begin
|
|
with NewISSigKeyEntryExtraInfo^ do begin
|
|
{ Name }
|
|
{ Name }
|
|
if not IsValidIdentString(Values[paName].Data, False, False) then
|
|
if not IsValidIdentString(Values[paName].Data, False, False) then
|
|
@@ -4575,7 +4568,7 @@ begin
|
|
end;
|
|
end;
|
|
except
|
|
except
|
|
SEFreeRec(NewISSigKeyEntry, SetupISSigKeyEntryStrings, SetupISSigKeyEntryAnsiStrings);
|
|
SEFreeRec(NewISSigKeyEntry, SetupISSigKeyEntryStrings, SetupISSigKeyEntryAnsiStrings);
|
|
- SEFreeRec(NewISSigKeyEntryExtraInfo, ISSigKeyEntryExtraInfoStrings, ISSigKeyEntryExtraInfoAnsiStrings);
|
|
|
|
|
|
+ Dispose(NewISSigKeyEntryExtraInfo);
|
|
raise;
|
|
raise;
|
|
end;
|
|
end;
|
|
ISSigKeyEntries.Add(NewISSigKeyEntry);
|
|
ISSigKeyEntries.Add(NewISSigKeyEntry);
|
|
@@ -4961,7 +4954,8 @@ type
|
|
end;
|
|
end;
|
|
if NewFileLocationEntry = nil then begin
|
|
if NewFileLocationEntry = nil then begin
|
|
NewFileLocationEntry := AllocMem(SizeOf(TSetupFileLocationEntry));
|
|
NewFileLocationEntry := AllocMem(SizeOf(TSetupFileLocationEntry));
|
|
- NewFileLocationEntryExtraInfo := AllocMem(SizeOf(TFileLocationEntryExtraInfo));
|
|
|
|
|
|
+ New(NewFileLocationEntryExtraInfo);
|
|
|
|
+ FillChar(NewFileLocationEntryExtraInfo^, SizeOf(TFileLocationEntryExtraInfo), 0);
|
|
SetupHeader.CompressMethod := CompressMethod;
|
|
SetupHeader.CompressMethod := CompressMethod;
|
|
FileLocationEntries.Add(NewFileLocationEntry);
|
|
FileLocationEntries.Add(NewFileLocationEntry);
|
|
FileLocationEntryExtraInfos.Add(NewFileLocationEntryExtraInfo);
|
|
FileLocationEntryExtraInfos.Add(NewFileLocationEntryExtraInfo);
|
|
@@ -6651,16 +6645,22 @@ procedure TSetupCompiler.Compile;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
- procedure FreeListItems(const List: TList; const NumStrings, NumAnsiStrings: Integer);
|
|
|
|
- var
|
|
|
|
- I: Integer;
|
|
|
|
|
|
+ procedure FreeSEListItems(const List: TList; const NumStrings, NumAnsiStrings: Integer);
|
|
begin
|
|
begin
|
|
- for I := List.Count-1 downto 0 do begin
|
|
|
|
|
|
+ for var I := List.Count-1 downto 0 do begin
|
|
SEFreeRec(List[I], NumStrings, NumAnsiStrings);
|
|
SEFreeRec(List[I], NumStrings, NumAnsiStrings);
|
|
List.Delete(I);
|
|
List.Delete(I);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure FreeListItems(const List: TList);
|
|
|
|
+ begin
|
|
|
|
+ for var I := List.Count-1 downto 0 do begin
|
|
|
|
+ Dispose(List[I]);
|
|
|
|
+ List.Delete(I);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
procedure FreePreLangData;
|
|
procedure FreePreLangData;
|
|
var
|
|
var
|
|
I: Integer;
|
|
I: Integer;
|
|
@@ -8218,27 +8218,27 @@ begin
|
|
SetupE32.Free;
|
|
SetupE32.Free;
|
|
WizardSmallImages.Free;
|
|
WizardSmallImages.Free;
|
|
WizardImages.Free;
|
|
WizardImages.Free;
|
|
- FreeListItems(LanguageEntries, SetupLanguageEntryStrings, SetupLanguageEntryAnsiStrings);
|
|
|
|
- FreeListItems(CustomMessageEntries, SetupCustomMessageEntryStrings, SetupCustomMessageEntryAnsiStrings);
|
|
|
|
- FreeListItems(PermissionEntries, SetupPermissionEntryStrings, SetupPermissionEntryAnsiStrings);
|
|
|
|
- FreeListItems(TypeEntries, SetupTypeEntryStrings, SetupTypeEntryAnsiStrings);
|
|
|
|
- FreeListItems(ComponentEntries, SetupComponentEntryStrings, SetupComponentEntryAnsiStrings);
|
|
|
|
- FreeListItems(TaskEntries, SetupTaskEntryStrings, SetupTaskEntryAnsiStrings);
|
|
|
|
- FreeListItems(DirEntries, SetupDirEntryStrings, SetupDirEntryAnsiStrings);
|
|
|
|
- FreeListItems(FileEntries, SetupFileEntryStrings, SetupFileEntryAnsiStrings);
|
|
|
|
- FreeListItems(FileLocationEntries, SetupFileLocationEntryStrings, SetupFileLocationEntryAnsiStrings);
|
|
|
|
- FreeListItems(ISSigKeyEntries, SetupISSigKeyEntryStrings, SetupISSigKeyEntryAnsiStrings);
|
|
|
|
- FreeListItems(IconEntries, SetupIconEntryStrings, SetupIconEntryAnsiStrings);
|
|
|
|
- FreeListItems(IniEntries, SetupIniEntryStrings, SetupIniEntryAnsiStrings);
|
|
|
|
- FreeListItems(RegistryEntries, SetupRegistryEntryStrings, SetupRegistryEntryAnsiStrings);
|
|
|
|
- FreeListItems(InstallDeleteEntries, SetupDeleteEntryStrings, SetupDeleteEntryAnsiStrings);
|
|
|
|
- FreeListItems(UninstallDeleteEntries, SetupDeleteEntryStrings, SetupDeleteEntryAnsiStrings);
|
|
|
|
- FreeListItems(RunEntries, SetupRunEntryStrings, SetupRunEntryAnsiStrings);
|
|
|
|
- FreeListItems(UninstallRunEntries, SetupRunEntryStrings, SetupRunEntryAnsiStrings);
|
|
|
|
|
|
+ FreeSEListItems(LanguageEntries, SetupLanguageEntryStrings, SetupLanguageEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(CustomMessageEntries, SetupCustomMessageEntryStrings, SetupCustomMessageEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(PermissionEntries, SetupPermissionEntryStrings, SetupPermissionEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(TypeEntries, SetupTypeEntryStrings, SetupTypeEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(ComponentEntries, SetupComponentEntryStrings, SetupComponentEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(TaskEntries, SetupTaskEntryStrings, SetupTaskEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(DirEntries, SetupDirEntryStrings, SetupDirEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(FileEntries, SetupFileEntryStrings, SetupFileEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(FileLocationEntries, SetupFileLocationEntryStrings, SetupFileLocationEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(ISSigKeyEntries, SetupISSigKeyEntryStrings, SetupISSigKeyEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(IconEntries, SetupIconEntryStrings, SetupIconEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(IniEntries, SetupIniEntryStrings, SetupIniEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(RegistryEntries, SetupRegistryEntryStrings, SetupRegistryEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(InstallDeleteEntries, SetupDeleteEntryStrings, SetupDeleteEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(UninstallDeleteEntries, SetupDeleteEntryStrings, SetupDeleteEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(RunEntries, SetupRunEntryStrings, SetupRunEntryAnsiStrings);
|
|
|
|
+ FreeSEListItems(UninstallRunEntries, SetupRunEntryStrings, SetupRunEntryAnsiStrings);
|
|
FileLocationEntryFilenames.Clear;
|
|
FileLocationEntryFilenames.Clear;
|
|
- FreeListItems(FileLocationEntryExtraInfos, FileLocationEntryExtraInfoStrings, FileLocationEntryExtraInfoAnsiStrings);
|
|
|
|
|
|
+ FreeListItems(FileLocationEntryExtraInfos);
|
|
ISSigKeyEntryNames.Clear;
|
|
ISSigKeyEntryNames.Clear;
|
|
- FreeListItems(ISSigKeyEntryExtraInfos, ISSigKeyEntryExtraInfoStrings, ISSigKeyEntryExtraInfoAnsiStrings);
|
|
|
|
|
|
+ FreeListItems(ISSigKeyEntryExtraInfos);
|
|
FreeLineInfoList(ExpectedCustomMessageNames);
|
|
FreeLineInfoList(ExpectedCustomMessageNames);
|
|
FreeLangData;
|
|
FreeLangData;
|
|
FreePreLangData;
|
|
FreePreLangData;
|