Skip to content

Store apps not updated to selected language (azure image builder) #818

Description

@j0eyv

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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions