Hey everyone,
I’m excited to share GitHub: jo-tools/ats-codesign-innosetup – an open-source project that makes Windows Code Signing and Installer Creation (with InnoSetup) easier than ever.
Key Features
- Windows Code Signing
Sign your Xojo built Windows executables and created Installers using either
- Seamless InnoSetup Integration
Automates the entire process after compilation from signing to packaging.
You just have to click “Build” in the Xojo IDE.
- Cross-Platform Support
Works with the Xojo IDE running on Windows, Linux, and macOS - allowing you to build and sign your Windows applications and installers from any OS.
- Minimal Setup
No complex installation and dependencies—just Docker is required.
Why Check It Out?
If you’ve ever struggled with code signing or setting up a reliable Windows installer, this project can save you time and hassle. Whether you’re an independent developer or working on a team, this solution helps streamline the process with minimal setup.
Take a look at the project on GitHub: jo-tools/ats-codesign-innosetup.
The ReadMe has all the details to get started.
I’d love to hear your thoughts!
Feel free to try it out and share your feedback or questions here or on GitHub.
14 Likes
Thank you for the share, did not make any progress regarding manually doing it. Will try it soon !
For other that are using InnoSetup but don’t need the codesigning example there might be something else of interest in the example project.
It’s using a single InnoSetup Script innosetup_universal.iss
for all Build Targets (Win32, Win64, ARM64). You’ll see conditionals in there, e.g.:
#if defined(csBuildTargetWIN32)
...
#elif defined(csBuildTargetWIN64)
...
#elif defined(csBuildTargetARM64)
ArchitecturesInstallIn64BitMode=arm64
ArchitecturesAllowed=arm64
#endif
This allows calling InnoSetup with corresponding parameters to use the same .iss
, but get different output depending on the parameters.
I have tried to make it even so universal that also App Name, Company Name, Executable Name, … are being set via Parameters (read from the Xojo Project from the Post Build Script). So I can use this very same .iss
script for many/different Xojo Projects without any modification.
Just copy both .iss
and Post Build Script into another project and auto-magically get a windows installer created (well, Docker is required of course).
1 Like
I’ve just released v.1.2.0 of GitHub: jo-tools/ats-codesign-innosetup – an open-source project that makes Windows Code Signing and Installer Creation (with InnoSetup) easier than ever.
It addresses a potential security concern and shows how to integrate a secret storage in a x-platform way into the Xojo Post Build Scripts.
Instead of having a codesigning credential stored in a configuration file it will be retrieved from the secret storage and passed to the Docker Container via Environment Variable.
The Xojo Example Project includes an example which supports:
- macOS: Keychain
- Linux: Gnome Keyring
- Windows: Windows Credential Manager
Take a look at the project on GitHub: GitHub: jo-tools/ats-codesign-innosetup.
The ReadMe has all the details to get started.
And btw: All the included Post Build Scripts can be used individually.
So you could just use the InnoSetup
step, but without CodeSign
- in case you just want to create a Windows Installer for your Xojo Desktop Project, but aren’t codesigning your Windows executables (yet).
5 Likes
Finally had time to try it out.
Work like a charm with the command line. I will look at the build stages and specially the innosetup one, I already have an innosetup file configured and would like to pass it to the build step
Thank you
1 Like