Smart Software provides amazing power and control over your devices. With Smart Software, you can deploy almost any software or settings to your devices. Moreover, you can deploy any needed MDM profiles along with your software automatically. In the below example, we'll be creating a simple installer for My Custom Software.
- Creating a Smart Software Item
- Auto-Sensing MDM Profile Settings
- Conditions for Install
- Self Service
- Removal Command
Creating a Smart Software Item (Installation)
- On the left sidebar, navigate to the Catalog page.
- Select the Software tab or select the Software option in the body of the page.
- Smart Software will be automatically selected. Next, select New.
To start, add the software name and the version. For the purpose of this article, we have used the software name My Custom Software and used version number 1.0.
Note: The following special characters are not supported for Software Name: &,<, >, ", ', /
Now, let's add your file(s) to this Smart Software by clicking Select File(s) in the Installation section. Once selected, Smart Software will detect apps in the files added (if applicable) and show how many apps it found in the Add Profiles column.
Note: Many file types are supported for installation (examples: pkg, dmg, zip, sh, mobileconfig, app, tar.gz).
Once you've uploaded your file(s), press Add under the Install Command column to generate an installation script for you.
Note: Currently, pkg is the only supported file type for this functionality.
- For more information on Priority Order, please see this documentation.
Auto-Sensing MDM Profile Settings
Smart Software allows you to add PPPC, Service Management, and System Extension MDM profiles to your devices which help to prevent user prompts for your end users. You can use the information that Addigy collects from apps when you add the item to Installation files or you can manually create profiles by entering in the appropriate information.
Note: Service Management is only supported by macOS 13.0+ devices. System Extension is only supported by macOS 10.15+ devices. Kernel Extensions have been deprecated by Apple and are no longer supported in newer operating systems.
Adding Apps Generated by Addigy
- Click on the 8 apps found drop-down to see all apps found. Then select any or all of the different types of MDM profiles you'd like to deploy and click Create Profiles.
- The Attached Profiles section will now show all of the profiles you've just created.
- You can open each app to see each PPPC, Service Management, or System Extension profile individually. You can also delete profiles you may have added that are no longer needed.
- Note: When deploying System Extensions through Smart Software, Addigy automatically adds the Removable System Extensions key to all System Extensions and matches the team identifier to any bundle identifiers added. This allows System Extensions to be removed by an administrator at a later date, if necessary.
Adding Profiles Manually
- In the Add manually section, click the MDM profile you would like to create. They will show up in a new section called Manually Added Profiles with a placeholder name.
- Open your manually added profile to give that profile a name and enter in any appropriate information for it.
Condition for Install
Under Condition for Install, you can utilize any prebuilt condition or create your own custom condition to specify which criteria to check prior to installation. This allows you to see if the software item is already installed and if so, skip the installation.
Note: Software items without Conditions are not enforced. Addigy will attempt to install them once, then ignore them during future policy deployments.
Prebuilt conditions are conditions that Addigy has created that will check for numerous criteria without admins needing any scripting knowledge. You may use one, all or zero of these conditions when creating Smart Software.
If you'd like to see the script Addigy has created for a prebuilt condition, check a specific condition and add values to it. On the bottom right of the Condition for Install section, click the Preview command link to see the code.
Custom Conditional Commands
Custom Conditional Commands allow for a space for admins to create their own conditional commands or scripts that don't exist as Prebuilt Conditions.
Note: Your already built custom conditional commands or scripts will be shown in this section as part of the migration to this new feature of Smart Software. No scripts will be removed from already existing Smart Software items.
Install if return value is 0 refers to the behavior of installation based on the exit code of the entire condition script. To enable or disable this option, a Custom Conditional Command must be present. When a script is done running, it will always return an exit code. If there is no explicit exit code in the script, it will naturally exit with 0. By default, having this option checked will cause the software to install when the condition script exits with code 0. Disabling this option changes the behavior so that any non-zero exit code causes the software to install. This is particularly useful for some one-line condition scripts where you are relying on the natural exit code of the command used to determine whether to install the software or not. In most cases, Addigy recommends leaving this option enabled.
- Exit Code Values
- 0 = Success
- Any non-zero values = Error
- Exit Code Values
The Self Service section allows you to configure options about a Smart Software item that will display to your end users through a native Swift application. This allows your end users to install Smart Software items on demand.
- Description - This gives an end user an idea of what they're installing on their device. This is especially helpful for Smart Software items that only contain scripts.
- Note: Currently not implemented in Self Service and will be in a future date.
- Change icon: An icon that will show inside of Self Service for the Smart Software item. A 256x256 png file is recommended. If no file is uploaded, it will display the default image shown above.
- Category: This creates filters within Self Service that will show you items based on the category an item was given. General is the default category and if no category is explicitly given, it will be set to General.
You have the ability to specify if you want an application removed from a device. The Removal Command will run when:
- Removing a device from a policy
- Removing a device from Addigy
Note: Use the rm terminal command very carefully as misuse could lead to erasing data.
We recommend deploying your Smart Software items to test devices and virtual machines to verify their accuracy before pushing them out to your devices in production.