none
Software Center - Windows Updates 0% downloading

    Question

  • There are a fair few posts regarding this same issue but I don't think the solutions are relevant to my issue.

    I have distributed various Windows 7 updates to a distribution point using ADR's all looks good, I have created boundaries and boundary groups including the relevant IP Range.

    My problem is, as others have had, on a Windows 7 client Software Center notifies that updates are needed but gets stuck on 0% when trying to download.

    I think this may be related to IIS, with other non-windows update packages I had to tick the box 'Copy the content in this package to a package share on distribution points' for the package to deploy successfully otherwise it would it fail. With the Windows software updates there doesn't seem to be an option for this meaning the client cannot find the package within the package share, I've checked the package ID and the files as expected are not in the share.

    It's my understanding that the files can be accessed via IIS and not directly from the share? I hope someone can help, thanks.

    Tuesday, February 19, 2013 4:35 PM

Answers

  • All seems fine now, so to summarise my issue was related to IIS specifically handler mappings, I did have a few issues with my DP's originally and had to reinstall IIS/software update point which may explain why these handler mappings weren't configured. As per the answer in this post http://social.technet.microsoft.com/Forums/en/configmgrgeneral/thread/0e3ff74d-37ab-4283-b4ad-c86ca7ba83c1 related to SCCM 2007 R3 the resolution was to ensure all Handlers were configured, I copied them from a secondary site:

    Once these were configured restarted the DP server (iisreset command may suffice) and then restarted updates on client using software center and all is well.

    As Henrik mentioned above useful logs are:

    ContentTransferManager, DataTransferService, LocationServices and ClientLocation located on the client C:\Windows\CCM\Logs.

    Thanks again for you help Henrik.

    • Marked as answer by Hutchnet Wednesday, February 20, 2013 2:52 PM
    Wednesday, February 20, 2013 2:51 PM

All replies

  • You should be able to access all content through IIS; applications, update packages should be working without having to 'copy the content  to the package share'.

     

    If you go to the Monitoring workspace and look at your distribution points under Distribution Status > Distribution Point Configuration Status, what errors do you see for your DPs?  You may need to remove the DP role and reinstall it to resolve the issues.

     

    Regarding the download stuck at 0%, you should double/triple check your boundaries.  If you are using anything other than IP Ranges, you should remove them.  Make sure your client is actually within an IP Range boundary, and that the boundaries are part of a Boundary Group that has a distribution point.

     

    You should also check that your content has settings for "Download and Run" when on a slow boundary even if you don't have any slow boundaries.

     

    I hope that helps,

     

    Nash


    Nash Pherson, Senior Systems Consultant
    Now Micro - My Blog Posts
    <-- If this post was helpful, please click "Vote as Helpful".


    • Edited by NPhersonMVP Tuesday, February 19, 2013 5:06 PM
    Tuesday, February 19, 2013 5:06 PM
  • Thanks for your reply.

    Under monitoring there are no errors all is green with a tick.

    I have double checked the boundaries and all seems fine, just simple IP range boundaries within a boundary group, the distribution point is also associated with the boundary group.

    Are you sure Software updates have the option for download and run?

    I was thinking maybe there is an issue with IIS?

    Wednesday, February 20, 2013 8:45 AM
  • If I browse to the URL http://SERVERNAME.DOMAIN.LOCAL/SMS_DP_SMSPKG$/00be9127-a801-4a47-a15d-58ef601040c1 then login I get a 404 error which doesn't seem right.....
    Wednesday, February 20, 2013 11:42 AM
  • You do send scan info and WUA data via IIS or as the log files say: HTTP://ServerName:8530 or 8531 etc.

    But the download of the patches are still a package thats distributed to the distribution points and clients then handpick the updates they need from it.

    ContentTransferManager and DataTransferManager log files on the client should show the actual download starting.

    WUAHandler and UpdatesHandler logs also on the client should then show you whether the updates are installing or not.

    Note: LocationServices and ClientLocation logs should let you know if the clients are connected to the proper WSUS server, MP and DP.

     

    - Stress is the confusion created in one's mind, to override the basic desire to choke the living %&¤# out of someone, who deserves it the most. Twitter: http://twitter.com/#!/@henrikhoe




    • Edited by Henrik E Hoe Wednesday, February 20, 2013 12:51 PM
    Wednesday, February 20, 2013 12:47 PM
  • ContentTransferManager logs:

    <![LOG[CTM job {CFCAF5B7-64D6-4E5C-A29C-5FEBAEBBED02} switched to location 'http://SERVERNAME.DOMAIN.LOCAL/SMS_DP_SMSPKG$/00be9127-a801-4a47-a15d-58ef601040c1']LOG]!><time="12:56:17.107+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="2840" file="ctmjob.cpp:922">
    <![LOG[CTM job {CFCAF5B7-64D6-4E5C-A29C-5FEBAEBBED02} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:17.113+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="4468" file="ctmjob.cpp:1892">
    <![LOG[CTM job {EFEEF086-13DA-4DD7-BDB9-88CE9CFA89B7} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.388+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="4468" file="ctmjob.cpp:1892">
    <![LOG[CTM job {B08FE10B-98A4-4DD6-A349-B227FB95AEC7} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.467+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="1996" file="ctmjob.cpp:1892">
    <![LOG[CTM job {BF2FBB14-CC3D-4654-B870-DA8A87FE1E90} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.472+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="4744" file="ctmjob.cpp:1892">
    <![LOG[CTM job {C1BE5D40-016E-4A8F-BD90-606D8CD9B619} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.482+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="2840" file="ctmjob.cpp:1892">
    <![LOG[CTM job {10282D4F-0A2A-4F2A-B43C-613A976BE4AB} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.500+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="4468" file="ctmjob.cpp:1892">
    <![LOG[CTM job {DE879FAE-96CB-402C-AEDE-F197809D0C6D} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.503+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="5472" file="ctmjob.cpp:1892">
    <![LOG[CTM job {0D6C3143-0CC9-4DB8-BEC1-35B50F8331EA} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.512+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="5472" file="ctmjob.cpp:1892">
    <![LOG[CTM job {F31611D4-24F4-4DD1-AC37-02E167803CA6} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.516+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="3988" file="ctmjob.cpp:1892">
    <![LOG[CTM job {6A3A4CF1-6123-4035-804B-F48912B652F2} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:46.521+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="5472" file="ctmjob.cpp:1892">
    <![LOG[CTM job {CFCAF5B7-64D6-4E5C-A29C-5FEBAEBBED02} entered phase CCM_DOWNLOADSTATUS_DOWNLOADING_DATA]LOG]!><time="12:56:47.138+00" date="02-20-2013" component="ContentTransferManager" context="" type="1" thread="4560" file="ctmjob.cpp:1892">

    Client location log looks ok.

    Location Services has a some errors:

    <![LOG[1 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.429+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="1996" file="lsutils.cpp:3160">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.500+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="3792" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[2 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.511+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="3792" file="lsutils.cpp:3160">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.547+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="2676" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[3 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.560+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="2676" file="lsutils.cpp:3160">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.561+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="3792" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.565+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="1372" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.586+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="4560" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[4 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.592+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="3792" file="lsutils.cpp:3160">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.594+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="1996" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Assigned MP error threshold reached, moving to next MP.]LOG]!><time="12:56:46.595+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="1372" file="lsutils.cpp:3155">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.603+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="2676" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:46.605+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="5004" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Ignoring MP error during post-rotation flush period of 20 seconds.]LOG]!><time="12:56:46.672+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="1996" file="lsutils.cpp:3126">
    <![LOG[0 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.672+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="1996" file="lsutils.cpp:3160">
    <![LOG[Ignoring MP error during post-rotation flush period of 20 seconds.]LOG]!><time="12:56:46.679+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="4560" file="lsutils.cpp:3126">
    <![LOG[0 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.679+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="4560" file="lsutils.cpp:3160">
    <![LOG[Ignoring MP error during post-rotation flush period of 20 seconds.]LOG]!><time="12:56:46.684+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="2676" file="lsutils.cpp:3126">
    <![LOG[0 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.684+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="2676" file="lsutils.cpp:3160">
    <![LOG[Ignoring MP error during post-rotation flush period of 20 seconds.]LOG]!><time="12:56:46.690+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="5004" file="lsutils.cpp:3126">
    <![LOG[0 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:46.690+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="5004" file="lsutils.cpp:3160">
    <![LOG[Executing Task LSSiteRoleCycleTask]LOG]!><time="12:56:47.166+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="1660" file="scheduledcleanupendpoint.cpp:116">
    <![LOG[Ignoring MP error during post-rotation flush period of 20 seconds.]LOG]!><time="12:56:47.181+00" date="02-20-2013" component="LocationServices" context="" type="1" thread="1660" file="lsutils.cpp:3126">
    <![LOG[0 assigned MP errors in the last 10 minutes, threshold is 5.]LOG]!><time="12:56:47.181+00" date="02-20-2013" component="LocationServices" context="" type="2" thread="1660" file="lsutils.cpp:3160">

    DataTransfer log has errors:

    <![LOG[Non-recoverable error retrieving manifest (0x87d0027e).]LOG]!><time="12:56:46.602+00" date="02-20-2013" component="DataTransferService" context="" type="2" thread="1660" file="dtsjob.cpp:1310">
    <![LOG[Successfully sent location services HTTP failure message.]LOG]!><time="12:56:46.603+00" date="02-20-2013" component="DataTransferService" context="" type="1" thread="5852" file="ccmhttperror.cpp:396">
    <![LOG[Error sending DAV request. HTTP code 405, status 'Method Not Allowed']LOG]!><time="12:56:46.604+00" date="02-20-2013" component="DataTransferService" context="" type="3" thread="5852" file="util.cpp:701">
    <![LOG[GetDirectoryList_HTTP('http://SERVERNAME.DOMAIN.local:80/SMS_DP_SMSPKG$/20bd43d7-0631-40c9-8d6a-b09c9e1057cf') failed with code 0x87d0027e.]LOG]!><time="12:56:46.604+00" date="02-20-2013" component="DataTransferService" context="" type="3" thread="5852" file="util.cpp:768">
    <![LOG[Non-recoverable error retrieving manifest (0x87d0027e).]LOG]!><time="12:56:46.604+00" date="02-20-2013" component="DataTransferService" context="" type="2" thread="5852" file="dtsjob.cpp:1310">
    <![LOG[DTSJob {9D4F55E2-1A82-42D7-9505-3173E56C246B} in state 'DownloadingManifest'.]LOG]!><time="12:56:47.131+00" date="02-20-2013" component="DataTransferService" context="" type="1" thread="2676" file="dtsjob.h:163">
    <![LOG[[CCMHTTP] ERROR: URL='http://SERVERNAME.DOMAIN.local.local:80/SMS_DP_SMSPKG$/00be9127-a801-4a47-a15d-58ef601040c1, Port=80, Options=224, Code=0, Text=CCM_E_BAD_HTTP_STATUS_CODE]LOG]!><time="12:56:47.152+00" date="02-20-2013" component="DataTransferService" context="" type="1" thread="2676" file="ccmhttperror.cpp:297">
    <![LOG[Raising event:

    instance of CCM_CcmHttp_Status
    {
     ClientID = "GUID:f1fdc8b8-ebef-4d8f-983d-01e837c20c3e";
     DateTime = "20130220125647.158000+000";
     HostName = "'http://SERVERNAME.DOMAIN.local.local";
     HRESULT = "0x87d0027e";
     ProcessID = 2268;
     StatusCode = 405;
     ThreadID = 2676;
    };
    ]LOG]!><time="12:56:47.159+00" date="02-20-2013" component="DataTransferService" context="" type="1" thread="2676" file="event.cpp:706">
    <![LOG[Successfully sent location services HTTP failure message.]LOG]!><time="12:56:47.164+00" date="02-20-2013" component="DataTransferService" context="" type="1" thread="2676" file="ccmhttperror.cpp:396">
    <![LOG[Error sending DAV request. HTTP code 405, status 'Method Not Allowed']LOG]!><time="12:56:47.167+00" date="02-20-2013" component="DataTransferService" context="" type="3" thread="2676" file="util.cpp:701">
    <![LOG[GetDirectoryList_HTTP('http://SERVERNAME.DOMAIN.local:80/SMS_DP_SMSPKG$/00be9127-a801-4a47-a15d-58ef601040c1') failed with code 0x87d0027e.]LOG]!><time="12:56:47.168+00" date="02-20-2013" component="DataTransferService" context="" type="3" thread="2676" file="util.cpp:768">
    <![LOG[Non-recoverable error retrieving manifest (0x87d0027e).]LOG]!><time="12:56:47.168+00" date="02-20-2013" component="DataTransferService" context="" type="2" thread="2676" file="dtsjob.cpp:1310">


    • Edited by Hutchnet Wednesday, February 20, 2013 1:11 PM
    Wednesday, February 20, 2013 1:11 PM
  • Code 0x87d0027e is item not found which makes me think somehow IIS is not passing the files through to the client.
    Wednesday, February 20, 2013 1:14 PM
  • Is your MP healthy - mpcontrol.log on your Site Server holding the MP role.

    Status should say "HttpSendRequestSync succeeded for port 80 with status code 200"


    - Stress is the confusion created in one's mind, to override the basic desire to choke the living %&¤# out of someone, who deserves it the most. Twitter: http://twitter.com/#!/@henrikhoe


    • Edited by Henrik E Hoe Wednesday, February 20, 2013 1:21 PM
    Wednesday, February 20, 2013 1:21 PM
  • Mpcontrol log looks fine no errors.

    And yes Call to HttpSendRequestSync succeeded for port 80 with status code 200, text: OK SMS_MP_CONTROL_MANAGER 20/02/2013 13:17:36 6388 (0x18F4)

    • Edited by Hutchnet Wednesday, February 20, 2013 1:24 PM
    Wednesday, February 20, 2013 1:23 PM
  • Found this from an earlier forum post - maybe you have the same problem. http://social.technet.microsoft.com/Forums/da/configmanagersecurity/thread/804ef012-8f71-4a73-9366-eb25d92c7529

    ...


    - Stress is the confusion created in one's mind, to override the basic desire to choke the living %&¤# out of someone, who deserves it the most. Twitter: http://twitter.com/#!/@henrikhoe


    • Edited by Henrik E Hoe Wednesday, February 20, 2013 1:29 PM
    Wednesday, February 20, 2013 1:29 PM
  • Thanks but already checked the physical path and its correct, I found this which may relate:

    http://social.technet.microsoft.com/Forums/en/configmgrgeneral/thread/0e3ff74d-37ab-4283-b4ad-c86ca7ba83c1

    Specifically this:

    Please check on the SMS_DP_SMSPKGD$ to see if the Handler Mappings were missing:

     

    These are the setting it needs, you can copy these from the default website properties:

     

    AboMapperCustom-xxx

    AssemblyResourceLoader-Integrated

    HTTPRemotingHandlerFactory-rem-Integrated

    HTTPRemotingHandlerFactory-Soap-Integrated

    ISAPI-dll

    OPtionsverbhandler

    pagehandlerfactory-Integrated

    rules-Integrated

    SimpleHandlerFactory-Integrated

    TraceHandler-Integrated

    TraceverbHandler

    WebAdminHandler-Integrated

    WEBDAV

    WebServiceHandlerFactory-Integrated

    xoml-Integrated

    StaticFile

     

    All these options are available in the default website and copy the properties from there.

    Wednesday, February 20, 2013 1:31 PM
  • I only have Handler Mappings for BitsHandler and StaticFile, can anyone confirm is more are needed?
    Wednesday, February 20, 2013 1:32 PM
  • I think the Handler mappings may be the culprit as just checked the IIS settings on one of my secondary sites and they are fully populated with the above, what do you think Henrik?
    • Edited by Hutchnet Wednesday, February 20, 2013 1:35 PM
    Wednesday, February 20, 2013 1:35 PM
  • Could very well be, I havent had the same problem personally - but for IIS to properly act accordingly the handles specified in that forum post seem to be the stone in your shoe.

    - Stress is the confusion created in one's mind, to override the basic desire to choke the living %&¤# out of someone, who deserves it the most. Twitter: http://twitter.com/#!/@henrikhoe

    Wednesday, February 20, 2013 1:43 PM
  • Ok, let me try and those settings will post back, thanks for your help so far Henrik certainly pointed me in the right direction it seems.
    Wednesday, February 20, 2013 1:44 PM
  • All seems fine now, so to summarise my issue was related to IIS specifically handler mappings, I did have a few issues with my DP's originally and had to reinstall IIS/software update point which may explain why these handler mappings weren't configured. As per the answer in this post http://social.technet.microsoft.com/Forums/en/configmgrgeneral/thread/0e3ff74d-37ab-4283-b4ad-c86ca7ba83c1 related to SCCM 2007 R3 the resolution was to ensure all Handlers were configured, I copied them from a secondary site:

    Once these were configured restarted the DP server (iisreset command may suffice) and then restarted updates on client using software center and all is well.

    As Henrik mentioned above useful logs are:

    ContentTransferManager, DataTransferService, LocationServices and ClientLocation located on the client C:\Windows\CCM\Logs.

    Thanks again for you help Henrik.

    • Marked as answer by Hutchnet Wednesday, February 20, 2013 2:52 PM
    Wednesday, February 20, 2013 2:51 PM
  • Great stuff - good work! :)

    - Stress is the confusion created in one's mind, to override the basic desire to choke the living %&¤# out of someone, who deserves it the most. Twitter: http://twitter.com/#!/@henrikhoe

    Thursday, February 21, 2013 12:17 PM