Deploying Scripts in Systems Manager using Software Installer
The Software Installer tool of Systems Manager is a very powerful mechanism by which one may install any software capable of running in the background on macOS, and any software on Windows. A less-known function of this is that Dashboard users are not limited to using just installers as payloads, and can instead run any supported file type as an arbitrary file. This guide will walk through the basics of setting up a scripting deployment on macOS and Windows using freely available tools.
This article provides an example of how scripts can be deployed with software installer. Please note that our Support team cannot provide assistance with setting up your own script deployment, or using third-party package building tools.
Deploying a Script on macOS
The mechanism by which this works on macOS is by creating a .pkg file using a pre- or post-installation script. We'll be using Packages as our example .pkg creator software, but any software which can create .pkgs which run silently are viable.
- Open Packages and create a new Package
- Once created, move to the Scripts section of the main project section and define your script
- Build the Package
- Open Disk Utility and create a blank .dmg for encapsulating the package for deployment
- Configure a new OS X Custom App
NOTE: in most circumstances, you'll want to make sure to uncheck "Auto-install / auto-uninstall" for script deployments, unless you're setting a telltale. This can be done easily by generating a generic .app program from xcode (the default cocoa application is sufficient for this purpose), matching the program name in Dashboard to the one you're making, and having the package file install the .app into /Applications.
Deploying a Script on Windows
Script deployment on Windows is much easier to document: the Windows mechanism for Software Installer will run arbitrary .exe files. You can create an easy framework by which you can run batch files or powershell scripts via the Nullsoft Scriptable Install System , or any other method by which to create binaries to do work (for example, you could just code a script wrapper and compile it for win32 - x86). To set a telltale that the script has been run, follow the instructions to add a program to Add/Remove Programs here.