Microsoft KB Archive/842309

From BetaArchive Wiki

Article ID: 842309

Article Last Modified on 5/17/2007



APPLIES TO

  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2002
  • Microsoft Windows XP Tablet PC Edition



Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry


SUMMARY

This article contains information about the update for Background Intelligent Transfer Service (BITS). The article describes the new features and improvements, explains issues that may occur with clients that use BITS version 2.0, explains the resolution and workaround for the issues that may occur with BITS version 2.0, and provides update location, installation, and removal instructions.


INTRODUCTION

The update for BITS 2.0 and the update for Microsoft Windows HTTP Services (WinHTTP ) 5.1 are required components for the new releases of Microsoft Windows Update and the Automatic Update service. BITS 2.0 improves transfer speeds, improves resiliency, and reduces network bandwidth consumption when transferring files. For additional information about the combined BITS 2.0 and WinHTTP 5.1 update, click the following article number to view the article in the Microsoft Knowledge Base:

842773 Update package for Background Intelligent Transfer Service (BITS) 2.0 and WinHTTP 5.1 available for Windows XP


MORE INFORMATION

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

Background Intelligent Transfer Service 2.0

BITS 2.0 transfers files between a client and server and returns progress information to the client for file upload and file download operations. BITS 2.0 provides the following features:

  • Performs concurrent foreground downloads.
  • Supports the server message block (SMB) protocol for remote names.
  • Supports file range download. A program can change the transfer source of a file.
  • Improves client bandwidth consumption.

BITS 2.0 provides queue management of file transfer requests from multiple programs based on priority levels that are indicated by the requesting programs. BITS 2.0 concurrent foreground transfer supports transferring files from multiple jobs using full bandwidth, and it supports background transfer using only idle bandwidth. If the file transfer process is disrupted, BITS can resume the file transfer from the exact point of interruption instead of retransferring the whole file. Because BITS restarts transfers from the exact point of interruption, all transfers are resumed efficiently when disruptions such as network disconnects and computer restarts occur.

BITS 2.0 provides a set of application program interfaces (API) for developers to access the new functionality. For more information about the new API for BITS 2.0 and the Microsoft Windows XP Platform SDK, visit the following Microsoft Web site:

Other improvements

Improvements were made to BITS 2.0 that make sure that the service starts and stops reliably when programs that use layered service providers are present on the system. Programs that use layered service providers include some third-party firewall programs.

BITS 2.0 transfers files more efficiently while throttling bandwidth consumption over slow connections. BITS 2.0 also offers improved throttling support in Kerberos authentication environments.

Known issues

BITS 2.0 clients may not be able to download files from SMS 2003

BITS 2.0 may request ranges that go beyond the end of a file. When BITS 2.0 requests ranges that go beyond the end of a file, some server programs do not function correctly. This problem may occur when you use BITS 2.0 with Internet Server API (ISAPI) programs such as Microsoft Systems Management Server (SMS) 2003. This problem has been fixed in Systems Management Server 2003 Service Pack 1.

Important A BITS 2.0 client may not be able to complete a file transfer from a Microsoft Systems Management Server (SMS) 2003 server. For additional information about this issue, click the following article number to view the article in the Microsoft Knowledge Base:

832860 Windows XP Service Pack 2 clients cannot use Background Intelligent Transfer Service to download files from SMS 2003


BITS 2.0 clients may not successfully complete the transfer of a file

A computer that is running BITS 2.0 may not successfully complete a file transfer and may return one of the following error messages:

HTTP 401-Server Authentication required.

Note When the BITS 2.0 client receives this error message, it may also receive error code 0x80190191.

HTTP 407-Proxy Authentication.

Note When the BITS 2.0 client receives this error message, it may also receive error code 0x80190197.

This problem occurs when all the following conditions are true:

  • The client program that is using BITS 2.0 does not specify that the credentials of the client can be used by calling the IBackgroundCopyJob2::SetCredentials method.
  • The Microsoft LAN Manager compatibility level (LmCompatibilityLevel) on the BITS 2.0 client contains a value that is set to 1 or to 0. You can find the LAN Manager compatibility level entry n the following registry subkey:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel

  • The file transfer is performed through a Windows-based server or a Windows-based Internet proxy server that requires Integrated Windows authentication.

Authentication behavior in BITS 2.0

For security reasons, to avoid passing credentials to any proxy or server that requests logon credentials, BITS 2.0 allows logon credentials to be used only if one of the following conditions is true:

  • A program prompts for credentials to be applied by calling the following function and similar parameters:

    IBackgroundCopyJob2::SetCredentials. (target=ProxyorServer, Negotiate/NTLM, username=NULL,password=NULL)

  • If the LmCompatibilityLevel value on the client is set to a value that is greater than or equal to 2.

Important By default, Windows XP sets the LmCompatibilityLevel to 0. With BITS 2.0, logon credentials will not be used if the LmCompatibilityLevel is set to 0.

Note BITS 1.5 allows logon credentials to be used for proxy authentication when the LmCompatibilityLevel is less than 2 and when the SetCredentials method is not called.

Programs that work with BITS 1.0 and 1.2 may not work correctly with BITS 1.5 or BITS 2.0. This is because the default value for the LmCompatibilityLevel registry value on Microsoft Windows 2000 and Microsoft Windows XP is 0. For additional information about the LmCompatibilityLevel registry entry, click the following article number to view the article in the Microsoft Knowledge Base:

147706 How to disable LM authentication on Windows NT


To resolve this problem, change the default behavior of BITS 2.0 to not send logon credentials to a proxy or server that requires authentication. To do this, change the program to use the IBackgroundCopyJob2::SetCredentials method that will use the default logon credentials as described in the following Microsoft Web site:

To work around this problem by changing the method that the BITS 2.0 client uses to provide logon credentials to the server, create a UseLmCompat registry value in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\BITS subkey, and then add a DWORD value of 0. To do this, follow these steps on the BITS 2.0 client computer:

  1. Click Start, click Run, and then type regedit.
  2. Locate the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\BITS
  3. Right-click BITS, point to New, click DWORD Value, type UseLmCompat, and then press ENTER.
  4. In the right pane, right-click UseLmCompat, and then click Modify.
  5. In the Value data box, type 0, and then click OK.
  6. Quit Registry Editor.
  7. Restart the BITS 2.0 service.

How to download and install the update for BITS 2.0 and WinHTTP 5.1

To download and install this update, visit the Microsoft Windows Update Web site. Install update 842773.

Administrators can also download this update from the Microsoft Download Center.

Important Installing BITS 2.0 will turn on the BITS service if it has previously been turned off.

The following file is available for download from the Microsoft Download Center:

Release Date: July 13, 2004

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services


Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

Administrators can also deploy this update by using Microsoft Software Update Services (SUS). For additional information about SUS, click the following article number to view the article in the Microsoft Knowledge Base:

810796 Software Update Services Overview white paper available


How to remove the update for BITS 2.0 and WinHTTP 5.1

To remove the update after it is installed, follow these steps:

  1. Click Start, click Run, type appwiz.cpl, and then click OK.
  2. Click Add or Remove Programs.
  3. In the list of currently installed programs, click Windows XP Hotfix – KB842773, and then click Remove.
  4. Follow the instructions to remove the update from your computer.
  5. Restart your computer.

Administrators can also use the Spunist.exe utility to remove this package. The Spuninst.exe program file is located in the %Windir%\$NTUninstallKB842773$\Spuninst folder.

How to verify that the update for BITS 2.0 and for WinHTTP 5.1 is installed

To verify that the update that is described in this article is installed, compare the files on your Windows XP computer with the following file information. The English version of this update has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   01-Jul-2004  22:08  6.6.2600.1569       7,680  Bitsprx2.dll     
   01-Jul-2004  22:08  6.6.2600.1569       7,168  Bitsprx3.dll     
   01-Jul-2004  22:08  6.6.2600.1569     361,984  Qmgr.dll         
   01-Jul-2004  22:08  6.6.2600.1569      17,408  Qmgrprxy.dll     
   01-Jul-2004  22:08  5.1.2600.1557     331,776  Winhttp.dll      
   30-Jun-2004  23:59  5.1.2600.1570     158,720  Xpob2res.dll     
                

Alternatively, you can use the following registry subkey to verify that the update is installed:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Hotfix\KB842773


The update is installed if the entry includes an Installed DWORD value, and that value is set to 1.

This update is scheduled to be included with Windows XP Service Pack 2.

REFERENCES

For more information about BITS, visit the following Microsoft Web site:

For more information about WinHTTP, visit the following Microsoft Web site:

Keywords: kbinfo kbqfe KB842309