Frequently asked questions

Updated · 3 min read · For developers, release managers, QA, IT and security

Short, direct answers to the questions people ask most about Omnihorn: what it does and which platforms it supports, how releases and rollbacks work, what the Windows installer does, how updates are protected, where plans are described, and what enterprise teams can and cannot get today.

Getting started

›What does Omnihorn do?

Omnihorn delivers signed updates to desktop apps and builds the Windows installer for them. You upload your app’s build, assign it to a channel, and installed copies on that channel update themselves. Start with the quickstart.

›Which platforms are supported?

Windows only. macOS and Linux are shown as coming soon in the dashboard and cannot be selected yet.

›Do I need to add an SDK or change my app’s code?

No. You upload the folder your build already produces: the .exe plus its DLLs and data files. The installer downloads and updates those files for you. See Upload builds.

Releases

›How do I ship an update?

Upload a new build and assign it to the channel. Every installed copy on that channel installs it at its next update check. Builds never change after upload.

›How do I roll back a bad release?

Open the channel and assign the previous build. Installed copies treat any different version as an update, so they install the older build at their next check. Pin builds you may want to return to. See How to roll back a bad desktop release.

›How quickly do users get a new build?

At their next update check. Each channel sets how often installed copies check in the background: every few hours (every 20 by default), at every Windows start-up, or only by hand. Opening the installer window checks at once.

›Can I upload builds from CI?

Yes, with a per-app API key from the app’s CI/CD tab and a command-line tool or the GitHub Action. Branches can map to channels automatically. See CI/CD.

The installer

›Do I need a new installer for every release?

No. An installer is built once for each design and channel. New builds reach installed copies as updates. Build a new installer when you change its design.

›Why does Windows SmartScreen warn about my installer?

Installers are not code-signed until a certificate is configured, so SmartScreen shows an unknown-publisher warning. Users choose More info, then Run anyway. See the SmartScreen post.

›Where does the app install, and does it need administrator rights?

Per user, by default into a folder under %LOCALAPPDATA%, with no administrator prompt. If your design in Installer Studio allows it, users can pick another folder on the first install. An all-users install into Program Files is not generally available yet.

Security

›How do I know an update has not been tampered with?

Each app signs its file list with its own Ed25519 key, and the public key is built into the installer. The installer checks the signature and every file’s SHA-256 before it changes anything, and applies all files or none. See Security.

›Can I limit an update to testers or one customer?

Yes. Make the channel private. It then answers only installers with a channel token or the channel password. Tokens are stored hashed and can be revoked one by one.

Plans and billing

›Is there a free plan, and what are the limits?

Yes, there is a free plan. Plans differ in apps, channels, storage, bandwidth and analytics history. The current numbers are on pricing.

›What happens if my workspace is over a plan limit?

You keep everything you already have. Only creating something new or uploading more is refused until you are under the limit or upgrade.

Enterprise

›Do you offer SSO, SCIM, self-hosting or security certifications?

No. Sign-in is by a one-time email link. SSO, SCIM, audit-log export, self-hosted deployment and security certifications are not available. Enterprise deployment lists what is.

›Can IT deploy the app silently?

Yes, per user. Run setup.exe --no-gui --check-update --update-if-allowed as the target user and read the exit code. There is no MSI package. Questions go to contact.

Something wrong or missing? Tell us.