Sunday, November 28, 2010

SCCM Distribution point tar file error

I spent all weekend fighting various sccm parent-> Child site replication issues.  One I had around some of my software update packages had basically no information on the web despite what I would expect to be a very ‘searchable’ signature.  the misspelling in signature in this line:
failed to register the source with the signautre repository
The full error message I was getting is below but the most obvious lines were (from distmgr.log on the child)
invalid tar file signature
UnpackFolderW failed; 0x80040299
UnpackFolder() failed
failed to register the source with the signautre repository
UpdateStagedFolderRdcW failed; 0x80070299
Cannot copy package CEN00004 from e
Failed to copy package CEN00004 from e
STATMSG
Forward package status for pkg CEN00004 to site CEN
Error occurred.
I was stuck in a loop w/ two of my packages where they would expand to an e:\_S XXXXXXX temp directory but would fail during or just after that step w/ the above errors. 


Resolution:
Short answer:
Delete from dp, turn off binary replication, repush.

Step by step:
What finally worked was to remove the packages from the child distribution point at the parent server, turn off binary replication, and re-add them to the DP.  So, from the parent server Computer Management –> Software Updates –> Deployment Packages –> My Package –> right click on distribution points –> manage distribution points –> delete from selected.  Once I saw this go through in the distmgr log of the child site, which looks something like:  
Updated replicated package info for package CEN00004
Updated replicated package server ["Display=\\childsite\"]MSWNET
Updated replicated package program info for package CEN00004, program *, dependent program
Successfully processed C
Removing package CEN00004 from the active package array.
Right click on your package under Deployment Packages and uncheck ‘Enable Binary Replication’.
Right click on Deployment Packages –> your package –> distribution points and add a new DP.
You should see it uncompress to the _S temp folder and then continue to creating the directory structure and moving the files into your SMSPGKE$ (or whichever drive is appropriate).
Full log of the repeating (erroring) attempt below. 
Hopefully this will save somebody an afternoon.
Good luck


Starting package processing thread,thread ID = 1670
Sleep 3600 seconds...
STATMSG
Retrying package CEN00004
No action specified for the package CEN00004.
Start adding package to server ["Display=\\childsite\"]MSWNET
["Display=\\childsite\"]MSWNET
Will wait for 1 threads to end.
Thread Handle = 7056
Attempting to add or update a package on a distribution point.
for ["Display=\\childsite\"]MSWNET
STATMSG
Established connection to ["Display=\\childsite\"]MSWNET
Signature share exists on distribution point path MSWNET
Found the existing package path on MSWNET
Validating the compressed file E
Used 1 out of 7 allowed processing threads.
Sleep 3600 seconds...
The package file requires a NTFS drive to decompress to.
Decompressing package E
Processing incoming file C
Package CEN00004 is currently being processed
Processing incoming file C
Package CEN00004 is currently being processed
Used 1 out of 7 allowed processing threads.
Sleep 3600 seconds...
Used 1 out of 7 allowed processing threads.
Sleep 3600 seconds...
Used 1 out of 7 allowed processing threads.
Sleep 3600 seconds...
STATMSG
GetPackageSignature() called for package CEN00004 with version 3. UnpackedSignature = 0
RDC
for ["Display=\\childsite\"]MSWNET
IISPortsList in the SCF is "80".
IISSSLPortsList in the SCF is "443".
IISWebSiteName in the SCF is "".
IISSSLState in the SCF is 0.
Virtual Directory SMS_DP_SMSPKGE$ for the physical path E
for ["Display=\\childsite\"]MSWNET
IISPortsList in the SCF is "80".
IISSSLPortsList in the SCF is "443".
IISWebSiteName in the SCF is "".
IISSSLState in the SCF is 0.
Virtual Directory SMS_DP_SMSSIG$ for the physical path E
Get access to the package directory and the number of free bytes at that location.
Attempting to make an accessible connection to MSWNET
Established connection to MSWNET
Getting the NAL path's NOS equivalent.
The NOS path is \\childsite\SMSPKGE$\CEN00004\
Getting the number of free bytes.
The number of free K bytes 221886568
Successfully made an accessible connection, got a NOS path, and, if requested, got the number of free bytes at this location.
Attempting to make an accessible connection to MSWNET
Established connection to MSWNET
Getting the NAL path's NOS equivalent.
The NOS path is \\childsite\SMSSIG$\
The number of free bytes at the specified location has not been requested.
Successfully made an accessible connection, got a NOS path, and, if requested, got the number of free bytes at this location.
Successfully set access security on MSWNET
GetPackageSignature() called for package CEN00004 with version 3. UnpackedSignature = 0
RDC
RegisterSignatureUsage() called with for Package CEN00004, Version 3 with Targetpath as E
invalid tar file signature
UnpackFolderW failed; 0x80040299
UnpackFolder() failed
failed to register the source with the signautre repository
UpdateStagedFolderRdcW failed; 0x80070299
Cannot copy package CEN00004 from e
Failed to copy package CEN00004 from e
STATMSG
Forward package status for pkg CEN00004 to site CEN
Error occurred.
Performing error cleanup prior to returning.
DP thread with array index 0 ended.
DP thread with thread handle 7056 and thread ID 5628 ended.
Updating package info for package CEN00004
Only retrying local DP update for package CEN00004, no need to replicate package definition to child sites or DP info to parent site.
StoredPkgVersion (3) of package CEN00004. StoredPkgVersion in database is 3.
SourceVersion (3) of package CEN00004. SourceVersion in database is 3.
STATMSG
Failed to process package CEN00004 after 3 retries, will retry 97 more times

analytics