[string]$ImagePath # If omitted, applies to online OS )
$dismArgs = @('/English', '/Quiet', '/LogLevel', '1') [string]$ImagePath # If omitted, applies to online OS
if ($ImagePath) Write-Host "Targeting offline image at: $ImagePath" $dismArgs += @('/Image', $ImagePath) else Write-Host "Targeting online operating system" $dismArgs += @('/Online') $checkArgs = $dismArgs + @('/Get-Packages') $packages = & dism $checkArgs | Select-String -Pattern "Package Identity.*LanguageFeatures-Basic-zh-cn" [string]$ImagePath # If omitted
if ($packages -match "Install State : Installed") Write-Host "Language feature already installed. Skipping." exit 0 $addArgs = $dismArgs + @('/Add-Package', "/PackagePath:$CabPath") Write-Host "Adding language feature CAB..." & dism $addArgs [string]$ImagePath # If omitted, applies to online OS
if ($LASTEXITCODE -ne 0) Write-Error "DISM failed. Check DISM log." exit $LASTEXITCODE