Add an Inno Setup Installer - #915
Conversation
|
Some manual work will be required to move the WinGet install over to this. When installed via WinGet, will we be overriding the built-in Will we continue shipping plain EXEs (zipped with symbols ofc) to the GitHub releases as well? |
Dustin L. Howett (DHowett)
left a comment
There was a problem hiding this comment.
I recently learned about Inno 6.7, which adds a 64-bit "setup loader"?
Experimental: Added support for using a 64-bit version of the "Setup Loader" program by setting existing [Setup] section directive UseSetupLdr to x64.
Using x64 does not mean that Setup itself will also be 64-bit: Setup itself is currently always built as a 32-bit x86 binary.
Using x64 anyway has several benefits: your installer initially presents itself as a native 64-bit executable, and the 64-bit loader has high-entropy ASLR enabled. Additionally, it can help satisfy policy or third-party requirements that mandate 64-bit installers, even while the main Setup program is still 32-bit.
The downside is that your installer will no longer load on systems running x86 Windows.
| featureFlags: | ||
| autoBaseline: false | ||
| networkisolation: | ||
| policy: Good |
There was a problem hiding this comment.
What do we need this for? If we're talking to a remote server we'll probably get hit with CFS violations. Unless this is the thing required for the code signing to work.
There was a problem hiding this comment.
Yeah this was the signing fix from the coreutils build.
Yes and yes! |
|
I don't understand the setup loader feature. Maybe worth skipping for now since it's experimental? I didn't know that Inno Setup 7 was stable already! |
| displayName: Produce ${{platform}} release archive | ||
| # Run ISCC once to generate the uninstaller .e32 file. | ||
| # Rename .e32 → .exe so the signing task recognises the extension. | ||
| # The .e32 is arch-independent (confirmed: same hash for x64 and arm64). |
There was a problem hiding this comment.
how can that be possible? arm64 doesn't have x86 emulation anymore...
There was a problem hiding this comment.
I haven't seen anyone complain yet and I don't have an arm64 device to test this with (aside from a MacBook).
Also, I just noticed this awful AI comment. Shame on me. I'll rewrite that.
| #endif | ||
|
|
||
| [Setup] | ||
| AppId={{1717C176-3A2F-4E01-83C4-916424E34160} |
There was a problem hiding this comment.
two {{ - is this an innosetup weirdness
There was a problem hiding this comment.
Yeah and I can't figure out why!
| Name: "path"; Description: "Add msedit to the system &PATH"; Flags: checkablealone | ||
| Name: "path\edit"; Description: "Also provide it as &edit, taking precedence over the edit.exe shipped with Windows"; Flags: dontinheritcheck |
There was a problem hiding this comment.
how do we localize thesems?
There was a problem hiding this comment.
I could add localization files for the setup. I'll check how annoying that is.
No description provided.