Action1 5 Documentation 5 Add Custom Packages to App Store

Add Custom Packages to App Store

 

Action1 App Store is a centralized software distribution library that stores hundreds of packages ready for installation. But what if the application you need is not in the App Store? Create custom installation packages with your apps to roll out deployments on multiple endpoints at once. You can add proprietary software solutions as well as apps from third-party vendors. Your custom apps will be available across all your organizations.

Checking Your App First

Before adding a new custom package to the App Store, Action1 suggests you run a test installation in a sandbox server. Install the app and check the following:

 

  • Confirm that the application can be installed for all users (per-machine installation) – navigate to the Program Files to check. Note that Action1 attempts to install custom packages for all users on a machine (per-machine), per-user installation is not supported. Don’t upload custom apps that only perform per-user installation. 
  • Navigate to Programs and Features (or Apps & Features) to see how software name and version are displayed. Later on, you’ll configure the App Name Match property accordingly. For example, let’s view Node.js entry in the Programs and Features:
Programs and Features

Adding a New App Package

  1. In the App Store, select + New App.
software installation made easy with action1

2. Provide general information about the product: its name, vendor, etc. Then save it.

Adding a new package

Adding a Version

Start by adding a version of the package. Click Add Version and configure its settings. Later on, you can add multiple versions of this app. Whenever a new version is released, add it to your package or mark it as a new installation or an update.

1. On the General tab, provide the exact version number, release date, the OS it applies to, and other version-specific parameters. You can also add EULA if required by a vendor.

In the App Name Match field, provide a regular expression that matches the software name as it appears in the Programs and Features. Action1 uses it to identify packages already installed on managed endpoints. Without proper identification, it will be impossible to detect missing updates or avoid duplicate installation attempts.

The symbol ^ matches the beginning, $ matches the end. For example, type ^Slack$ for an exact match or ^Slack.* to locate all entries starting with Slack. Just typing Slack will return all entries containing Slack. Don’t forget to add \ before special symbols. For example, to ^Node\.js$. To learn more about regular expressions and verify entries, check out the Regex 101 website.

New app package - general
  1. On the Installation tab:
    • Provide installation packages  for download. You can submit installers for Windows 32- and 64-bit separately. You can upload a package with multiple files (EXE, MSI, or “dumb” files) — see Prepare Multi-File Custom Packages.

      You’ve got an option to upload files to a private Action1 Cloud for P2P distribution or select a file from a public UNC location. Uploading to Action1 Cloud is recommended since it enables you to push installation to remote endpoints that aren’t connected to a corporate LAN. On top of that, Action1 leverages a top-notch proprietary data distribution technology. Instead of downloading the same package multiple times, managed endpoints will download smaller chunks of data and share them among their peers. The Action1 P2P technology helps significantly reduce network utilization.

Uploading new EXE app package
  • Specify the installation type: Windows Installer (.msi or .msp) or Other (.exe or scripts). Software deployment methods affect the package properties you’ll have to configure. Note: specify Other for multi-file “dump” file packages.

Windows Installer: .msi or .msp

– Configure Additional MSI properties to customize the installation of your package. For example, force restart operation with a preceding warning (REBOOTPROMPT=”The computer will restart in 10 minutes”). Note that Action1 attempts to deploy custom packages per-machine; per-user installation isn’t supported. If your app is a dual-purpose package that supports both per-user and per-machine installation context with per-machine being non-default behavior, make sure to enter ALLUSERS=1. Provide string values in quotes. Refer to the application publisher documentation for details on available public properties.

If you uploaded MSI in a ZIP, provide an initial MSI file name in MSI properties as a first parameter (e.g., “my setup.msi” param1=value1), embrace file names containing spaces in quotes. To enforce a transform file (*.MST), specify setup.msi TRANSFORMS=transforms.mst, where transforms.mst is a MST file name.

– Define Success exit codes for your installation. In most cases, the code 0 or 1 stands for a successful operation but you should check with the app publisher first. Specifying correct success exit codes is essential, Action1 uses them to identify if the installation succeeded or failed.

– Set Reboot exit codes. For example, 3010. Based on this code, Action1 defines whether the restart operation is needed.

Adding new MSI app package

Other: .exe or script (.cmd, .bat or .ps1)

– Provide Silent install switches to suppress any interactive prompts and allow the Action1 agent to run setup in a fully unattended mode, without any user input. For example, add commands /q, /norestart. You can check the silent switches supported by your EXE by running /? or /help or a similar command.

If you uploaded as a ZIP with EXE, specify the name of the initial EXE file along with a silent switch (e.g., setup.exe /q), embrace in quotes if the EXE file contains spaces (e.g., “my setup.exe” /q).

If you uploaded a “dumb” file package with a script, specify a script name as a silent install switch parameter (e.g., copy.ps1). Use quotes if the script name contains spaces.

– Provide Silent uninstall switches to allow unattended uninstallation. You can check the silent switches supported by your EXE by running /? or /help or a similar command. If you uploaded a ZIP, specify the name of the EXE file along with a switch (e.g., setup.exe /q), embrace in quotes if the EXE file contains spaces (e.g., “my setup.exe” /q).

– Define Success exit codes for your installation. In most cases, the code 0 or 1 stands for a successful operation but you should check with the app publisher first. Specifying correct success exit codes is essential, Action1 uses them to identify if the installation succeeded or failed.

– Define Reboot exit codes. For example, 3010. Based on this code, Action1 defines whether the restart operation is needed.

Adding a new EXE installation package

3. On the Additional Actions tab, specify configuration options that should be executed along with the package installation/uninstallation. For example, push related software updates or uninstall conflicting software. Select the Add Action button and specify the action from the list. For each action, configure settings and define when to execute it: before or after installation/uninstallation. Action1 free software deployment solution enables you to add as many actions as you need and set the order in which they will be executed.

  • Reboot: select to restart an endpoint. You’ll be able to specify an offset and display a restart notice.
  • Run Script: select to run a script. You’ll be able to insert environmental variables and configure success exit codes.
  • Deploy App: select to install more apps from the Action1 App Store.
  • Deploy Update: select to install missing patches and critical updates.
  • Uninstall App: select to uninstall software.
Configuring actions for a custom app version

Finally, your app package is ready to be distributed. Navigate to Endpoints and select Deploy App or pick your custom package in the App Store and select Deploy App.

Actions Running and Completed