Content management has somewhat been completely rewritten for this version and do require “a little getting used to”. Below are some of the changes related to the Content Library but first a quick recap of the new distribution point features.
We only have one type of DP in ConfigMgr. 2012, no more branch DP’s, DP shares or hidden PXE shares – only a standard DP which can be installed on a Windows client (Vista SP2 and above) or a Windows server (Windows 2003 SP2 and above).
- You can control the bandwidth when sending content to a remote distribution point
- You can PXE enable a distribution point
- You can configure the distribution point for prestaging and only send content changes over the wire.
- You can prestage multiple applications on a Distribution Point with one command
- Only files not already present on a distribution point will be send even if the files is being used by another application.
Site Server components
On the site server we still have the distribution manager (distmgr.log) who is (among other things) responsible for handling content between sites. To handle content within a site, there is a new guy in the class – the Package Transfer Manager (PkgXferMgr.log). In this log file you will be able to see the file copy process between the site server and the distribution point.
Distribution Point components
On the local distribution point you will find a new distribution point WMI provider and the Content Library. The Content Library is very different from the traditional ConfigMgr. 2007 shared folder where you used to find all the content.
The SMS_DP$share is used to host the distribution point log files, the files used to validate content, prestage content and is also to store a temporary copy of the package before it is integrated into the Content Library. By reading the PkgXferMgr.log you can easily see the process.
The Content Library consists of three subfolders:
The Package Library (pkgLib)
In this folder you will find a PackageID.ini file for every package. In this illustration, it’s the second version of a package that exists in the library. Configmgr. Uses the term package when talking about objects in the content library regardless of whether it is an application or actual package.
The data library
In the data library you will find a PackageID.ver.ini file for each package and a PackageID.ver folder. The folder is a “copy” of the exact package folder structure but without any of the real files. For each file in the original package you will find a corresponding .INI file with information about the original file.
Above you see the Data Library with two packages. Notice the .INI file for each package. Open the .INI file and you will find the HASH for the package.
Open the PackageID.Version folder and you will see a copy of the original folder structure with an .INI file replacing each of the original files.
Each .INI file contains information about the file like, HASH value, size, attributes and a last modified time stamp.
The File Library
In here you will find the actual files that are used in the different packages. All files are grouped together in a folder. The folder for each file is the 4 letters in the file hash (you can see the file hash in the Data library. In this example I look at the folder for the ccmsetup.cab file which begins with 504C.
Inside the folder you will find 3 files.
First you will see a file with no extension, this is the actual file named with the HASH value. You can copy the file, rename it to the original file name and start the installation (provided that this is the only file in the package).
Hash.ini file contains a link between the file and the packages that uses the file. If you have multiple packages referring the same file, you will just see an entry for each package.
The third file is a signature file called Hash.sig. It contains the original package signature.
I hope above cleared a few things about the content library.