Enterprise deployment

Updated · 5 min read · For IT and security, release managers

This page is for IT teams and buyers who deploy a Windows app delivered through Omnihorn, or who evaluate Omnihorn for their own software. It covers where the app installs, the silent install and update commands, private channels, change control with channels and rollback, data handling, and a strict list of what is and is not available today.

Install scope: per user today

Installers built by Omnihorn install per user. The app goes into the user’s own profile, by default a folder under %LOCALAPPDATA%, and needs no administrator rights. Everything it writes is per user: the files, the current user’s registry, the user’s Start Menu and Desktop, and a start-up entry that checks for updates.

If the publisher allows it, the user can choose a different folder on the first install. The installer always installs into a dedicated folder named after the app and never moves an existing installation.

Silent install and update

The installer has a command-line mode that opens no window, prints one line of JSON and returns an exit code. You can run it from your own deployment scripts. Run it as the user who should get the app, because the install is per user.

Install or update without a window
# First install (or update) from the downloaded installer
$p = Start-Process .\setup.exe -ArgumentList '--no-gui','--check-update','--update-if-allowed' -Wait -PassThru
$p.ExitCode   # 3 installed or updated, 0 nothing to do, 1 error

# First install into a chosen folder (ignored once the app is installed)
Start-Process .\setup.exe -ArgumentList '--no-gui','--check-update','--update-if-allowed','--install-dir','D:\Apps' -Wait

# Check only, without changing anything
Start-Process .\setup.exe -ArgumentList '--no-gui','--check-update' -Wait -PassThru   # 2 update available, 0 up to date
Exit codeMeaning
0Up to date, or updates are paused by the publisher; nothing changed
1Error: network, channel access, a hash mismatch or an unsafe path. The JSON error field says which
2An update is available (check only)
3The update was installed
4Uninstall with --confirm was declined; nothing was removed

To uninstall silently, read the QuietUninstallString value of the app’s entry under HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall and run it. By default it removes only the files the installer wrote, plus its start-up entry and shortcuts. Files users saved in the folder stay.

Omnihorn does not produce MSI packages or ready-made templates for Intune or Group Policy. Use the commands above from the tool you already deploy with.

Private channels for your organisation

A publisher can give an organisation its own private channel. Only installers that present that channel’s token or password get updates from it. The installer built for a private channel carries its own token, so users install with no extra step. Keep that installer inside your organisation, and ask the publisher to revoke and replace the token if it leaks. See Channels and rollouts.

Change control with channels and rollback

  • Nothing reaches users without a channel change. Uploading a build changes nothing for installed copies. A person, or a CI rule the team set up, has to assign the build to the channel.
  • Stage releases as rings. Use a pilot channel for a small group and a main channel for everyone. Promote the same build from one to the next.
  • Control timing. How often installed copies check is set per channel: every N hours, at every Windows start-up, or only when the user checks by hand. A background check waits a random few minutes after start-up so machines do not all check at once.
  • Roll back in one step. Assign the previous build to the channel. Installed copies install it at their next check. Pin the build you may want to return to so automatic cleanup keeps it.

There is no approval workflow inside Omnihorn. The team release process shows how teams agree on sign-off.

Available today and not available yet

CapabilityStatus
Windows desktop appsAvailable
macOS and LinuxNot available yet
Per-user install, no administrator rightsAvailable
All-users install into Program FilesNot available yet (built, switched off)
Silent install, update check and update from the command lineAvailable
MSI packages, Intune or Group Policy templatesNot available
Private channels with revocable tokens or a passwordAvailable
Rollback by reassigning an earlier buildAvailable
Percentage rollouts inside a channelNot available
Signed update files (Ed25519 per app, SHA-256 per file)Available
Code-signed setup.exe without a SmartScreen warningNot available yet
CI upload with per-app API keysAvailable, with a GitHub Action and a command-line tool
Member roles in a workspaceAvailable; inviting members is not available yet
Approval workflowsNot available
Single sign-on (SAML, OIDC) and SCIM provisioningNot available
Export of audit logsNot available
Self-hosted or on-premises deployment, bring your own storageNot available
Security certifications or a contractual uptime commitmentNot available
Data Processing AddendumAvailable at /dpa
A bespoke installer with your own screens and stepsOn request through custom installer

Data handling

Installed copies send install, update, uninstall and failure events with a random installation id, the build, the platform and the OS version. They send no user names or emails. Successful update checks on a private channel are recorded in that channel’s access log with the installation id and the token used. The security page lists what is stored. The legal terms are in the Privacy Policy, the Data Processing Addendum, which lists subprocessors, and the Terms of Service.

Procurement

›Does the installer need administrator rights?

No. Installers install per user into the user’s profile. The all-users install, which needs one administrator prompt, is not generally available yet.

›Can we deploy silently with our existing tools?

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

›Do you support SSO?

No. Dashboard sign-in is by a one-time email link. SSO, SCIM and audit-log export are not available.

›Can we self-host Omnihorn?

No. Omnihorn is a hosted service. Self-hosted and bring-your-own-storage deployments are not available.

Something wrong or missing? Tell us.