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.
What goes in each row
Section titled “What goes in each row”All four files are produced by zoan build-installer in dist/, with the same platform version.
| Component | File | Used by |
|---|---|---|
| Platform installer | Zoan-Platform-Setup-x.y.z.exe | The Download apps link in the portal. Fresh install or full update. |
| Designer | Zoan.Designer-x.y.z.zip | Designer self-update. Full folder: executable and support folders (java, extension). |
| Agent | Zoan.Agent-x.y.z.zip | Agent self-update (tray and Windows service). Full folder: executable, freerdp and capture. |
| Runner | Zoan.Runner-x.y.z.zip | The 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.
How each application updates
Section titled “How each application updates”- 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.newand 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.
When the full installer is needed
Section titled “When the full installer is needed”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,
.playassociation, 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.
Production and staging
Section titled “Production and staging”Each Zoan Cloud instance has its own catalog. What is published in staging does not reach production: upload the files in each one.