microsoft / microsoft/winget-cli

WinGet on Windows Server Core

Open
#4,319 27 comments 18 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

I'd like WinGet to function correctly on Windows Server Core. The main gap identified by @jantari was related to the way WinGet determines the locale for package metadata.

Quote from the discussion below: 

I looked into it and this API does appear to not be present in Server Core (meaning this error from our call to it is expected). That of course depends on my ability to map from the internal identifier to the marketing name, which should not be considered infallible.

I think at this point we could confidently wrap the implementation of Locale::GetUserPreferredLanguages to prevent the error from escaping. The default state would be that locale was not included in the installer selection if the call failed.

This is a good workaround in the interim.

Originally posted by @JohnMcPMS in https://github.com/microsoft/winget-cli/discussions/2361#discussioncomment-8559871

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the implementation of Locale::GetUserPreferredLanguages and review the linked discussion about its absence on Windows Server Core. Verify the failure path on Server Core and confirm that installer selection continues without locale metadata when the call fails.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, localization, operating-systems
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.