Showing posts with label Patching. Show all posts
Showing posts with label Patching. Show all posts

Thursday, April 10, 2014

Software Updates Deployment Package Distribution Error

Software Updates Deployment Package Distribution Error.

Problem

I have had a few instances where after I change my automatic deployment rule for software updates the deployment package will not distribute to the distribution points as it thinks it downloaded the updates but cannot find the directory it is looking for.  The error in the distmgr.log is “The source directory \\<ServerName>\<FolderPath>\<UpdateGUID> doesn't exist or the SMS service cannot access it, Win32 last error = 2”.  Another place to find the error is in the Content Status of the Package by going into the Configuration Manager Console\Monitoring\Distribution Status\Content Status\ Find your Package\ Click View Status\Click the Error Tab\ Under Asset Details \Click an Errored Distribution Point\click More Details. It will say something similar to “The source directory “\\<ServerName>\<FolderPath>\<UpdateGUID> “ for package “<PACKAGE ID> does not exist...”

Solution

I pulled this information from a couple of sources http://www.verboon.info/2013/08/configmgr-2012-troubleshooting-a-software-update-package/ and http://blogs.technet.com/b/ken_brumfield/archive/2013/01/10/troubleshooting-sccm-software-update-deployment-package-distribution-due-to-missing-directories.aspx

Had to give credit where it was due J

Steps to Resolve

1.       Open SQL Server Management Studio and create a new query pointed to your SCCM database (Not Master)

a.       Copy and paste this query

DECLARE @MissingSourceDirectory NVARCHAR(512)
DECLARE @PackageId NVARCHAR(8)
SET @MissingSourceDirectory = 'c34e2458-681f-4a8b-8941-a460c2de314a'
SET @PackageId = '0020000D'

SELECT CASE
        WHEN ci.BulletinID LIKE '' OR ci.BulletinID IS NULL THEN 'Non Security Update'
        ELSE ci.BulletinID
        END As BulletinID
    , ci.ArticleID
    , loc.DisplayName
    , loc.Description
    , ci.IsExpired
    , ci.DatePosted
    , ci.DateRevised
    , ci.Severity
    , ci.RevisionNumber
    , ci.CI_ID
FROM dbo.v_UpdateCIs AS ci
LEFT OUTER JOIN dbo.v_LocalizedCIProperties_SiteLoc AS loc ON loc.CI_ID = ci.CI_ID
WHERE ci.CI_ID IN
(
    SELECT [FromCI_ID]
    FROM [dbo].[CI_ConfigurationItemRelations] cir
    INNER JOIN [dbo].[CI_RelationTypes] rt ON cir.RelationType = rt.RelationType
    WHERE cir.ToCI_ID IN
    (
        SELECT CI_ID
        FROM [dbo].[CI_ContentPackages] cp
        INNER JOIN [dbo].[CI_ConfigurationItemContents] cic ON cp.Content_ID = cic.Content_ID
        WHERE cp.ContentSubFolder = @MissingSourceDirectory AND cp.PkgID = @PackageId
    )
)

b.      Replace the highlighted areas with the values from your error

                                                               i.      @missingSourceDirectory

                                                             ii.      @PackageId

c.       Execute the Query

                                                               i.      This should give you the KB Article

2.       Open the Configuration Manager Console

a.       Go to Software Library>Software Updates>Deployment Packages

                                                               i.      Open the problem Deployment package to where you can see all the updates listed

                                                             ii.      Search for the KB you found above and delete it from the deployment package

b.      Go to Software Library>Software Updates>Software Update Groups

                                                               i.      Look for the Update Groups with the Red X and open them up

                                                             ii.      Look for the Red X updates and right click on them and click Download

1.       If it is expired or superseded just delete it from the update group as you will be unable to download it.

3.       Watch the Distmgr.log file and see if it completes its checks and start distributing the package to your distribution points

4.       This should resolve the issue if it does not look at the logs again and repeat as it will be erroring on a new GUID now.

a.       If you find several you may wish to take a shotgun approach and open the Deployment package and put in a date range you think is the issue and then delete the updates from the deployment package and then go back to the Software Update Groups and tell all the Red Xs to download again.  This should resolve the issue as well.  After each successful download watch the DistMgr.log to validate a successful deployment

Thursday, September 5, 2013

Offline Servicing Failure Resolved

Offline Servicing Failure Resolved

Problem

I had an issue where any of my Offline Servicing jobs to my Operating System images kept failing.  In looking at the log OfflineServicingMgr.log I noticed several errors Failed to install update with error code -2146498512.  I hope this helps someone else as it took a couple days for me to find the information.

Solution

Found the solution buried in the TechNet forum article HERE.  Below is the meat that allowed me to resolve my issue.

Process

My configuration is as follows:

·         ConfigMgr SP1 can’t remember the CU running on Windows Server 2008 R2 and SQL Server 2008 R2 on a Hyper-V 2012 Host.

·         SCEP is on and real-time protection is enabled

·         Try to do an offline service of your operating system and see what drive letter the folder ConfigMgr_OfflineImageServicing is created on.

·         Create the folder ConfigMgr_OfflineImageServicing manually on the drive it was created on and reset the permissions to their defaults

·         Create a SCEP exclusion for the directory %windir%\temp\*.*

·         Create a SCEP exclusion for the directory <driveletter>\ConfigMgr_OfflineImageServicing\*.*

·         Create a SCEP exclusion for the process <driveletter>\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\x86\DISM\DISM.exe

·         Create a SCEP exclusion for the process <driveletter>\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\DISM.exe

·         Create a SCEP exclusion for dismhost.exe  ***I was unable to find the whole path for this so I just put it in without a path.