Sally: Introduction

Installing and Updating Sally

Sally needs no installer. A release is a .zip file for your platform (x64, x86 or ARM64); unpack it to a folder you can write to, for example C:\Tools\Sally, and run sally.exe. Keep the plugins, toolbars and utils folders next to sally.exe. Your settings are kept per user, outside the folder, so an update never touches them.

Sally's updater, utils\salupdate.exe, finds new releases on GitHub and installs them. Sally itself never goes online for updates: it starts the updater.

From Sally 1.0.38, the updater follows the language selected in Sally, including English when Windows uses another language. If no valid Sally language is configured, it chooses an available Windows language, falling back to English. Its windows and confirmation messages use Sally's dialog font and application icon. From 1.0.40, the updater uses your custom panel font when configured, otherwise the Windows dialog font, and follows the saved application icon colour.

To update from Sally:

  1. Choose Help/Check For New Versions. The update window opens, asks GitHub for the latest release, and shows the installed and the latest version with the release notes.
  2. When a newer release is shown, click Install and Restart.
  3. The updater downloads the release, checks it against the SHA-256 checksum published with it, unpacks it and asks you to confirm.
  4. Every Sally window started from the same folder closes, the files are replaced, and Sally starts again. The update window then tells you how the update went.

Open the release page shows the release on GitHub. Nothing is installed unless you click Install and Restart.

Release notes and voluntary support

From Sally 1.0.39, the update window separates What's new from From the maintainer. Signed content can provide notes in your selected language; English release notes remain available when optional content cannot be loaded. Maintainer messages are visible to everyone. Missing content does not prevent a free update.

Help/What's New opens the installed release's bundled notes entirely offline. It does not check for newer versions or install anything. Use Check for Updates there for an explicit online check.

Support Sally opens the financial support page. In 1.0.40, optional support actions appear during update checks and in the compact successful-update confirmation. A voluntary supporter key enables your supporter badge: your chosen name in About and, optionally, Sally's title. During active or future-dated support, the updater hides its support and key-entry buttons. Your name, dates and key management remain available in About; maintainer messages remain visible. Every feature and update stays free. Close simply closes the update window without changing supporter preferences.

Enter supporter key lets you paste a key or import its file. Verification is automatic and offline; check the name and dates, then choose Save key. In About, Supporter details shows your saved name and support dates. The optional title-name checkbox is saved immediately. Use the small arrow beside Close for replacement, export or confirmed local removal. Your name is shown locally on your computer.

After contributing through PayPal or Buy Me a Coffee, use the request link on the support page to email the badge contact address with your preferred badge name, delivery address, payment provider and payment name or transaction reference. Keys are issued manually, usually within one week. Every feature and update remains free.

Links in either reading panel can be opened with the mouse or through its context menu: focus the panel and press Shift+F10 or the Applications key.

Automatic update schedule

Sally also looks for a newer release by itself, every week unless you choose otherwise with Check for updates in Configuration/General (from every day to every six months, or never). Nothing is shown unless there is a newer release; then the update window opens without taking the keyboard from what you are doing, and its taskbar button flashes. If GitHub cannot be reached, Sally tries again the next day.

Up to Sally 1.0.36 the Check Version plugin did this. Sally 1.0.37 takes over its schedule and removes the plugin.

To update from a release you downloaded (also offline):

  1. Download the release's .zip file for your platform and, if you can, its Sally-v<version>-SHA256SUMS.txt into the same folder.
  2. Drop the .zip file onto utils\salupdate.exe in your Sally folder, or run utils\salupdate.exe <path to the .zip>.
  3. The updater names the installed and the new version (and asks before installing an older one), says whether Sally is running, and asks once. Sally closes, the files are replaced, and Sally starts again.

The updater's command line

<file>.zipInstalls a release you downloaded (see above).
--yesAnswers every question with Yes and runs without messages; errors are still shown. The outcome is written to the log (see below).
--install <folder>Updates the Sally in that folder instead of the one the updater is in.
--checkOpens the update window, as Help/Check For New Versions does.
--whats-newShows the installed release's bundled notes offline, as Help/What's New does. May be combined with --install to select a Sally folder; online-check and installation-action switches are not accepted with this mode.
--autoWith --check: shows nothing unless there is a newer release, as Sally's own check does. The exit code is 0 when Sally is up to date, 1 when the window was shown, and 2 when GitHub could not be reached.
--feed <address>With --check: asks another HTTPS address that answers like GitHub's release feed (a mirror).
--report --result <file>Shows how the update that left the result file went. Sally starts it after an update.

Run salupdate.exe without a file to undo an update that was interrupted, for example by a power failure. Sally starts the updater with further switches of its own (--prepare, --apply and those they take) to install a release; they are not meant to be typed.

What an update changes

Before a package is installed, the updater makes sure it is a Sally release for your processor and refuses a package that would write outside the Sally folder. A package that does not match its published SHA-256 checksum is refused; one without a checksum to compare with is installed only after you confirm.

Where to look if something goes wrong

See Also

Configuration/General
What's New in This Release
Starting Sally with Parameters