Custom software lets you upload your own installer packages and deploy them to managed devices. Use it for internal tools, proprietary apps, or anything that is not in the Managed Software catalogue.
Feature/Functionality
Overview
| macOS | Windows | Linux | iOS / iPadOS | Android |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Reach for custom software when:
- The app is missing from the Fleet catalogue.
- You need to ship an internal or proprietary tool.
- You must deploy one specific version.
Supported formats
| Platform | Formats |
|---|---|
| macOS | .pkg |
| Windows |
.msi, .exe, .ps1
|
| Linux |
.deb, .rpm, .sh, .tar.gz
|
| iOS / iPadOS | .ipa |
Deployment options
- Install automatically. The app is pushed silently to every targeted device. You can switch it on or off whenever you like. Switching it off removes the Fleet auto-install policy behind it, and the app goes back to manual install.
-
Self-service. Employees see the app in the Self-Service portal and install it when they need it. Not available for
.ipa. -
Install during Zero Touch. The app is installed while the device is being provisioned. Not available for
.ipa.
How detection works for automatic install depends on the format:
-
.pkgand.msi: Factorial IT generates the detection policy for you. Nothing else to set up. -
.exe,.ps1,.deb,.rpm,.sh,.tar.gz: Fleet cannot build the detection policy for these. When you turn on automatic install, Factorial IT suggests an osquery query based on the software name. Check and correct the query before you save. -
.ipa(iOS / iPadOS): automatic install, self-service and installation during zero-touch deployment are all unsupported.
How to use
- Go to MDM > Software and click Add app.
- Choose Custom app.
- Upload the installer file.
- Set the deployment options.
- Click Add software.
Add several packages to one software
A single custom software can contain up to 10 packages, each with its own targeting. This is useful for separate Apple silicon and Intel installers under one name, or for giving a pilot group a new version first.
- Open the software in MDM > Software.
- Click Add package and upload the installer. It must be the same app on the same platform: the same bundle identifier on macOS, the same upgrade code for an
.msi, or the same name for other formats. - Under Targeting, pick which devices get this package: all devices, some device groups, or none. You can edit or delete each package separately later.
How packages share devices:
- Keep targets separate. If a device falls within the targets of two packages, it receives the one added first.
- Zero-touch setup ignores targeting. With Install during Zero Touch setup on, a device gets the first package added, whatever each package targets. The software's page reminds you which package that is.
- No duplicates. Factorial IT rejects an installer that is already in this software or that belongs to another software. Add that one as new software instead.
- Ten packages maximum. Delete one you no longer use before adding another.
-
.ipaapps take one package only.
App patching
| Keep installer updated | ❌ Not available. Upload a new package yourself when a new version comes out. |
| Automatically patch devices | ❌ Not available. Uploading a new version does not update devices on its own. |
To update the app on devices, upload a new installer and deploy it again.
Tips and Best Practices
-
Prefer
.pkgor.msiwhen the vendor offers them. Detection is generated for you, so there is no query to write. - Test the suggested detection query. A wrong query means automatic install cannot tell whether the app is already on the device.
- Use packages for staged rollouts. Target a pilot group with the new version, then widen the targeting once it works.
- Keep package targets from overlapping. Overlaps make it harder to predict which version a device gets.
- Track new releases yourself. Nothing updates custom software automatically.
Troubleshooting and FAQ
Troubleshooting
-
Automatic install does not detect the app correctly. For
.exe,.ps1and Linux formats, the detection query is likely wrong. Edit it so it matches how the app appears on the device. - A device got the wrong package. It probably falls within the targets of two packages, so it received the one added first. Separate the targets.
- A new device got the first package, not the one you targeted. During zero-touch setup, devices always receive the first package added when Install during Zero Touch setup is on.
- The installer is refused when you add it as a package. It is already in this software, belongs to another software, or does not match the app (bundle identifier, upgrade code or name). Add it as new software if it is a different app.
- You cannot add another package. The software already has 10. Delete one you no longer use.
FAQ
-
Does custom software update itself?
No. Upload a new installer and redeploy it.
-
What happens when I switch off automatic install?
The Fleet auto-install policy is deleted and the app returns to manual install.
-
Can I offer a
.ipaapp through self-service?
No..ipaapps support neither self-service, automatic install, nor zero-touch installation.
-
How many packages can one software hold?
Up to 10. iOS and iPadOS apps hold one.