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

Windows 10 Upgrade - Panther Logs - Locations

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."