-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
I found that when the Validation Pipeline validate the installation, if the package's installer manifest specifies the InstallerLocale, it passes the --locale <InstallerLocale> parameter to WinGet.
But when the package's dependency don't specify the InstallerLocale, the installation will failed (due "No suitable installer found"), ultimately causing the entire validation to fail.
Running winget install --id Microsoft.DotNet.Runtime.8 --accept-source-agreements --locale en-us --accept-package-agreements
End winget install --id Microsoft.DotNet.Runtime.8 --accept-source-agreements --locale en-us --accept-package-agreements
...
Running winget install --manifest C:\Users\validator\AppData\Local\Temp\Manifest.yaml --ignore-local-archive-malware-scan --locale en-us --accept-package-agreements
End winget install --manifest C:\Users\validator\AppData\Local\Temp\Manifest.yaml --ignore-local-archive-malware-scan --locale en-us --accept-package-agreements
Installation failed with exit code -1978334972
The verbose log should looks like this:
2026-01-30 16:36:16.363 [CLI ] Starting installer selection.
2026-01-30 16:36:16.363 [CLI ] Installer [X64,burn,Unknown,] not applicable: Installer locale does not match required locale: Required locales: [en-us] Or does not satisfy compatible match for Preferred Locales: [...]
2026-01-30 16:36:16.363 [CLI ] Installer [X86,burn,Unknown,] not applicable: Installer locale does not match required locale: Required locales: [en-us] Or does not satisfy compatible match for Preferred Locales: [...]
2026-01-30 16:36:16.363 [CLI ] Installer [Arm64,burn,Unknown,] not applicable: Installer locale does not match required locale: Required locales: [en-us] Or does not satisfy compatible match for Preferred Locales: [...]
2026-01-30 16:36:16.363 [CLI ] Installer [Arm64,burn,Unknown,] not applicable: Machine is not compatible with Arm64
2026-01-30 16:36:16.426 [CLI ] Terminating context: 0x8a150010 at C:\__w\1\s\external\pkg\src\AppInstallerCLICore\Workflows\InstallFlow.cpp:13a
Here are a few examples where these PRs encountered this situation:
- Modify: icsharpcode.ILSpy version 10.0.0.8282-preview2 #335164
- New version: srwi.EverythingToolbar.Launcher version 2.1.2 #333628
- New version: CumulusMX.CumulusMX version 4.6.4 #331326
Many common dependencies do not specify the InstallerLocale, such as Microsoft.DotNet.Runtime.10 and Microsoft.VCRedist.2015+.x64.
In some cases, inconsistencies between the locales of dependency and packages are also expected. (#322916 (comment))
In my personal opinion, for dependencies, maybe the --locale option should be treated as a preference rather than a requirement.