Skip to content

Added WSL container to OOBE - #41402

Open
Craig Loewen (craigloewen-msft) wants to merge 1 commit into
masterfrom
user/crloewen/wslc-oobe
Open

Added WSL container to OOBE#41402
Craig Loewen (craigloewen-msft) wants to merge 1 commit into
masterfrom
user/crloewen/wslc-oobe

Conversation

@craigloewen-msft

Copy link
Copy Markdown
Member

Summary of the Pull Request

Added WSL container to OOBE.
image

The banner right now is temporary while I think on a better image. Would love any feedback on that.

Hard coded in "NEW" right now and then we can just remove that "NEW" in later updates.

PR Checklist

Done checklist.

Detailed Description of the Pull Request / Additional comments

Simple change.

Validation Steps Performed

Ran the app, clicked on the links.

Copilot AI lite review requested due to automatic review settings August 20, 2026 20:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new “WSL Container” entry to the WSL Settings OOBE flow, including a new page + view model, navigation item (with a “NEW” badge), and localized strings/assets to surface documentation links.

Changes:

  • Added WSLContainerPage (XAML + code-behind) and WSLContainerViewModel.
  • Wired the new page into OOBE navigation and page routing/DI.
  • Added a “NEW” InfoBadge style, localized strings, and an image asset link for the hero banner.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/windows/wslsettings/Views/OOBE/WSLContainerPage.xaml.cs Adds code-behind that resolves the new view model via DI.
src/windows/wslsettings/Views/OOBE/WSLContainerPage.xaml Defines the new OOBE content page with hero image + links.
src/windows/wslsettings/Views/OOBE/ShellPage.xaml Adds a new NavigationView item for the WSL container page, including an InfoBadge.
src/windows/wslsettings/ViewModels/OOBE/WSLContainerViewModel.cs Introduces the new (currently minimal) view model.
src/windows/wslsettings/Styles/CommonStyles.xaml Adds a custom InfoBadge style used to display the “NEW” pill.
src/windows/wslsettings/Services/PageService.cs Registers the view model → page mapping for navigation.
src/windows/wslsettings/CMakeLists.txt Links the new hero image into the app output assets.
src/windows/wslsettings/App.xaml.cs Registers the new page/view model in the service container.
localization/strings/en-US/Resources.resw Adds OOBE strings/URIs and the “NEW” badge text.
Suppressed comments (2)

src/windows/wslsettings/CMakeLists.txt:33

  • The repo uses an "Images/" directory at the repo root, but this new asset link references "${CMAKE_SOURCE_DIR}/images/...". That will fail on case-sensitive filesystems (and makes this new image link fragile). Consider switching to the correct directory casing ("Images") for this link (and ideally the surrounding block) to avoid build breaks in case-sensitive environments.
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEWSLContainer.png ${BIN}/${TargetApp}/Assets/SettingsOOBEWSLContainer.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEGPUAcceleration.gif ${BIN}/${TargetApp}/Assets/SettingsOOBEGPUAcceleration.gif)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEGUIApps.png ${BIN}/${TargetApp}/Assets/SettingsOOBEGUIApps.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBENetworkingIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBENetworkingIntegration.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEVSCodeIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSCodeIntegration.png)
file(CREATE_LINK ${CMAKE_SOURCE_DIR}/images/SettingsOOBEVSIntegration.png ${BIN}/${TargetApp}/Assets/SettingsOOBEVSIntegration.png)

localization/strings/en-US/Resources.resw:1912

  • This NavigationView item label uses sentence case ("WSL container") while other navigation item labels in this file use title case (e.g., "GPU Acceleration", "Docker Desktop Integration"). Consider changing to "WSL Container" for consistency.
  <data name="Settings_Shell_WSLContainer.Content" xml:space="preserve">
    <value>WSL container</value>
  </data>

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


You can use the `wslc.exe` CLI to build, run, push, pull and manage Linux containers all directly on Windows.

As well you can use the WSLc API to create Windows applications that have runtime logic powered by Linux containers, making it easier to embed Linux contianers as a direct component of your Windows applications. This feature makes it easy to use code that would run in a Linux environment right on Windows, useful for applications like cloud to local, AI applications, and isolation.</value>
<data name="Settings_OOBEWSLContainer.Description" xml:space="preserve">
<value>Easily run Linux containers on Windows as a 1st class experience.

You can use the `wslc.exe` CLI to build, run, push, pull and manage Linux containers all directly on Windows.
As well you can use the WSLc API to create Windows applications that have runtime logic powered by Linux containers, making it easier to embed Linux contianers as a direct component of your Windows applications. This feature makes it easy to use code that would run in a Linux environment right on Windows, useful for applications like cloud to local, AI applications, and isolation.</value>
</data>
<data name="Settings_OOBEWSLContainer.Title" xml:space="preserve">
<value>WSL container</value>
@benhillis

Copy link
Copy Markdown
Member

copilot feedback looks valid to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants