winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

Winget installing wrong locale version of app

Open agowa opened this issue 1 year ago • 5 comments

Brief description of your issue

Winget is installing packages using the wrong locale. I tried to install Mozilla.Firefox, which within the package specifies en-US as default and my system is also set to en-US, however winget installed the en-GB version of it even on a 2nd and 3rd try.

I just freshly installed windows 11 23H2 (after updates OS Build 22631.3007) using the en-US iso (Windows automagically set the country or region in settings to Germany regardless of my choices, but that's not an winget related issue). I also didn't log into Microsoft account and installed it using a local account (as connecting to the wifi didn't work, even though it was detected on the oobe screen, so it cannot be something fetched from there either).

For reference, I did not change any of the localization settings manually (yet) and my system has:

PS C:\Users\user> Get-WinUserLanguageList


LanguageTag     : en-DE
Autonym         : English (Germany)
EnglishName     : English
LocalizedName   : English (Germany)
ScriptName      : Latin
InputMethodTips : {}
Spellchecking   : True
Handwriting     : False

LanguageTag     : en-US
Autonym         : English (United States)
EnglishName     : English
LocalizedName   : English (United States)
ScriptName      : Latin
InputMethodTips : {0409:00000409}
Spellchecking   : True
Handwriting     : False

LanguageTag     : en-GB
Autonym         : English (United Kingdom)
EnglishName     : English
LocalizedName   : English (United Kingdom)
ScriptName      : Latin
InputMethodTips : {0809:00000407}
Spellchecking   : True
Handwriting     : False

PS C:\Users\user> Get-WinHomeLocation

GeoId HomeLocation
----- ------------
   94 Germany

Steps to reproduce

  1. Be in Germany
  2. Install Windows 11 Pro 23H2 using the en-US iso and the default locale settings for en-US.
  3. Let windows install all updates.
  4. winget install Mozilla.Firefox

Edit: Issue is caused by the presence of "en-DE" (why is it even there when I freshly installed en-US Windows?) within the WinUserLanguageList. When I order en-US before it winget is correctly installing en-US. However even though it has higher priority than en-GB (as seen above), when en-DE is listed first, en-US 2nd, and en-GB 3rd winget still defaults to en-GB. (Same, but expected, for en-US being 3rd and en-GB 2nd).

Expected behavior

Installing Mozilla.Firefox using the en-US locale

Actual behavior

Installing Mozilla.Firefox using the en-GB locale

Environment

PS C:\Users\user> winget --info
Windows Package Manager v1.6.3482
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3007
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

agowa avatar Jan 18 '24 12:01 agowa

Similar issue - locale is en-US but winget update --all installed the czech version. Unlike above though, czech isn't in my language list. Might have been inferred from custom dns or vpn settings?

image image

MetricMike avatar Feb 10 '24 17:02 MetricMike

Just hit this; was very confused when Firefox popped in Czech. As Mike, it's not a system locale. My Get-WinHomeLocation is United States and My Get-WinUserLanguageList has en-US and zh-Hans-CN.

jamesgecko avatar Feb 11 '24 03:02 jamesgecko

Looks like the 122.0.1 package update got a bit messy for Firefox; it has install paths for all x64 versions installing the CS locale, and all x86 - and ARM - packages installing the EL locale.

https://github.com/microsoft/winget-pkgs/blob/master/manifests/m/Mozilla/Firefox/122.0.1/Mozilla.Firefox.installer.yaml

DragRedSim avatar Feb 11 '24 07:02 DragRedSim

PR https://github.com/microsoft/winget-pkgs/pull/138666 should be the fix to the problem regarding CS locale. Is anyone able to confirm?

mdanish-kh avatar Feb 11 '24 18:02 mdanish-kh

PR https://github.com/microsoft/winget-pkgs/pull/138666 should be the fix to the problem regarding CS locale. Is anyone able to confirm?

Can confirm this issue is fixed after running winget install mozilla.firefox --force today. The correct version for the language locale is installed. The CS locale was installed after the previous winget upgrade --all, quite the shock!

adatum avatar Feb 15 '24 02:02 adatum