Deploy Software to Devices

This guide walks you through adding a software deployment to a config package so that octoja installs or updates the software on your managed devices au...

Written By Erdinc Akay

Last updated 26 days ago

This guide walks you through adding a software deployment to a config package so that octoja installs or updates the software on your managed devices automatically.

Before you start

  • You need the Software Deployment Management permission (under Administration β†’ Groups).
  • A config package must already exist, or you need permission to create one.

Steps

  1. Go to Configuration β†’ Config Packages and open the config package you want to add software to (or create a new one).
  2. On the Software tab, click Add Software.
  3. Choose the package manager tab that matches your target platform:
TabUse forHas search catalogue?
ChocolateyWindows devicesYes β€” search by name
wingetWindows 10/11 devicesYes β€” search by name
HomebrewmacOS (and some Linux) devicesYes β€” searches both command-line tools (formulae) and graphical apps (casks)
APTDebian or Ubuntu Linux devicesNo β€” you must type the exact package name (see below)
CustomSoftware you package yourself in Configuration β†’ Custom PackagesYes β€” pick from your in-house catalogue
  1. Search for the software by name. For example, type "Firefox" or "7-Zip" and select it from the results.

APT packages (Debian / Ubuntu): There is no search catalogue for APT. You need to type the exact package name as it appears in your distribution's repositories (e.g. nginx, curl, htop). If you are not sure of the exact name, run apt search <keyword> on a Linux device.

Homebrew graphical apps (macOS): The Homebrew catalogue covers both command-line tools (formulae) and graphical macOS apps such as Google Chrome, Slack, and Visual Studio Code (casks). Graphical apps are marked with a Cask badge in the results list. Search for them by name just like any other package and roll them out to your Macs.

  1. Configure the deployment:
FieldWhat to enter
Display NameA friendly label for your reference
VersionChoose Latest or pick a specific version from the dropdown
Install BehaviorInstall & Update (installs if missing + updates) or Update Only (only updates existing installs)
Install argumentsOptional extra flags passed to the package manager. Wrap the underlying installer flags using the manager's own syntax, e.g. --install-arguments="/S" to forward a silent flag to a Chocolatey installer (usually not needed).
  1. Click Add to Package.
  2. Set a deployment schedule β€” this controls when the agent checks and applies software on devices. The schedule builds as a sentence: Run [mode] at [time]. Pick one of the mode fragments:
  • every day β€” runs each day at the time you pick
  • at an interval β€” runs every N hours (you choose the number of hours)
  • every weekday β€” runs Monday through Friday at the time you pick
  • on specific days β€” runs on the weekdays you choose, at the time you pick
  • monthly β€” runs on a chosen day of the month at the time you pick
  • at reboot β€” runs every time the device starts (no time picker)
  1. Save the config package.

Software Kiosk: To let end users install a deployment themselves from the Software Kiosk, open the saved deployment on the Software tab and turn on Show in Software Kiosk β€” so users can self-service it from the Software Kiosk.

The following walkthrough shows the opening steps β€” opening the package, switching to the Software tab, clicking Add Software, and searching the Chocolatey catalogue for Firefox:

Animated walkthrough β€” opening the Windows Workstation Basics config package, switching to its Software tab, clicking Add Software, and searching the Chocolatey catalogue for firefox. The results list shows Mozilla Firefox, Mozilla Firefox ESR, Adblock Plus for Firefox, Bitdefender TrafficLight for Firefox, and Progressive Web Apps for Firefox.

Deployment mode

At the top of the Add-Software dialog, above the package-manager tabs, a Mode toggle picks what the deployment does. Choose the mode before you select a package manager β€” it changes the rest of the form:

  • Specific package (default) β€” install or update the one package you name. This is the flow described in the steps above.
  • Update all outdated β€” the agent upgrades every package the chosen package manager reports as outdated. The package-name field is omitted in this mode; you pick the package manager, give the deployment a display name, and set the schedule (for winget you can also set Install for).

Advanced options

The deployment form has one optional Windows-only choice you can leave at its default for typical installs:

  • Install for β€” this appears for winget deployments. It defaults to All users, which installs the software for every user of the device and works even when no one is signed in (recommended for most deployments). Switch to Current user only to install into the signed-in user's profile instead β€” this requires someone to be signed in to the device, so use it only for per-profile software. macOS and Linux ignore this setting.

See the Software Deployment Reference for full semantics.

What happens next

octoja assigns the config package to the matching devices. On each device, the agent:

  1. Checks whether the listed software is installed.
  2. If the software is missing (and the behaviour is "Install and update"), installs it.
  3. If an older version is installed, updates it to the desired version.
  4. Logs the result in the device activity log with source Deployment.

Tips

  • You can add software from multiple package managers in a single config package. octoja runs the correct one for each device's operating system.
  • To see which software is currently installed on a device, open the device and check the Installed Software tab.
  • Set maintenance-friendly schedules (e.g. overnight or at reboot) to avoid disrupting users during work hours.
  • Chocolatey and Winget both work on Windows. Chocolatey has a larger community catalogue; Winget is built into Windows 10/11 and does not require a separate install.
  • On macOS, when you deploy a Homebrew package to an Apple-Silicon Mac that does not have Homebrew yet, octoja installs Homebrew automatically before installing the package. On Intel Macs, install Homebrew on the device first.