Add Custom Packages to Software Repository
The Action1 Software Repository is a centralized software distribution library that stores 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.
TIP: You can distribute apps from third-party vendors as well as proprietary software solutions.
IMPORTANT! Action1 deploys custom software packages per machine, installation per user is not supported.
Stage 1: Prepare for Deployment
It is recommended that you run a test installation of your app in a sandbox server first. Action1 installs custom packages for all users on a machine (per-machine installation), per-user installation is not supported. So, don’t upload custom apps that only perform per-user installation. Go to Program Files and make sure that the application can be installed per machine, that is, for all users.
- Install the necessary app to a managed endpoint. Then you can go to the Endpoints page in Action1 console, select this endpoint from the list, and navigate to its Installed Software tab to make sure the 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:
-
- To deploy a Windows app, you can provide a Windows installation package (MSI), an executable (EXE, CMD, BAT), or prepare a ZIP package with multiple files as described in Prepare Multi-File Custom Packages.
- To deploy 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.
-
Stage 2: Add a New Package to Software Repository
- Navigate to Software Repository and select Add to Repository.
- In the Software Package settings, provide general information about the product:
-
- Enter a meaningful Name (not necessarily the same that you copied earlier).
- Specify Vendor and Description.
- Select Platform of the target endpoints where the app should 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 deployment scope 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 this app. Whenever a new version is released, add it to your package. For that, it is recommended that you Clone the existing version — in this case, most of the properties are preserved, and you change only the necessary ones. (In particular, you will 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 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 indicates 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 able to capture 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).\*$
- If required, specify the OS versions of the target endpoints, and select the Update type (default is Regular Updates).
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.
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 along with the package installation/uninstallation, for example, pushing related software updates or uninstalling conflicting software.
- Click the Add Action button 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, define whether it should be executed before or after installation (or uninstallation).
- Use the Priority parameter to define the order in which the actions from the same step are executed. The lower the value, the sooner it will be executed.
For example, if you specify two Before Install actions with priorities 1 and 2, the priority 1 action will be executed before the priority 2 action.
IMPORTANT! Consider that the action completes successfully with the exit code 0. Other exit codes are handled as errors, and the next steps will not be executed. For example, if the action executed Before Install completes with an error, the app installation will not start.
Stage 4: Deploy the App
Finally, deploy the application to the target endpoints, as described in this section.