Configuration Manager The legacy package does not have exactly one content.
“The legacy package does not have exactly one content”
When you encounter the error message “The legacy package does not have exactly one content” while connecting to a System Center Configuration Manager (SCCM) distribution point with Content Library Explorer (CLE), it indicates that the package you are trying to access has issues with its content.
In SCCM, a package typically contains one or more files and resources required for the package to function correctly. However, some legacy packages may not have exactly one content, which can cause issues with package deployment and management in SCCM.
To resolve this issue, you can use CLE to view the contents of the package and identify any discrepancies or missing files. CLE allows administrators to explore the content library and view the package contents, including the files, resources, and dependencies associated with the package.
Using CLE, you can identify any missing or duplicate files in the package and take the necessary steps to resolve the issue. This may involve re-packaging the software using modern tools or acquiring a pre-built package from the vendor.
Additionally, you may need to check the package source files, verify the package configuration settings, and ensure that the distribution points are correctly distributing the package content to the devices.
In conclusion, the error message “The legacy package does not have exactly one content” indicates issues with package content in SCCM. You can use CLE to identify and resolve the issue and ensure smooth and consistent package deployment in your environment.
To resolve this issue run the following Power Shell script (don’t forget to change the path to DataLib as you need):
$PathToDataLib = "E:\SCCMContentLib\DataLib" # Path to DataLib
####################################
# Get Legacy Package Folders
$folders = Get-ChildItem -LiteralPath $PathToDataLib | Where-Object { $_.Name.Length -ge 9 -and $_.Name.Length -le 11} | Select-Object -Property @{Name="Name";Expression={$_.Name.SubString(0,8)}}
$uniqueFolders = $folders | Select-Object -Property Name -Unique
# Display Statistics
Write-Host "Count of Folders found: $($folders.Count)"
Write-Host "Count of Unique Folders found: $($uniqueFolders.Count)"
Function Get-Duplicate {
param($array, [switch]$count)
begin {
$hash = @{}
}
process {
$array | %{ $hash[$_] = $hash[$_] + 1 }
if($count) {
$hash.GetEnumerator() | ?{$_.value -gt 1} | %{
New-Object PSObject -Property @{
Value = $_.key
Count = $_.value
}
}
}
else {
$hash.GetEnumerator() | ?{$_.value -gt 1} | %{$_.key}
}
}
}
# Display Duplicated Packages
Get-Duplicate ($folders | Select -ExpandProperty Name) -count
When the script is complete – you get a package ID that has trouble. A better choice is to delete and create again this package.
Hi,
nice to see, that other people got the same issue.
With this PowerShell i was able to identify some of the packages preventing the ContentLibExplorer start. But not all. In my ContentLib\DataLib i found tons of orphaned folders from SUP Content and apllications also which seems to be ignored by this PowerShell.
I also found out, that the empty folders are not visible in the explorer.exe! You have to use other tools like Total Commander or even cmd.exe to make them visible.
The cause for my issue seems to be our OnAccess Virus-Scanner. We missed to exclude the SCCM Contentlib Folder on our DPs 🙁
Was somebody able to fix the problem without rebuilding the whole Content lib ?
BR Heiko
Unfortunately (per microsoft) resolution is to recreate and redistribute all of the content. Had this happen with a client who decided to enable anti-virus on their CM box without any exclusions for CM stuff.