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.
# 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 code | Meaning |
|---|---|
| 0 | Up to date, or updates are paused by the publisher; nothing changed |
| 1 | Error: network, channel access, a hash mismatch or an unsafe path. The JSON error field says which |
| 2 | An update is available (check only) |
| 3 | The update was installed |
| 4 | Uninstall 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
| Capability | Status |
|---|---|
| Windows desktop apps | Available |
| macOS and Linux | Not available yet |
| Per-user install, no administrator rights | Available |
| All-users install into Program Files | Not available yet (built, switched off) |
| Silent install, update check and update from the command line | Available |
| MSI packages, Intune or Group Policy templates | Not available |
| Private channels with revocable tokens or a password | Available |
| Rollback by reassigning an earlier build | Available |
| Percentage rollouts inside a channel | Not available |
| Signed update files (Ed25519 per app, SHA-256 per file) | Available |
Code-signed setup.exe without a SmartScreen warning | Not available yet |
| CI upload with per-app API keys | Available, with a GitHub Action and a command-line tool |
| Member roles in a workspace | Available; inviting members is not available yet |
| Approval workflows | Not available |
| Single sign-on (SAML, OIDC) and SCIM provisioning | Not available |
| Export of audit logs | Not available |
| Self-hosted or on-premises deployment, bring your own storage | Not available |
| Security certifications or a contractual uptime commitment | Not available |
| Data Processing Addendum | Available at /dpa |
| A bespoke installer with your own screens and steps | On 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
- Plans, limits and the Enterprise plan: pricing. Enterprise has no self-serve checkout.
- Questions, security questionnaires and contracts: contact.
- An installer with screens or steps that Installer Studio does not offer: custom installer.
- Acceptable use and refunds: Acceptable Use Policy and Refund Policy.
›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.
Keep reading
Something wrong or missing? Tell us.