63 Commits

Author SHA1 Message Date
Martijn Laan
3f2615936c
Merge branch 'main' into files-downloadarchive 2025-06-12 17:55:33 +02:00
Martijn Laan
92b26afd0c
Comment fixes. 2025-06-12 17:55:25 +02:00
Martijn Laan
2d0ec7b9e5
Add support for dowload+extractarchives in a simple and clean way 👍
For such entries the archive is downloaded to {tmp}\_isetup\<randomdir>\<destname> using a TDownloadWizardPage, as the first step of PrepareToInstall. Supports verification.

On success the entries' SourceFilename is updated to the temp file, the download flag is removed and also DestName and verification. Áfter that the rest (PreviousInstallCompleted, RegisterResourcesWithRestartManager, and installation) works normally and required no changes.

On error the problem is displayed by the ready page. Also didn't require changes, except for an extract on BaseName display.

Todo:
-Rename CodeDownloadFiles.iss since there's no [Code] in it anymore.
-Offer Abort/Retry when a download fails? Or even Ignore somehow?
-Let the user choose if it should show BaseNames or URLs while downloading with a new directive? Both for archives and files.
-Document
2025-06-12 17:54:36 +02:00
Martijn Laan
8358e444e8
Extractarchive log tweaks:
-Log a '-- Archive entry --' message during installation before the first '-- File entry--' belonging to that archive. Without it the log is confusing, especially if there's verification.
-Don't let 7-Zip handle not-yet-existing archives (like when an entry refers to an archive in {tmp}). Instead check ourselves like we already do during installation. Prevents confusing error message in the log.
2025-06-12 14:38:16 +02:00
Martijn Laan
487b78d6dc
Cleanup. 2025-06-11 20:46:41 +02:00
Martijn Laan
eb7f104e80
Merge branch 'main' into files-download
# Conflicts:
#	Projects/Src/Setup.MainFunc.pas
2025-06-10 19:53:19 +02:00
Martijn Laan
73f39438c5
Add constants support to ExtractArchivePassword + cleanup: take password from CurFile param if available. 2025-06-09 20:57:03 +02:00
Martijn Laan
125db1251c
Do not try to include .issig size in the total progress. Instead just process events while downloading it without updating progress.
New todo list:
-Add DownloadRequiredSha256 parameter. (Or DownloadRequiredSHA256OfFile?)
-Use another progressproc for the ArchiveFindExtract and 2 DownloadFile calls: it should prevent the progress bar position from moving beyond ExternalSize like CopySourceFileToDestFile does.
-Update whatsnew.
-Update CodeDownloadFiles references and add new ones.
-Make a new fresh messages commit.
-Add constant support to download username and extract/download passwords. (Extract on main.)
-Test download username/password support.
2025-06-09 19:35:47 +02:00
Martijn Laan
813d024dd4
Add download+issigverify support. This finishes the branch, only whatsnew todo + making a new fresh messages commit + test username/password support. 2025-06-08 20:28:13 +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
8fc5f81cbf
Merge branch 'main' into files-extractarchive 2025-06-06 21:03:04 +02:00
Martijn Laan
6b59041cfe
Fix tab to spaces. 2025-06-06 16:44:38 +02:00
Martijn Laan
567972d993 [Types] and [Components] Check is special compared to others: it's called only once. Clarify this, at least internally and in the docs. 2025-06-05 13:05:26 +02:00
Martijn Laan
36177fd98a
Redo the message change. Todo: commit updated Default.isl. 2025-06-03 20:09:20 +02:00
Martijn Laan
f9ca4c1e35
Various fixes and improvements. 2025-06-02 16:03:21 +02:00
Martijn Laan
b02877fd22
Cleanup. 2025-06-01 21:34:04 +02:00
Martijn Laan
8d8b54b8b2
EnumFiles: ignore external file exceptions just like minimum disk space calculation by InitializeSetup does. Affects PreviousInstallNotCompleted check and RegisterResourcesWithRestartManager. So those will now also skip problematic external files, which is fine. Doing on branch but would be good even on main I believe even though there it's harder to get an exception. 2025-06-01 21:32:35 +02:00
Martijn Laan
e6281ae870
Merge branch 'main' into files-extractarchive 2025-06-01 17:37:12 +02:00
Martijn Laan
16a7b607e3
Fix RegisterResourcesWithRestartManager breaking Setup entirely on EnumFiles exception. Fixed by delaing it the same way as it already did with [Code] throwing exception. 2025-06-01 17:37: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
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
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
a1b8d669c1
Enumerate archive instead of dir in second place (of three). 2025-05-30 16:35:48 +02:00
Martijn Laan
c51f019e2a
Merge branch 'main' into files-extractarchive
# Conflicts:
#	Projects/Src/Setup.MainFunc.pas
2025-05-30 16:00:22 +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
94d57c65f1
POC: Enumerate archive instead of dir in first place (of three). 2025-05-30 15:14:30 +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
abf9c42691
Add 7z.dll version banner. 2025-05-30 12:12:56 +02:00
Martijn Laan
cd36968681
Merge branch 'main' into 7zdll 2025-05-24 14:25:40 +02:00
Martijn Laan
6a5da549bf
Remove outdated comment. 2025-05-24 14:25:28 +02:00
Martijn Laan
a991f57982
Unit names cleanup. 2025-05-24 14:24:23 +02:00
Martijn Laan
6218a86f54
Mark Extract7ZipArchive as obsolete/renamed. If it's called anyway and a 7-Zip DLL is available, still use the DLL version. 2025-05-24 14:11:35 +02:00
Martijn Laan
0d1c4dcdc6
Add [Setup] section directive ArchiveExtraction. Removes the need for the script to handle inclusion/extraction/loading. 2025-05-24 13:37:16 +02:00
Martijn Laan
a28a2f3366
Merge branch 'main' into 7zdll 2025-05-23 10:58:01 +02:00
Martijn Laan
544a7ed055
Some cleanup and fixes. 2025-05-23 10:56:53 +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
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
ac2b262ddc
Some initial work on [ISSigKeys]. 2025-04-22 18:47:44 +02:00
Martijn Laan
72756e5787
Add [Setup] section directive CloseApplicationsFilterExcludes and bump version. 2025-02-19 09:40:28 +01:00
Martijn Laan
3a1914add3
Cleanup a bit more. 2025-02-06 18:24:50 +01:00
Martijn Laan
4ee3513638
{reg:...} constants can now also embed REG_DWORD-type registry values. 2025-02-02 16:30:35 +01:00
Jordan Russell
aef9408ff2
Clean out remaining showing/hiding of app window, and fix taskbar progress.
The ShutdownBlockReason calls still pass Application.Handle for the window handle. The docs don't say what the handle is used for. Maybe to supply an icon to display with the specified text?
2024-12-15 03:47:17 -06:00
Jordan Russell
9d52a24040
Setup: De-form TMainForm and set MainFormOnTaskBar=True.
Mostly done, I think. Still need to actually remove shWindowVisible etc. Still some Application.Handle references that need to be cleaned out. Still need to update help.

TMainForm still exists, but is no longer a form. Good enough for now.

With Application.MainFormOnTaskBar=True, we now have a working taskbar thumbnail and proper minimize/restore animations. Finally.
2024-12-14 04:44:08 -06:00