Software distribution overview [Web console]

The software distribution tool gives you the ability to distribute software packages to target devices. The tool supports many different types of packages.

Software distribution features include:

  • Delivery methods enable detailed control over how tasks complete
  • Easy task scheduler integrates with the inventory database to make target selection easy
  • Real-time status reporting for each deployment task
  • Full-featured package builder to build complete software packages
  • Ability to distribute any package type, including MSI, setup.exe, and other installers

Software distribution consists of these main steps:

  1. Create or obtain a software package. The software package can be one or more MSI files, an executable, a batch file, RPM files (Linux), and so on. In most cases, the software package needs to contain everything necessary to install the application you're distributing. Put the package on your distribution package delivery server.
  2. Create a distribution package. The distribution package contains the files and settings necessary to install a specific software package, such as the package name, any dependencies or prerequisites, command-line switches, and so on. Once you create a distribution package, the information is stored in the database and can be used in multiple tasks.
  3. Create a push delivery method. The push delivery method defines how a package will be sent to devices. These options aren't associated with a specific distribution package. Don't create a delivery method every time you want to distribute a package. Delivery methods allow you to define best practices for deploying software. Ideally, create a template delivery method to reuse for distributions that use the same delivery method.
  4. Schedule the distribution job in the Scheduled tasks window. Here you specify the distribution package, the delivery method, the devices that need to receive the distribution package, and when the task should run.

When the scheduled time occurs, the scheduler service will start the scheduled task handler which contacts the software distribution agent on each device and informs it that the package is ready for installation.

The software distribution agent then obtains the package from the delivery server and processes it on the device by installing or removing the packaged files.

After the package is processed, the software distribution agent sends the result to the core server, where it's recorded in the core database.

Separating distribution tasks into two parts, distribution packages and delivery methods, simplifies the distribution process. You can create delivery method templates that are independent of a particular package. If you have different people in your organization that create packages and distribute packages, these changes help simplify job roles and task divisions. Package creators can work independently from package deliverers. You can create custom groups and subgroups of packages in which you can group related packages for concurrent distribution.

Prerequisites for software distribution

Devices receiving the software distribution packages must have the following product agents installed:

  • Standard Ivanti agent
  • Software distribution agent (Windows only)

If you don't have an existing package to deploy, you can use Ivanti package-building technology to create a standalone executable program for the required software installation. A Web server or network server can be configured as a "delivery server" to store distribution packages. Through the console, you can schedule the distribution task. The core server communicates the package's location (URL or UNC path) to the device, and the device then copies only the files or the portions of the files it needs from the delivery server.

For example, if you're reinstalling a previously deployed software program because some of its files were corrupted or missing, the system copies only the damaged or missing files, not the entire program. This technology also works well over WAN links. You can store the package on multiple servers, and then schedule devices to use the server appropriate to their needs (that is, location proximity, bandwidth availability, and so on).

Using the Start command in a batch file package

The batch file distribution package has been designed to run as if it were issued from the Run command in the Windows Start Menu. When a batch file is executed using the Run command, it closes upon completion. A program that is required to run in an open command window will close prematurely when run through a batch file distribution package.

The program can be configured to continue running by using the start command in the batch file. The start command will actually spawn a new command window that remains open after the batch file has completed and closed the initial command window.

Here is an example of a batch file that uses the "start" command to spawn a new command window running the Sample.exe program.

start "Title" /D "c:\program files\ManagementSuite\ldclient\sdmcache\swd\alerttest" Sample.exe

The first parameter ("Title") is the name of the command window that will be displayed in the title bar. Note that the title is mandatory because the path to the executable will be misinterpreted as the title if it is omitted. If the path to the executable includes a space, it must be in quotes. If the title were not present, the quoted path to the file would be mistaken for the title, even though the /D switch indicates the path is present.

This single line batch file runs Sample.exe in a new command window titled "Title." For more help on the Start command, type the command with either the /h or /? switch at a command prompt.