Skip to content

Add an Inno Setup Installer - #915

Open
Leonard Hecker (lhecker) wants to merge 3 commits into
mainfrom
dev/lhecker/iss
Open

Add an Inno Setup Installer#915
Leonard Hecker (lhecker) wants to merge 3 commits into
mainfrom
dev/lhecker/iss

Conversation

@lhecker

Copy link
Copy Markdown
Member

No description provided.

@DHowett

Copy link
Copy Markdown
Member

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 edit? It is what people have been asking (and by far I think it is the most common installation source outside of Windows itself, so we need to make a decision.)

Will we continue shipping plain EXEs (zipped with symbols ofc) to the GitHub releases as well?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .pipelines/release.yml
featureFlags:
autoBaseline: false
networkisolation:
policy: Good

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this was the signing fix from the coreutils build.

@lhecker

Copy link
Copy Markdown
Member Author

When installed via WinGet, will we be overriding the built-in edit?

Will we continue shipping plain EXEs (zipped with symbols ofc) to the GitHub releases as well?

Yes and yes!

@lhecker

Copy link
Copy Markdown
Member Author

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!

Comment thread .pipelines/release.yml
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).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how can that be possible? arm64 doesn't have x86 emulation anymore...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread assets/edit.iss
#endif

[Setup]
AppId={{1717C176-3A2F-4E01-83C4-916424E34160}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two {{ - is this an innosetup weirdness

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah and I can't figure out why!

Comment thread assets/edit.iss
Comment on lines +37 to +38
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how do we localize thesems?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could add localization files for the setup. I'll check how annoying that is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants