Deploy software
This page sends a package from the software catalog to endpoints and shows how to read the result. You finish with the package installed, upgraded, or removed on each endpoint you chose, and a row per endpoint saying how it went. To add the package to the catalog first, see Software catalog and self-service.
Before you begin
Section titled “Before you begin”- You need the
software:deploypermission. - On the MSP plan, open the client’s workspace first.
- The package’s source must suit the endpoints: winget, Chocolatey, uploaded installers, and vendor URLs for Windows, apt or dnf for Linux, and Homebrew or a Mac installer for macOS. An endpoint of the wrong kind refuses the install and says why.
Deploy a package
Section titled “Deploy a package”- Go to Software > Deployments and select New deployment.
- Under What to send, choose the Package.
- For an uploaded installer, choose the Version, or leave Newest uploaded. Other sources install whatever the package manager or the vendor serves, unless the entry holds the fleet at a version.
- In Action, choose Install, Upgrade, or Remove.
- Under Where it goes, choose endpoints, sites, or device groups. See Run scripts on endpoints for the same picker.
- Select Review. The summary names what is sent and where. For a site or device group, the exact endpoints are worked out when the deployment is created.
- Select Deploy.
An endpoint that is offline still takes the deployment. The command waits three days for it to come back, then expires.
Installing a package that a profile blocks for an endpoint, through
software.blocked_packages, is refused, and the message names the setting to
clear. Removing software is never refused.
To remove a package that no package manager owns, such as an uploaded installer, Outpost uses the uninstall entry each endpoint reported in its inventory: the first machine-wide install whose name contains the catalog entry’s Name. Endpoints without one are left out of the deployment. When no selected endpoint has one, nothing is sent and the console says Outpost can’t find an uninstall entry for this app on that endpoint, so it can’t remove it. For several endpoints it reads on those endpoints. An uploaded package can be removed even after its installers were deleted.
Upgrade what is already installed
Section titled “Upgrade what is already installed”- Go to Software > Inventory.
- Narrow the list to the product and select the installs to upgrade.
- Select Upgrade selected, then in Catalog package, choose the package to upgrade to. Outpost fills it in when every selected install reports the same package id.
- Select Review, then Upgrade.
An install marked Per user is in one person’s profile, and only that person’s session can upgrade or remove it.
Verify
Section titled “Verify”Software > Deployments lists one row per endpoint with the Package, Endpoint, Action, State, Started, and Finished. A row that succeeded shows Installed. Other states are Waiting, Sent, Running, Failed, Timed out, Canceled, and Expired. Select The rest of this rollout on a row to see the other endpoints in the same deployment.
An install succeeds only when every detection check on the catalog entry passes afterwards, so Installed means Outpost found the software on the endpoint.
If something goes wrong
Section titled “If something goes wrong”| Symptom | Cause | Fix |
|---|---|---|
| The deployment is refused because the package is on the blocked software list | A profile that applies lists it in software.blocked_packages. | Clear it from the profile, or narrow the selection. |
| A row shows Failed on a Windows endpoint for a winget package | winget is not installed, which is common on Windows Server. | Use another source, or set software.winget_bootstrap_package_id. See the Software settings. |
| A row shows Failed although the installer ran | A detection check did not pass. | Check the paths and values under How Outpost checks it worked on the catalog entry. |
| A row shows Expired | The endpoint stayed offline for three days. | Deploy again when it is online. |
| A removal is refused with Outpost can’t find an uninstall entry for this app on that endpoint, so it can’t remove it. | The endpoint’s inventory has no machine-wide install whose name contains the catalog entry’s name. A per-user install has no machine-wide entry. | Check Software > Inventory for the endpoint. Remove a per-user install from that person’s session. |
Next steps
Section titled “Next steps”Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.