109 Commits

Author SHA1 Message Date
Martijn Laan
1b8ef36c6b
Allowing version comparison together with externalarchive doesn't make sense / doesn't work: Setup will always consider the existing file newer and either skip installation or do promptifolder handling, both unwanted. Also mini tweak to help. 2025-06-03 15:00:41 +02:00
Martijn Laan
5ac36db459
RecurseExternalArchiveCopyFiles should return True if it found the archive, instead of if it found files inside. 2025-06-01 21:51:10 +02:00
Martijn Laan
f5362d02c0
ArchiveFindFirstFileRedir can throw an exception unlike FindFirstFile. This is good but also means it needs exception handling similar to ProcessFileEntry's. Add this, 2025-06-01 21:47:41 +02:00
Martijn Laan
b02877fd22
Cleanup. 2025-06-01 21:34:04 +02:00
Martijn Laan
2e1210b0a5
Merge branch 'main' into files-extractarchive
# Conflicts:
#	Projects/Src/Compression.SevenZipDLLDecoder.pas
2025-06-01 15:40:20 +02:00
Martijn Laan
ecf35fcad3
Clarify. 2025-06-01 15:39:40 +02:00
Martijn Laan
1aaafb0752
Actually, use msgErrorCopying like the other two options. 2025-06-01 15:24:05 +02:00
Martijn Laan
c37970bfc5
Pretty sure combining extractarchive with a solid archive may be slow, at least for .7z. Add doc notes and a log warning about this. 2025-06-01 14:15:23 +02:00
Martijn Laan
748d189c3c
Add support for foCreateAllSubDirs to RecurseExternalArchiveCopyFiles and clarify RecurseExternalCopyFiles. 2025-06-01 13:24:42 +02:00
Martijn Laan
5f8d0dbc29
msgErrorReadingSource is pretty okay to use for extraction as well + put issigverify todo marker in correct place. 2025-06-01 13:08:10 +02:00
Martijn Laan
0ae0d166a9
Add and use TArchiveExtractToHandleCallback 💪 2025-05-31 22:31:36 +02:00
Martijn Laan
086970bd12
Handle timestamps. 2025-05-31 15:45:14 +02:00
Martijn Laan
b32db4ad33
Various improvements, some not really related to branch. 2025-05-31 15:32:05 +02:00
Martijn Laan
b4fa687cee
Add comment. 2025-05-31 14:07:36 +02:00
Martijn Laan
9fc13edf0d
Clarify. No actual changes. 2025-05-31 14:01:07 +02:00
Martijn Laan
d48febb698
Add ValidateAndCombinePath check. When the DestDir isn't known yet (one place: getting size of files) then it only validates the filename itself and doesnt combine. 2025-05-31 11:09:26 +02:00
Martijn Laan
84a0398849
A fix and a little preparation. 2025-05-31 09:43:58 +02:00
Martijn Laan
a558d67109
Match comment order with code. 2025-05-31 09:33:44 +02:00
Martijn Laan
6ec460f51c
Add recursesubdirs support. 2025-05-31 09:25:50 +02:00
Martijn Laan
e3a968e10f
Enable Excludes support. 2025-05-31 08:56:41 +02:00
Martijn Laan
ddd3590331
Work on third place. Is integrating very nicely 👍 Just two places left to change and perhaps a third, all marked with !!!. Also cleanup: RecurseExternalCopyFiles had an unneeded FileLocationFileNames parameter (which was also confusing: external + filelocation does not compute). 2025-05-30 17:02:22 +02:00
Martijn Laan
c3d8185f32
Prepare third place. 2025-05-30 16:40:56 +02:00
Martijn Laan
b81c3a4512
Fix: new Excludes check was missing in RecurseExternalGetSizeOfFiles (one of the three places). 2025-05-30 15:57:01 +02:00
Martijn Laan
df0a64002a
Cleanup SearchFullPath vars which are used just once and only make things harder to read. 2025-05-30 13:35:09 +02:00
Martijn Laan
3ea016b673
Cleanup. 2025-05-30 12:00:02 +02:00
Martijn Laan
a28a2f3366
Merge branch 'main' into 7zdll 2025-05-23 10:58:01 +02:00
Martijn Laan
56bbf40579
Add [ISSigKeys] RuntimeID, remove [Code] ISSigLoadTextFromFile. 2025-05-22 16:39:56 +02:00
Martijn Laan
4d26869349
DownloadTemporaryFileOrExtract7ZipArchiveProcessMessages -> DownloadTemporaryFileOrExtractArchiveProcessMessages. 2025-05-22 09:45:35 +02:00
Martijn Laan
028432c711 Revert adding Redir suffixes + TRedir<T>. 2025-05-20 13:35:14 +02:00
Martijn Laan
a1bffc816c
Clarify the name of functions taking a DisableFsRedir parameter but not having the ...Redir name. Especially helps if the call just says False for DisableFsRedir.
Also always set DisableFsRedir to False in InternalExtractTemporaryFile and DownloadTemporaryFile just like it already does for everything else working on the temp dir.
2025-05-19 19:29:09 +02:00
Martijn Laan
88dc65dddf
Fix TrustFunc not checking ISSigVerifySignature result but not also always raising an exception. Harden the other non checking ones for this. 2025-05-19 17:20:28 +02:00
Martijn Laan
faf859c14a
Cleanup duplicate ISSig verification code. 2025-05-18 19:55:05 +02:00
Martijn Laan
1470994d6a Cleanup / fix. This reverts commit 4b954ee8. 2025-05-13 12:44:59 +02:00
Martijn Laan
4b954ee883
Make sure ISSigAvailableKeys is fully initialized if an import fails so it doesn't try to free garbage later on. (Not that an import can really fail atm.) 2025-05-12 20:47:21 +02:00
Martijn Laan
efb72982c3
Cleanup. 2025-05-09 08:19:21 +02:00
Martijn Laan
bbcadf5620
Make it work. (Reverted previous commit by force push, didn't need the overload.) 2025-05-09 07:48:03 +02:00
Martijn Laan
95c57e7cb9
Add comment. 2025-05-08 20:34:48 +02:00
Martijn Laan
7143b3acba
Cleanup. 2025-05-04 19:26:54 +02:00
Martijn Laan
1ff0463665
Make ISSigAllowedKeys work for Setup. Not yet tested. 2025-05-04 19:18:37 +02:00
Martijn Laan
79849d949e
Cleanup. 2025-05-04 19:01:17 +02:00
Martijn Laan
3fe8f683e5
Log successful ISSig verification. 2025-04-28 17:43:04 +02:00
Martijn Laan
5e106ba1c2
Improve the ISSigVerifyError exceptions a bit, without requiring a Default.isl change. 2025-04-26 08:27:59 +02:00
Martijn Laan
2b7de357e5
For the error be like Setup.FileExtractor / SourceIsCorrupted: show the generic msgSourceIsCorrupted message and only log the detail. So a failed verification on an external file now shows the same abort/retry/ignore error as failed decompression on an internal file:
"<filename>

An error occurred while trying to copy a file:
The source file is corrupted."
2025-04-24 13:50:40 +02:00
Martijn Laan
77b8b311fe
Add comment. 2025-04-24 13:39:32 +02:00
Martijn Laan
017b753de8
Put ISSigKeys in a proper place + mini cleanup. Todo: do something with the error strings. 2025-04-24 13:34:17 +02:00
Martijn Laan
d2c69470f6
Tweak KeyNotFound message: 'incorrect key ID' makes sense for the tool since it works with a single key but the Compiler and Setup can have multiple. 2025-04-24 13:14:51 +02:00
Martijn Laan
6b3cb3e3d5
Initial support for issigverify + external. Todo: initialize ISSigKeys array only once + do something with the error strings. I suppose this needs a Default.isl change :( 2025-04-24 13:13:06 +02:00
Martijn Laan
6aec0a55a7
Distinguish file options (fo) and file location options (flo). 2025-04-22 20:15:17 +02:00
Martijn Laan
706368a861
Cleanup: use proper names for INVALID_FILE_ATTRIBUTES/INVALID_SET_FILE_POINTER/INVALID_FILE_SIZE. 2025-04-05 12:50:16 +02:00
Martijn Laan
6910a147a5
Finishing touches. 2024-11-15 16:44:10 +01:00