34.1 Understanding How Application Launcher Uses BITS

The following sections provide information to help you understand the interaction between Application Launcher and BITS:

For additional information about general BITS concepts and functionality, see Background Intelligent Transfer Service in the MSDN Library.

34.1.1 Application Launcher and BITS Process

For Application Launcher to use BITS to transfer an application, Application Launcher must be enabled to use BITS as explained in Section 34.3, Enabling Application Launcher to Use BITS, and the application must be configured properly as explained in Section 34.4, Configuring an Application to be Transferred by BITS.

After Application Launcher has been BITS enabled and an application configured for BITS, Application Launcher creates a BITS job that contains the application content (files, Application Object settings, etc.) and job settings (Minimum Retry Delay, No Progress Timeout, and Priority) and then queues the job for BITS. BITS transfers the application content to a temporary directory on the local drive (%systemroot%\temp\$jobid$, where %systemroot% is the Windows system directory and $jobid$ is the ID of the BITS job). As soon as BITS completes the transfer, Application Launcher copies the application content to the NAL cache and then distributes the application when it is installed or launched.

For specific information about how BITS processes jobs, see Life Cycle of a BITS Job.

34.1.2 Application Launcher Transfer vs. BITS Transfer

Any of the following circumstances will cause Application Launcher to transfer the application itself rather than use BITS:

  • The workstation does not have BITS v2.0 installed.

  • BITS encounters a fatal error during transfer of the application content.

  • BITS encounters a transient error during transfer of the application content and cannot make any progress in the allotted time (No Progress Timeout setting).

  • The user launches the application before BITS has completed the transfer. This is the default Application Launcher behavior. However, you can configure Application Launcher to not resume control of the transfer, in which case the user cannot launch the application until BITS finishes the transfer. Or, you can have Application Launcher prompt the user as to whether or not to interrupt the BITS transfer and have Application Launcher immediately download the application. See Enabling Application Launcher to Use BITS.

34.1.3 BITS Job Settings

When Application Launcher creates a job and passes it to BITS, it not only passes the application content (files, Application Object settings, etc.) but also passes three configuration settings:

  • Minimum Retry Delay: If BITS encounters an error during transfer of the application, BITS classifies it as a fatal error or a transient error. BITS cannot recover from fatal errors; fatal errors require administrator intervention to resolve the problem. BITS can possibly recover from transient errors. This setting lets you specify the minimum amount of time you want BITS to wait after a transient error occurs before trying to transfer the application again. The default is 600 seconds (10 minutes).

  • No Progress Timeout: This setting lets you specify how many days you want BITS to continue to attempt to transfer the application after a transient error has occurred if no progress is made. For example, the default setting (14 days) causes BITS to continue to attempt the transfer for 14 days after the error. If any transfer progress is made during the 14 days, the counter is reset. If BITS times out because no progress is being made, control of the transfer is returned to Application Launcher, which then transfers the application itself.

  • Priority: This setting lets you assign a priority level to the BITS transfer. You can choose from one foreground priority and three background priorities (high, normal, low). Foreground is the highest priority, followed by the three background priorities. The default is Background Normal.

These settings are configurable for each application (Application object > Distribution Options tab > BITS Settings page). You can use the default settings, or you can change the settings based upon application or user needs. These settings are explained in more detail in Section 34.5, Changing the Default Settings for a BITS Job.

34.1.4 BITS Maximum Bandwidth Setting

Windows XP includes a Group Policy setting for the maximum amount of the workstation’s idle network bandwidth that BITS uses. By default, this setting is not configured, which enables BITS to use all of the workstation’s available idle bandwidth.

If you have BITS running on a large number of workstations, this might impact your network. To reduce this impact, during periods of high utilization you can limit the amount of bandwidth available to BITS. Instructions for using ZENworks to manage the BITS maximum bandwidth setting through the use of a Windows Group Policy are provided in Section 34.6, Changing the BITS Maximum Network Bandwidth Setting

IMPORTANT:Windows 2000 does not include a Group Policy setting for BITS maximum bandwidth.

34.1.5 Scalability

If you plan to deliver a large number of applications at one time or deliver applications with a large number of files, you should first review the BITS scalability guidelines provided by Microsoft.