Package Catalog
The Package Catalog is where you browse the third-party applications TridentStack Control already keeps updated on Windows and macOS, and where you upload and manage your own custom software packages. Custom packages let you deploy internal tools, licensed software, or any installer that isn't in the built-in catalog, through the same policies and deployment rings you already use for everything else.
How it works
Navigate to Update Management > Package Catalog in the left sidebar (also available from the mobile navigation). The page has a switch at the top for Windows, macOS, and Custom.
- The Windows and macOS views are read-only, browsable catalogs of the third-party applications TridentStack Control already keeps updated across your fleet. Each entry shows the application's name, package ID, publisher, category, latest version, and how many versions are tracked. These are the same catalogs used by Application Updates configurations, they aren't managed from this page.
- The Custom view lists the packages your organization has uploaded: your own installers for internal tools, licensed software, or anything not covered by the built-in catalogs.
Creating a custom package
From the Custom view, click New Package. This button is always visible on the page.
- Enter a name for the package.
- Optionally add a description.
- Choose the platform: Windows, macOS, or Linux.
The platform is fixed once the package is created. It determines which installer file types the package's versions can accept. You can also give the package an icon; on Windows, an icon can be picked up automatically from the first installer you upload.
Adding a version
Every custom package can hold multiple versions. Open the package and click Add Version to upload an installer straight from your browser.
Installer types
| Platform | Accepted installer types |
|---|---|
| Windows | MSI, EXE |
| macOS | PKG, DMG |
| Linux | DEB, RPM |
Each installer file can be up to 2 GB, and your organization has 25 GB of total storage for custom package installers.
Install settings
When you add a version, you also configure how it installs. These settings can be changed later on any Available version.
| Setting | Description |
|---|---|
| Install arguments | Command-line arguments passed to the installer |
| Success exit codes | Exit codes that count as a successful install. Defaults to 0 and 3010 on Windows, 0 on macOS and Linux |
| Install timeout | How long to allow the install to run before it's considered failed. Defaults to 60 minutes |
| Detection | How TridentStack Control confirms the application actually installed |
Detection is automatic for MSI, PKG, DEB, and RPM installers, TridentStack Control reads the installer's own metadata and needs no extra input from you.
- EXE installers need a detection rule that matches the application's name as it appears in Apps and Features, using an exact match, "starts with," or "contains" comparison.
- DMG installers need the app bundle identifier, and optionally a minimum version.
Security scanning and version lifecycle
After you upload a version, it goes through automatic processing before it can be deployed. TridentStack Control verifies the file and runs an automatic security scan to check for malware. A version only becomes available to deploy once processing finishes clean.
| Status | Meaning |
|---|---|
| Uploading | The installer file is being received |
| Processing | The file is being verified and scanned |
| Available | Processing finished successfully; the version can be deployed |
| Failed | Verification or scanning found a problem. Open the version to see the reason |
| Archived | The version has been retired and can no longer be deployed or downloaded |
If a version shows Failed, check the reason before re-uploading. A corrupted file, a mismatched installer type, or a flagged file are the most common causes.
Deploying custom packages
Custom packages deploy the same way as everything else in TridentStack Control: through policies for ongoing management, or on demand for a one-time push.
Through application update policies
When adding an application to an application update configuration, a Custom tab lets you pick one of your custom packages alongside the Windows and macOS catalogs. Once added, the package is targeted to endpoints by tag like any other application, and its rollout honors the configuration's assigned deployment ring. This path works for Windows, macOS, and Linux packages.
On-demand deploy
To push a custom package to specific endpoints immediately, open the Deploy Application dialog, either from an endpoint's actions menu or as a bulk action on the Endpoints list, and select the Custom tab. Choose the package and whether to deploy its latest version or a specific pinned version, then confirm.
On-demand custom deploys currently support Windows and macOS endpoints. Linux custom packages deploy through application update policies.
You'll be asked to verify your identity before the deploy runs, the same quick verification step used elsewhere in TridentStack Control for sensitive actions.
Either way, install progress and results appear in the endpoint's history alongside every other install, so you can track a custom package deployment the same way you track a system or application update.
Managing versions
Open a custom package to see its details and all of its versions. From here you can:
- Edit install settings on an Available version, install arguments, success exit codes, timeout, and detection, without re-uploading the installer.
- Archive an Available or Failed version. Archived versions can no longer be deployed or downloaded.
- Delete the package once every version has been archived and no application update policy still references it. Deleting a package permanently removes its uploaded installer files and frees the storage they used.
Editing a package's details or archiving a version requires the same identity verification used for on-demand deploys.
Limits
| Limit | Value |
|---|---|
| Max installer file size | 2 GB |
| Max total storage per organization | 25 GB |
| Success exit codes (Windows default) | 0, 3010 |
| Success exit codes (macOS/Linux default) | 0 |
| Default install timeout | 60 minutes |