-
Notifications
You must be signed in to change notification settings - Fork 616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] installer: use modern innosetup features #593
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is entirely untested, I just made sure it builds.
installer/install.iss
Outdated
end; | ||
|
||
// Split NUL-delimited key/value pairs, extract LF that denotes end of key | ||
StdOut:=StringJoin(#10,Output.StdOut); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably want to iterate over Output.StdOut
directly instead of joining and re-splitting this, but that was the easiest Q&D way to at least get it to compile again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do that now, but there's probably at least one off-by-one error in there.
d1ff608
to
0c4df92
Compare
Innosetup 6.4 introduced a New function ExecAndCaptureOutput that executes commands and captures there standard output and standard error streams. We've been using our own howmgrown solution called ExecWithCapture for this purpose, but it's a bit finicky. Switch to the official implementation. Signed-off-by: Matthias Aßhauer <mha1993@live.de>
0c4df92
to
8d18d60
Compare
Innosetup deprecated x64 in V6.4 in favour of x64os and x64compatible. Use the appropriate new replacements. Signed-off-by: Matthias Aßhauer <mha1993@live.de>
ArchitecturesInstallIn64BitMode=x64 arm64 | ||
ArchitecturesInstallIn64BitMode=x64compatible arm64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the new x64compatible
, there should be no need to explicitly set arm64
anymore:
x64compatible
Matches systems capable of running x64 binaries. This includes systems running x64 Windows, and also Arm64-based Windows 11 systems, which have the ability to run x64 binaries via emulation.
Innosetup 6.4 introduced a New function ExecAndCaptureOutput that executes commands and captures there standard output and standard error streams. We've been using our own howmgrown solution called ExecWithCapture for this purpose, but it's a bit finicky. Switch to the official implementation.