Martijn Laan
2a32a45277
Use the same progress protection while extracting and downloading as while copying an external file.
2025-06-11 20:22:33 +02:00
Martijn Laan
e2ce5b00b1
Merge branch 'main' into files-download
...
# Conflicts:
# Projects/Src/Setup.Install.pas
2025-06-08 18:34:58 +02:00
Martijn Laan
17a85b56fc
Tweak extractarchive logging.
2025-06-08 17:28:09 +02:00
Martijn Laan
3c67d36bff
Add [Files] flag "download" for integrated download support. Was rather easy 👍
...
Todo:
-Handle username + password
-Add param for .issig url, like IssigSource? Now it requires a second entry
-Doc
-Allow download+extractarchive? I suppose the download part would need to be integrated differently since it first would need to download (all?) the archive(s) to {tmp} using CreateDownloadPage. Hooking up the download steam to the 7-Zip instream wouldn't work since it needs non-sequential access.
2025-06-08 13:42:34 +02:00
Martijn Laan
ced6d9ff94
Whitespace fix.
2025-06-07 08:59:20 +02:00
Martijn Laan
8a5359c1f7
Fix the exception issue by introducing a new message. Cleans up the code AND the message to the user 👍 Todo: commit Default.isl.
...
New message is:
ErrorExtracting=An error occurred while trying to extract an archive:
2025-06-06 20:48:32 +02:00
Martijn Laan
01dc41cb81
Actually, do move Extract(7Zip)ArchiveRedir's outer exception handling up one level. Does not add extra duplicate code and still keeps it as 6.4.3.
2025-06-06 20:11:14 +02:00
Martijn Laan
4c583c14b7
Make Extract7ZipArchiveRedir's exception to like it was in 6.4.3, and therefore do same for ExtractArchiveRedir. These functions are purely for [Code] so should be ok like this.
...
Todo: look at ArchiveFind*, which is more integrated and should allow the caller to differentiate between ESevenZipError and other stuff.
2025-06-06 19:32:38 +02:00
Martijn Laan
d35d8bf543
Finish new messages / exception handling.
2025-06-04 10:10:08 +02:00
Martijn Laan
36177fd98a
Redo the message change. Todo: commit updated Default.isl.
2025-06-03 20:09:20 +02:00
Martijn Laan
d0ce1fe011
Deduplicate the numitems get & error. Improve logging.
2025-06-02 20:37:54 +02:00
Martijn Laan
fc57c1dc36
Fix ESevenZipError change.
2025-06-02 17:17:37 +02:00
Martijn Laan
3a4ab85dab
Fix ArchiveFindClose breaking handles of other newer and still active searches.
2025-06-02 16:39:06 +02:00
Martijn Laan
f9ca4c1e35
Various fixes and improvements.
2025-06-02 16:03:21 +02:00
Martijn Laan
63dab4ac33
Cleanup password handling. No actual change.
2025-06-01 18:14:39 +02:00
Martijn Laan
58ae0354ba
Merge branch 'main' into files-extractarchive
2025-06-01 18:06:13 +02:00
Martijn Laan
ae0e213d1c
Don't return S_FALSE if an archive is encrypted but no password is provided. This way 7-Zip can handle it and return a proper 'wrong password' error.
2025-06-01 18:03:06 +02:00
Martijn Laan
8b47a7e217
Fix compilation, broken by previous commit.
2025-06-01 15:39:22 +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
44e882384d
Add some extra checks + minor cleanup.
2025-06-01 12:53:12 +02:00
Martijn Laan
0ae0d166a9
Add and use TArchiveExtractToHandleCallback 💪
2025-05-31 22:31:36 +02:00
Martijn Laan
812ac24dd1
Improve. No actual change.
2025-05-31 22:01:02 +02:00
Martijn Laan
3f67432c36
Tweak banner logging.
2025-05-31 20:18:04 +02:00
Martijn Laan
1ce84b104b
Rename for clarity + comment tweak.
2025-05-31 20:15:12 +02:00
Martijn Laan
2b6e5c0997
Refactor TArchiveExtractCallback for reuse. No actual changes.
2025-05-31 20:10:03 +02:00
Martijn Laan
c51e956822
Fix crash on early Setup exit.
2025-05-31 19:59:15 +02:00
Martijn Laan
0ffcb1b624
Merge branch 'main' into files-extractarchive
2025-05-31 17:45:40 +02:00
Martijn Laan
46f165e6a7
Preallocate all of the bytes in the destination file, just like TFileExtractor.DecompressFile and CopySourceFileToDestFile.
2025-05-31 17:45:22 +02:00
Martijn Laan
086970bd12
Handle timestamps.
2025-05-31 15:45:14 +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
71dd6484ff
Cleanup.
2025-05-31 10:18:46 +02:00
Martijn Laan
2fae5c6c7b
Use our own handle type to prevent passing it to Windows' FindNext/FindClose accidentally. Kept it numeric and kept use of INVALID_HANDLE_VALUE.
2025-05-31 10:16:30 +02:00
Martijn Laan
aa9476b5e3
Improve skip check: do it earlier. Makes it possible for it to do ValidateAndCombinePath as well.
2025-05-31 10:10:11 +02:00
Martijn Laan
f4ca1930f1
Add comment.
2025-05-31 09:58:44 +02:00
Martijn Laan
b60132815d
Fix path length check.
2025-05-31 09:53:52 +02:00
Martijn Laan
84a0398849
A fix and a little preparation.
2025-05-31 09:43:58 +02:00
Martijn Laan
6ec460f51c
Add recursesubdirs support.
2025-05-31 09:25:50 +02:00
Martijn Laan
66e35b78a5
Add functions for archive enumeration, in the style of Win32 directory enumeration.
2025-05-30 15:13:12 +02:00
Martijn Laan
abf9c42691
Add 7z.dll version banner.
2025-05-30 12:12:56 +02:00
Martijn Laan
78a444d418
Add comment.
2025-05-29 15:54:18 +02:00
Martijn Laan
8da16db16a
Cleanup. Also makes sure HandleProgress doesn't copy the outstream reference.
2025-05-29 15:37:27 +02:00
Jordan Russell
1b88e48ee0
Properly handle exceptions within the wait loop.
2025-05-29 01:54:14 -05:00
Martijn Laan
f770e48db8
Finishing touches.
2025-05-28 20:34:25 +02:00
Martijn Laan
8c65a4b010
Restore creation and modified date and times for files, like 7zMain.c and Client7z.cpp do. Also like both of them: ignore SetFileTime and SetFileAttributes failures.
2025-05-28 17:33:52 +02:00
Martijn Laan
b02e72299f
Minor cleanup.
2025-05-28 16:35:10 +02:00
Martijn Laan
794185163e
Cleanup error messages and logging.
2025-05-28 16:30:32 +02:00
Martijn Laan
0379fb6649
Fix aborting.
2025-05-28 14:52:14 +02:00
Martijn Laan
d86da2179f
Cleanup/simplify.
2025-05-28 14:36:12 +02:00
Martijn Laan
6ed2a6f3f5
Add missing try/finally.
2025-05-28 08:41:31 +02:00
Martijn Laan
2d4396b4fa
Bit of cleanup. No actual changes.
2025-05-28 08:39:07 +02:00