Self-contained deployment: no runtime to chase

The application ships with everything it needs. On a studio machine that nobody administers, that is worth more than a smaller download.

Studio machines are not managed workstations. They were set up once, they run one job, and the person who configured them may have left. Anything requiring a runtime install, a framework update or an administrator is a problem waiting for the worst moment.

What ships

PlayOnRadio is a self-contained executable targeting Windows 10 and 11 on x64. The .NET runtime is included. There are no prerequisites to install and nothing to keep patched separately.

That pushes the download to around 100 MB. On a one-time install for a machine that will run for years, that is an easy trade.

Two ways to install

A professional Windows installer built with Inno Setup handles the normal case — shortcuts, start menu entry, uninstaller. A ZIP package is available for portable use, which suits testing and locked-down machines where installers are restricted.

Where your data lives

Everything sits under your local application data folder, which matters when you are backing up or moving to new hardware:

  • playhistory.db — play history, rotation clocks, categories, AI usage logs.
  • lastplaylist.json — the current playlist, restored at startup.
  • jingles.json — jingle button assignments and labels.
  • clockwheel.json — clock wheel slots.
  • loudness-cache.json — cached loudness measurements.

The licence is stored separately and is machine-specific, so it does not transfer with the rest.

Moving to a new machine

Copy the data folder, install on the new machine, and request a licence against the new hardware ID. Playlists, history, rotation clocks, jingles and loudness cache all come across.

The loudness cache is worth copying specifically. It is keyed by path, size and modification time, so if your music lives on the same network share those measurements remain valid and you skip re-analysing the entire library.

Third-party notices

The installer ships THIRD-PARTY-NOTICES.txt and the LGPL-2.1 licence text, because libmp3lame is redistributed under LGPL-2.1. Small thing, but the kind of small thing that matters if anyone ever audits the machine.

Related reading

Ready to hear it on your own station?

Tell us about your setup and we'll send you a personalised quote.

Request a Quote