winget-cli
winget-cli copied to clipboard
Winget installing wrong locale version of app
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
- Be in Germany
- Install Windows 11 Pro 23H2 using the en-US iso and the default locale settings for en-US.
- Let windows install all updates.
-
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
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?
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
.
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
PR https://github.com/microsoft/winget-pkgs/pull/138666 should be the fix to the problem regarding CS locale. Is anyone able to confirm?
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!