Appendix B - Troubleshooting

The OSD Toolkit is pretty easy to troubleshoot following the guidelines here:

Logging order

The following list is the order of logs to check:

  1. If using iPXE, make sure that the iPXE WinPE Client succeeded by checking the 2PXiPXEWinPEClient.log in the X:\Windows\Temp directory.

  2. Make sure that the BCEnabler.exe step was run and completed OK

  3. For each package that is downloaded, the following order of logs are created/overwritten, please see Appendix D for successful log examples:

    1. BITSACP_Startup.log is written to the directory where the TS logs to, in WinPE this is typically in X:\Windows\Temp\SMSTSLog\ folder.

Task Sequence does not use the ACP

When running a task sequence and you want to use the ACP, ensure the following:

  1. If in WinPE, make sure that you have build the WinPE with the help of WinPEGen.exe

  2. If not in WinPE, make sure that the BITSACP.EXE binary is present on the Windows computers running the Task Sequence.

  3. If in WinPE, make sure that the ACP variable is set correctly, if it's not set, due to different paths in your TS, it's obvious as the smsts.log does not mention that its executing the TS ACP itself. If the TS ACP is called, it will have a line like this:

Using download program: BitsACP.exe

The full logging entry for a package should look as the following:


Using download program: BitsACP.exe

BitsACP.exe X:\Windows\TEMP\SMSTSDownload.INI CP100209 C:\_SMSTaskSequence\Packages\CP100209

Command line for extension .exe is "%1" %*

Set command line: "BitsACP.exe" X:\Windows\TEMP\SMSTSDownload.INI CP100209 C:\_SMSTaskSequence\Packages\CP100209

Executing command line: "BitsACP.exe" X:\Windows\TEMP\SMSTSDownload.INI CP100209 C:\_SMSTaskSequence\Packages\CP100209

  1. The next line is key, as that is the return code from the ACP:

Process completed with exit code 2147942421

  1. The return code is in decimal, but convert it to hex, and the value is this: 80070015, the 8007 indicates that it’s a Windows return code of some sort, so remove that and convert back 15 from hex to dec (21). The console command "net helpmsg <nr>" will tell you what it really means:

  1. In this case, there is also a logfile, called BITSACP_Startup, that contains the error itself and some more information:

  1. So open up the log an it will have the following lines (as an example):

Command-line arguments:

BitsACP.exe BITS Pro Downloader


CP100209 BITS Pro Downloader


Checking to see if we are running in WinPE.

Initializing COM...

Failed to Create BITS COM Object.

The error that it cannot Create a BITS COM object is due to the fact that the BCEnabler.exe Enable command is not executed before the ACP is run.

  1. The following log applies in WinPE (This is mentioned in the guide above)

    1. Run "BCEnabler.exe Enable" EACH TIME you enter WinPE

    2. If you have a complicated TS, make sure that the ACP is set AFTER BCEnabler command line has run.

    3. Before ending the WinPE session, and after the OS image is applied, make sure you run BCEnabler.exe to move the cache etc. into the full OS.

BITSACP fails to download package

This can happen for many reasons, but a typical one is that the Network Access Account is not set. This can be spotted in the main BITSACPSVC_<PackageID>.log file:

Connecting with path: /NOCERT_SMS_DP_SMSPKG$/AP200003

Successfully set QueryInterface on Download Job...

Connecting to server...

Trying to connect...

Server replies with Status: 401

The server requires authentication. Sending searcing credentials...

Trying NAC: _SMSTSReserved1-000


Empty value for account

NAC is not valid, cannot authenticate, add valid NAC please:000

Returning: FALSE

Returned from GetPropFindXML

Failed to get HTTP XML Data with PROPFIND webdav request.

Last updated