OSCapability

OSCapability ContentPack is used to add things like RSAT to an offline Windows Image

ContentPack Structure

Directories within OSCapability are created by default and follows this logical assignment

OSCapability\$ReleaseId $Architecture
OSCapability\$ReleaseId $Architecture RSAT

That being said, if you need one for Windows 10 1909 x86, just manually create the following directories. Get it?

1909 x86
1909 x86 RSAT

Add Capabilities

You will need to download a Features on Demand ISO to get WindowsCapabilities. Once you have the ISO, simply copy the WindowsCapabilities you want to add

You must always include the metadata directory and the FoDMetadata_Client.cab, otherwise OSDBuilder will ignore your stuff

Add RSAT Capabilities

If you want to add RSAT, simply add the CAB files you want to install in the corresponding RSAT Capability directory. This can be quite challenging if you are doing this manually, but the following script should do just the trick if you adjust the paths accordingly and add your languages

#Path to the Features on Demand ISO
$FodISO = 'G:\'

#Destination Path
$Destination = 'D:\OSD\ContentPacks\OSCapability RSAT en-US\OSCapability\1903 x64 RSAT'

#Languages to support
#The first value must be $null for Language Neutral
#Add additional values for additional installed Languages
$Languages = @($null,'en-us')

#Do not modify below this line
$Architectures = @('x86','amd64','wow64')
if (!(Test-Path $Destination)) {New-Item $Destination -ItemType Directory -Force | Out-Null}
foreach ($Language in $Languages) {
    foreach ($Architecture in $Architectures) {
        Get-ChildItem $FodISO -Recurse -Include metadata,FoDMetadata_Client.cab,"Microsoft-Windows*FoD*$Architecture~$Language~.cab" -Exclude *LanguageFeatures*,*Holographic* | foreach {
            if (!(Test-Path "$Destination\$($_.Name)")) {
                Write-Output "$Destination\$($_.Name)"
                Copy-Item $_.FullName $Destination -Force -Recurse
            }
        }
    }
}

x64 Results

x86 Results

Build

Time for a quick test

New-OSBuild -SkipTask -Execute -SkipComponentCleanup -SkipUpdates -CreateISO

During the OSBuild process you will see a list of the available Capabilities for your OS displayed. This is not the Capabilities you are adding, but the way they are installed is you have to Add-Windows Capability by Name. So if you have the CAB for the Named Windows Capability, it will be installed

To verify the installed Windows Capabilities, simply validate against the exported XML

Import-Clixml "D:\OSDBuilder\SeguraOSD\OSBuilds\Windows 10 Enterprise x64 1909 18363.418\info\xml\Get-WindowsCapability.xml" | ? State -match 'Installed' | ft

Or have a look in the WindowsCapability.txt file that is in the root of the OSBuild you just created.

Results

Last updated