Skip to content

CodeSpells exe Launcher Installer

Lindsey Handley, Ph.D edited this page Sep 16, 2021 · 2 revisions

The code for the Launcher Installer is in a lightweight Racket file in your locally cloned Nexus repo found at: nexus/nexus-client/Installer/CodeSpells.rkt. DO NOT ADD STUFF TO THIS FILE, unless absolutely necessary. Most logic for the Launcher should be in CodeSpells Launcher Logic, which this program fetches from AWS.

This Launcher Installer is distributed as a signed exe file, and many users may think of this file as CodeSpells itself, since its the first and only exe downloaded from the CodeSpells website. It takes the user through a traditional wizard installation of the CodeSpells Launcher. The CodeSpells Launcher is what actually downloads versions of CodeSpells and manages them for the user.

Development

  1. You really shouldn't be developing on this, but if you absolutely must... Edit the code here: nexus/nexus-client/Installer/CodeSpells.rkt
  2. Generate the executable by running raco exe --gui --ico cs-icon.ico ++lib racket/gui .\CodeSpells.rkt
  3. Generate a distribution folder containing the exe by running raco distribute CodeSpells .\CodeSpells.exe
  4. Now, use InnoSetup to package up the distribution folder as a single exe:
  • Reference the InnoSetup script currently in the Nexus repository here for more details about how to configure the setup: nexus/nexus-client/Installer/InnoSetupInstaller/ino-setup-script
  1. To sign the executable generated by InnoSetup, you need access to a special private key and certificate: osslsigncode sign -certs CollectCCC -key codespells.key -n "CodeSpells" -i "https://codespells.org" -in CodeSpells.exe -out CodeSpells-signed.exe. The code signing certificate was purchased from Comodo and involved an annoying verification process.

Production

Upload the signed executable to AWS S3 at: s3://codespells-org/Nexus/Installer/CodeSpells.exe

Clone this wiki locally