Skip to content

Installers and updates

Zoan’s desktop applications (Designer, Agent and the Runner they share) are distributed from Zoan Cloud. The admin portal has an Installers section: a catalog by component and version. What is published there is what users download and what the applications use to update themselves.

All four files are produced by zoan build-installer in dist/, with the same platform version.

ComponentFileUsed by
Platform installerZoan-Platform-Setup-x.y.z.exeThe Download apps link in the portal. Fresh install or full update.
DesignerZoan.Designer-x.y.z.zipDesigner self-update. Full folder: executable and support folders (java, extension).
AgentZoan.Agent-x.y.z.zipAgent self-update (tray and Windows service). Full folder: executable, freerdp and capture.
RunnerZoan.Runner-x.y.z.zipThe shared engine in <install>\runner\. Updated by the Designer and the Agent.

The version is taken from the file name and must match the binary. Clients only update when the published version is greater than the one installed.

All three components are complete compressed folders (bundles), not loose executables: applying a version replaces the whole folder, so the support folders travel with every update. Clients older than 1.2.4, which only understood executables, do not see the bundles: update them once with the full installer and from then on they keep up by themselves.

  • Designer: on startup it asks for the latest published version. If newer, it downloads it in the background, notifies you and applies it on close: the current folder is set aside as .old, the new one takes its place and the Designer reopens. On machine-wide installs (Program Files) Windows asks for permission once; on per-user installs it does not.
  • Agent: checks on connect and every 6 hours. It verifies the SHA-256 checksum of the download and waits for the running execution to finish if there is one. As a Windows service it applies silently (the service stops, the folder is swapped and the service starts again). From the tray it notifies you, asks for permission if needed and restarts.
  • Runner: it is a folder, not an executable, and it is shared by the Designer and the Agent. Both download the zip, stage it as runner.new and swap it when no execution is running. If a robot is using the folder, the swap waits for the end of that execution or for the next start. The live folder is never modified half-way.

With this, a new engine version reaches every machine by publishing three files.

Self-update replaces each application’s full folder (executable and support folders) and the Runner folder. The swap is done by updater\Zoan.Updater.exe, a small applier installed next to the applications that only the full installer renews. It does not touch:

  • the applier itself (updater\);

  • the Windows registry (shortcuts, .play association, browser extension, native messaging host), already in place;

  • the activity packages, which update from their own catalog;

  • the Zoan UI Discover extension, updated by the Chrome Web Store.

When a version changes something in the registry, adds a new component or changes the Windows service, publish the platform installer and ask users to run it: it detects the existing installation and updates it in place. That is the exception, not the normal flow.

Each Zoan Cloud instance has its own catalog. What is published in staging does not reach production: upload the files in each one.