WSUS Deprecation: Your Next Move in Patch Management

This Wednesday | 12 PM EST / 11 AM CET

Action1 5 Documentation 5 Prepare Multi-File Custom Packages

Prepare Multi-File Custom Packages

 

To streamline app distribution and delivery, Action1 enables you to upload custom MSI and EXE packages consisting of multiple files and deploy them from the Software Repository. For example, you can create a package for Microsoft Office apps or development tools such as Java distributions, node.js, and others.

NOTE: To learn about creating custom packages for macOS, refer to Prepare Multi-File Custom Packages for macOS.

On top of that, with the help of multi-file custom packages, you can distribute files that don’t have a fully-featured installer and come as a set of files that need to be copied to some folder – so-called “dumb file deployment”.

Installed Software

Once this package is uploaded to Action1 Cloud, you will be able to deploy it as any regular package. Managed endpoints will download the package data using our cloud file-sharing technology, which works by sharing chunks of data across multiple computers. Let’s say you have 100 endpoints and need to download a 2 GB package. Each endpoint would download approximately 20 MB and share it with other managed endpoint endpoints. This way Internet traffic usage is minimized and download reliability is accomplished.

What kind of ZIP packages can you create? 

You can create packages with:

  • EXE and other files such as configurations. 
  • MSI with MST (transform) files that customize your installation, for example, add a license code or create a preconfigured profile. For custom transform (*.MST) files, consider using the ORCA tool. Make sure to select packages that perform per-machine installation; per-user installation isn’t supported by Action1.
  • Any regular “dumb” files (that aren’t installers)

Preparing a ZIP package with EXE file

  1. Create a work folder, such as C:\work.
  2. Copy your files to this folder. Make sure to include a setup EXE file.
  3. If you want to add some custom logic to your EXE installer, create a script and place it in the same folder. If just need to run an EXE file with parameters, you do not need a script – you could specify all the needed parameters in the silent install switches, such as setup.exe /S
  4. Select all files in the folder and use your zipping tool of choice to create a ZIP Folder, for ease of use, keep all files in the root of the ZIP folder.
  5. Add a new package to the Software Repository. For more information on creating new apps, see Add Custom Packages to Software Repository.
  6. Add a version and upload the ZIP you’ve generated.
  7. For EXE-based packages, select Other installation type and enter the script name or EXE name with the needed parameters into the Silent Install Switches field (e.g., setup.exe or start.ps1). Use quotes if the executable file name contains spaces and separate parameters with spaces (example: “Install Office.exe” /silent). The preview line will show the archive.zip\file_to_launch notation to indicate the file to launch after archive extraction on the target endpoint.
  8. Deploy the package to your managed endpoints. For detailed instructions on how to roll out packages, see Deploy Software.

For the instructions on preparing the Office 365 package, see Example: Deploying Office 365 Package.

Uploading a ZIP package

Preparing a ZIP package with MSI file

  1. Create a work folder, such as C:\packages\MyApp, and copy all setup files into it (.MSI, .MST, etc.). To keep it simple, do not create any folder hierarchy inside the work folder.
  2. Inside the work folder, create a script (such as setup.ps1) that contains a command needed to launch the MSI file. The following example launches MyApp.msi with a transform file: msiexec.exe /i ‘MyApp.msi’ /quiet /qn /norestart TRANSFORM=MyApp.mst
  3. Select all files in the work folder and create a ZIP archive (such as setup.zip). Make sure the work folder itself does not go into the ZIP archive (all files have to be in the root). Keep the work folder for future use, in case you need to make any adjustments.
  4. Add a new package to the Software Repository. For more information on creating new apps, see Add Custom Packages to Software Repository.
  5. Add a version and upload the ZIP you have generated.
  6. Select Other installation type (not MSI!) andenter the name of your script created at Step 2 into the Silent install switches.
  7. Deploy the package to your managed endpoints. For detailed instructions on how to roll out packages, see Deploy Software.

Preparing a ZIP package with regular files (“Dumb file deploy”)

  1. Create a temporary folder, such as C:\MyAppTemp.
  2. Copy your files to this folder.
  3. Create a simple CMD, PowerShell, or batch script that copies files from the folder to the target location. Place the script next to your files. It is recommended to use a flat file structure in the temporary folder, it will allow you to use relative file paths without specifying a folder name.

Example:

mkdir "C:\Programs Files\MyApp"
copy file.txt "C:\Programs Files\MyApp"

  1. Select all files including a script and specify Add to archive.
Creating a dumb installation package
  1. https://www.action1.com/documentation/deploying-office-365-packageAdd a new package to the Software Repository. For more information on creating new apps, see Add Custom Packages to Software Repository.
  2. Add a version and upload the ZIP you’ve generated. For script-based “dumb files” packages, specify Other installation type and provide a script name as a silent install switch parameter (e.g., copy.ps1). Use quotes if the script name contains spaces.
  3. Deploy the package to your managed endpoints. For detailed instructions on how to roll out packages, see Deploy Software.

Uninstallation tips:

In order to make “dumb” apps uninstallable in the future, make sure to create an uninstall entry in the Add/Remove Programs along with a reference to the uninstall script (which has to be put into ZIP and copied as well). The following example commands can be used to create an uninstall entry.

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyApp /v UninstallString /t REG_EXPAND_SZ /d "cmd.exe /c C:\Programs Files\MyApp\uninstall.cmd"

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyApp /v DisplayName /t REG_SZ /d "MyApp"

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyApp /v DisplayVersion /t REG_SZ /d "1.0"

See also: Example: Deploying Office 365 Package, Prepare Multi-File Custom Packages for macOS