Windows Language Packs - Some Translations Not Complete

Be sure to re-install the inbox apps if you want them to be translated on the first launch.


If using a Task Sequence, the following results in a machine that is fully translated on the first use (you don’t need to use both LP and LXP).

Install LP:
dism.exe /Image:%OSDTargetSystemDrive%\ /ScratchDir:%OSDTargetSystemDrive%\Windows\Temp /Add-Package /PackagePath:".\Microsoft-Windows-Client-Language-Pack_x64_%Language%.cab" 

Install LXP:
powershell.exe -executionpolicy bypass -command "Add-AppxProvisionedPackage -Path %OSDTargetSystemDrive%\ -PackagePath .\LanguageExperiencePack.%Language%.Neutral.appx" -LicensePath ".\License.xml" Install FoD: powershell.exe -executionpolicy bypass -command $cabs = Get-ChildItem -Filter "*.cab"; foreach ($cab in $cabs) { Add-WindowsPackage -PackagePath "$($cab.FullName)" -NoRestart -Path %OSDTargetSystemDrive%\ }

RefreshInboxAppsWinPE.ps1 (Run offline (WinPE) as part of the package that contains the Inbox Apps during the task sequence.):

$tsenv = New-Object -COMObject Microsoft.SMS.TSEnvironment $target = $tsenv.Value('OSDTargetSystemDrive') + "\" foreach ($App in (Get-AppxProvisionedPackage -Path $target)) { $AppPath = "$pwd\" + $App.DisplayName + '_' + $App.PublisherId Write-Output "Looking for $AppPath" $licFile = Get-Item $AppPath*.xml if ($licFile.Count) { $lic = $true; $licFilePath = $licFile.FullName } else { $lic = $false } $appxFile = Get-Item $AppPath*.appx* if ($appxFile.Count) { $appxFilePath = $appxFile.FullName if ($lic) { Write-Output "Refreshing $appxFilePath" Add-AppxProvisionedPackage -Path $target -PackagePath $appxFilePath -LicensePath $licFilePath } else { Write-Output "Refreshing $appxFilePath" Add-AppxProvisionedPackage -Path $target -PackagePath $appxFilePath -skiplicense } } }

RefreshInboxAppsOnline.ps1 (Run online as part of the package that contains the Inbox Apps):

foreach ($App in (Get-AppxProvisionedPackage -Online)) { $AppPath = "$pwd\" + $App.DisplayName + '_' + $App.PublisherId Write-Output "Looking for $AppPath" $licFile = Get-Item $AppPath*.xml if ($licFile.Count) { $lic = $true; $licFilePath = $licFile.FullName } else { $lic = $false } $appxFile = Get-Item $AppPath*.appx* if ($appxFile.Count) { $appxFilePath = $appxFile.FullName if ($lic) { Write-Output "Refreshing $appxFilePath" Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -LicensePath $licFilePath } else { Write-Output "Refreshing $appxFilePath" Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -skiplicense } } }

Comments

Popular posts from this blog

Dell Latitude 5501 64GB of RAM? Yes!

ConfigMgr Task Sequence Fails Immediately with "The software could not be found on any servers at this time."

Unable to open Start or Search after Window 7 to Windows 10 1809 Upgrade