Add Custom Packages to Software Repository
The Action1 Software Repository is a centralized software distribution library that offers a collection of pre-packaged application setups, ready for deployment across multiple endpoints.
If a required application is not yet included, you can create a custom installation package, add it to the repository, and deploy it automatically to designated endpoints, as described below.
Important! Action1 deploys custom software packages per machine, per-user installations are not supported.
TIP: You can distribute both third-party applications and proprietary software solutions.
Stage 1: Prepare for Deployment
NOTE: It is recommended that you run a test installation of your app on a sandbox server before deploying it broadly. Action1 installs custom packages per machine (that is, for all users on a device). Per-user installations are not supported, so do not upload custom apps that install only for the current user. To make sure that the application can be installed per machine (for all users), go to Program Files.
- Install the necessary app on one of your managed endpoints. Then in the Action1 console, go to the Endpoints page, select this endpoint, and navigate to its Installed Software tab. Make sure the app software package is shown in the list.
- Copy or take a note of the app Name and Version displayed in the Action1 console, for example:
-
- Name: SnagIt 2024
- Version: 2024.4.0
These properties will be used in the next steps.
-
- Prepare a software package for the app you want to deploy:
-
- For a Windows app, you can provide:
- a Windows installation package (MSI)
- an executable (EXE, CMD, BAT)
- a ZIP package with multiple files (see Prepare Multi-File Custom Packages)
- For a Mac app, only deployment packages in the ZIP format are currently supported, so prepare a ZIP file as described in Prepare Multi-File Custom Packages for macOS.
- For a Windows app, you can provide:
-
Stage 2: Add a New Package to Software Repository
- Navigate to Software Repository and select Add to Repository.
- In the Software Package settings, provide the following information about the package:
-
- Enter a meaningful Name (not necessarily the same as that you copied earlier).
- Specify Vendor and Description.
- Select Platform of the target endpoints where the app will be deployed.
-
- If you are managing multiple Action1 organizations, you can select deployment Scope for the new package. This can be an organization or the whole enterprise.
IMPORTANT! Make sure you specify the proper Scope for the software package. This value cannot be changed after you save the settings. If you specify the scope incorrectly, you will have to remove the package from the repository and then configure it anew.
- When finished, click Save.
Then click Add Version and configure the settings for deploying the app version.
TIP: Later, you can add multiple versions of the same app. When a new version is released, add it to your package by using Clone and duplicating the existing version. This preserves most of the properties, allowing you to change only what is necessary. (Typically, you need to specify the new version number and release date.)
Stage 3: Configure App Version Deployment
On the General tab:
For Windows or Mac app, do the following:
- In the Version number field, enter the software version you obtained on step 2 of the “Prepare for Deployment” procedure above.
- The Release date is filled in automatically. It reflects the date when the app was published (uploaded) to the Action1 Software Repository.
- In the Display name match (specific) field, enter a regular expression that Action1 will use to detect this app on the managed endpoints. This regular expression should be based on the display name of the required software you obtained on step 2 of the “Prepare for Deployment” procedure above.
NOTE: Make sure the syntax is correct, starting with ^ and ending with $. Remember to escape specific characters according to regexp creation standards (using a backslash).
TIP: To create and verify the regular expressions, you can use the regex101 online tool.
Examples
Software display name | Regexp (specific) |
CrystalDiskInfo | ^CrystalDiskInfo$ |
Adobe Acrobat Pro (64-bit) | ^(Adobe Acrobat Pro \(64\-bit\))$ |
- Optionally, provide Display name match (broad) – this is a regular expression to be used only for uninstalling the app. Thus, it should be flexible enough to match all possible variants (for example, different editions or localized versions).
Example
Assuming you have multiple Mozilla Firefox editions and localized versions, with display names like Mozilla Firefox ESR (x86 fr), Firefox Developer Edition (x64 en-US), Mozilla Firefox (x64 en-US), and so on, use the following regular expression to capture all editions and localized versions:
^.\*(Firefox).\*$
TIP: You can also use the DetectCustom-AppParameter.ps1 script. It runs on the sandbox server and defines uninstallation paths for both 32-bit and 64-bit Windows applications and for both current user and local machine scopes.
- If required, specify:
- OS versions of the target endpoints
- Update type (default is Regular Updates)
- CVE
On the Installation tab:
- For the Windows app, take these steps.
- For the Mac app, take these steps.
On the Additional Actions tab:
Here you can specify the automated actions to be executed before or after the package installation or uninstallation. These actions can be used, for example, to push related software updates or uninstall conflicting software.
- Click Add Action and select the action from the list.
Available Actions for Windows and Mac
Action | Description | Available for Windows? |
Available for Mac? |
Deploy Software | Use to install more apps from the Action1 Software Repository. | Yes | Yes |
Deploy Update | Use to install missing patches and critical updates. | Yes | Yes |
Reboot | Use to reboot the endpoint. | Yes | No |
Run Script | Use to enter a new script or select an existing one from the Script Library. You can also select to execute the script only if the automation condition script returns a non-zero error code. To learn more, see Running Scripts Remotely. | Yes | Yes |
Uninstall Software | Use to uninstall the software. | Yes | No |
TIP: You can add as many actions as you need.
- For each action, specify whether it should be executed before or after installation (or uninstallation).
- Use the Priority field to define the order in which the actions from the same step are executed. Lower values execute earlier.
For example, if you specify two Before Install actions with priorities 1 and 2, the action with priority 1 will be executed before the action with priority 2.
IMPORTANT! Actions are expected to complete successfully with the exit code 0. Any non-zero exit code will be handled as an error, and the subsequent steps will not be executed. For example, if a Before Install script fails, the app installation will not start.
Stage 4: Deploy the App
Once your package and actions are fully configured, deploy the application on your target endpoints, as described in this section.