We're creating AVD SessionHost images in native languages (Dutch, nl-NL), and overall, the process works well—except for the Store apps. These apps, such as Notepad and Calculator, retain their English names, and their menus and context options also remain in English.
After deploying the SessionHosts, we have to manually log into each machine, set correct region/language settings, open the Microsoft Store, and check for updates. Only after this step do the apps update to Dutch. This should be possible within the Azure Image Builder process while setting the language via Set-DefaultLang.ps1 so it gets applied to all users on new sessionhosts.
Note: Problem does only exist on Multi Session OS (W11. Have not tested W10). For Single session there is no issue because there are native language OS'es available.
### Set registry values to overwrite existing ones
$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
### Setting DWORD values
Write-Log -Message "Adding Time Zone information for West Europe"
Set-ItemProperty -Path $registryPath -Name "Bias" -Value 0xffffffc4
Set-ItemProperty -Path $registryPath -Name "DaylightBias" -Value 0xffffffc4
Set-ItemProperty -Path $registryPath -Name "StandardBias" -Value 0x00000000
Set-ItemProperty -Path $registryPath -Name "DynamicDaylightTimeDisabled" -Value 0x00000000
Set-ItemProperty -Path $registryPath -Name "ActiveTimeBias" -Value 0xffffffc4
### Setting String values
Set-ItemProperty -Path $registryPath -Name "DaylightName" -Value "@tzres.dll,-321"
Set-ItemProperty -Path $registryPath -Name "StandardName" -Value "@tzres.dll,-322"
Set-ItemProperty -Path $registryPath -Name "TimeZoneKeyName" -Value "W. Europe Standard Time"
### Setting binary values
Set-ItemProperty -Path $registryPath -Name "DaylightStart" -Value ([byte[]] (0x00, 0x00, 0x03, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00))
Set-ItemProperty -Path $registryPath -Name "StandardStart" -Value ([byte[]] (0x00, 0x00, 0x0a, 0x00, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00))
Write-Log -Message "Time Zone Set"
Write-Log -Message "Setting Regional Settings"
### Set Location to Netherlands
Set-WinSystemLocale nl-NL
Set-WinHomeLocation -GeoId 0xb0
### Set regional format (date/time etc.) to Netherlands
Set-Culture nl-NL
Set-WinUserLanguageList nl-NL -Force
### Copy to all users
Copy-UserInternationalSettingsToSystem -WelcomeScreen $false -NewUser $True
Write-Log -Message "Regional Settings Set for NL"
We're creating AVD SessionHost images in native languages (Dutch, nl-NL), and overall, the process works well—except for the Store apps. These apps, such as Notepad and Calculator, retain their English names, and their menus and context options also remain in English.
After deploying the SessionHosts, we have to manually log into each machine, set correct region/language settings, open the Microsoft Store, and check for updates. Only after this step do the apps update to Dutch. This should be possible within the Azure Image Builder process while setting the language via Set-DefaultLang.ps1 so it gets applied to all users on new sessionhosts.
Note: Problem does only exist on Multi Session OS (W11. Have not tested W10). For Single session there is no issue because there are native language OS'es available.