I'm try to install Windows 10 using TS with multiple language packs but its not working.
My TS
Download language packs into an Temp folder (I can see this folder being created and all of the files being download e.g. LP, FOD)
Then I run powershell script to install LP
Param ($contentPath)
Set-StrictMode -Off
$logFile = "C:\Language\InstallLanguagePacks.log"
if(!(Test-Path $logFile)){New-Item -Path $logFile -Force}
$contentPath | Tee-Object -FilePath $logFile -Append
[array]$AllLPs = Get-ChildItem "$contentPath\*\LP\Microsoft-Windows-Client-Language-Pack_x64*.cab"
"{0:u} | Found {1} language packs:" -f [datetime]::Now, $AllLPs.Count | Tee-Object -FilePath $logFile -Append
$AllLPs.FullName | Tee-Object -FilePath $logFile -Append
Foreach ($lp in $AllLPs)
{
"Install new LP $lp" | Tee-Object -FilePath $logFile -Append
$LPPath=$lp.FullName
Add-WindowsPackage -Online -PackagePath $("$LPPath") -NoRestart -Verbose 3>&1 4>&1 |
ForEach-Object {"{0:u} | {1}" -f [DateTime]::Now, ($_ | Out-String) | Tee-Object -FilePath $logFile -Append }
}
Then i Run the Fod script to install all of the Fods.
Param ($contentPath)
Set-StrictMode -Off
$logFile = "C:\Language\InstallLanguagePacks-FOD.log"
if(!(Test-Path $logFile)){New-Item -Path $logFile -Force}
Start-Sleep -Seconds 2
$installedLP = Get-WindowsPackage -Online -PackageName "*Client-languagePack*" |
Where-Object {$_.PackageState -eq 'Installed' -and $_.PackageName -notmatch '~en-US~'}
"{0:u} | Detected installed Language packs:" -f [datetime]::Now | Tee-Object -FilePath $logFile -Append
($installedLP | Select-Object CapacityID, PackageName | Out-String -Stream) | Tee-Object -FilePath $logFile -Append
$FODCat = @('Microsoft-Windows-LanguageFeatures-Basic-',
'Microsoft-Windows-LanguageFeatures-Fonts-',
'Microsoft-Windows-LanguageFeatures-OCR-',
'Microsoft-Windows-LanguageFeatures-Handwriting-',
'Microsoft-Windows-LanguageFeatures-TextToSpeech-',
'Microsoft-Windows-LanguageFeatures-Speech-',
'Microsoft-Windows-InternationalFeatures-'
)
$FODs =@()
foreach($Item in $FODCat)
{
$FODs += Get-ChildItem "$contentPath\*\FOD\$Item*.cab" | Select-Object -ExpandProperty FullName
}
"{0:} | Reading FOd content source. Found {1} language and readion feature on demand (FOD): " -f [datetime]::Now, $FODs.Count |
Tee-Object -FilePath $logFile -Append
If($FODs.Count) {
"",$FODs.Substring($contentPath.Length),"" | Tee-Object -FilePath $logFile -Append
$FODs | Tee-Object -FilePath $logFile -Append
}
foreach ($fp in $FODs)
{
"Installing FoD $fp" | Tee-Object -FilePath $logFile -Append
Add-WindowsPackage -Online -PackagePath "$($fp)" -NoRestart -PreventPending -Verbose 3>&1 4>&1 |
ForEach-Object {"{0:u} | {1}" -f [DateTime]::Now, ($_ | Out-String) | Tee-Object -FilePath $logFile -Append }
}
but nothing happens, I try to install LP manually in winpe mode but I get following error