SCCM Desired Configuration – Missing Content Error
The importing of CAB files that were created by the Microsoft Security Compliance Manager as SCCM’s Desired Configuration Management Items can fail with the non-descript error “The cab file references missing content or contains a circular reference”.
The Security Compliance Manager utility provides a pathway for Importing Group Policies and exporting settings into formats that may be used by other systems. Notably, a group policy object may be exported to an Excel worksheet to document its contained settings. The utility also allows a Group Policy to be exported as a baseline for Desired Configuration Management with SCCM.
The error “The cab file references missing content or contains a circular reference” doesn’t provide specific enough information to identify exactly what the problem is but knowing a CAB file reference is a big enough clue to bring about a resolution.
The first task is to extract the contents of the CAB file into a local folder.
The Desired Configuration Management CAB may well contain multiple configuration items, all represented by separate XML files. With my example I’m using a Baseline provided by the Center for Internet Security which has hundreds of settings contained with the extracted files. Out of all these files, one is a master file that references all the other Configuration Items. It will have the same Display name as the originally created CAB file.
The Image below is a copy of my problematic “master” file.
And this Image is from one of the Configuration Item files.
You can see that every Item is referred to by its “Logical Name” by the master file. In this context, the error “The cab file references missing content or contains a circular reference” simply means that the master file is referencing a Logical Name that can’t be found.
By using a search utility you can take each referenced item and search through the XML files of the extracted CAB. You would expect each Logical Name to be found twice – once in the master file and secondly in the actual Configuration Item file itself.
Sure enough, one particular item was being referenced from the Master configuration file but wasn’t found anywhere else amongst the associated XML.
As the offending node has been identified it can be cut out from the XML & the fixed files can be recompressed. A simple utility such as CABPack can be downloaded and used for free to recombine all of the XML back into a single cabinet.
The fixed CAB can then be imported as an SCCM Configuration Baseline