Added WSL container to OOBE - #41402
Open
Craig Loewen (craigloewen-msft) wants to merge 1 commit into
Open
Conversation
Craig Loewen (craigloewen-msft)
requested a review
from a team
as a code owner
August 20, 2026 20:18
Craig Loewen (craigloewen-msft)
enabled auto-merge (squash)
August 20, 2026 20:18
Copilot started reviewing on behalf of
Craig Loewen (craigloewen-msft)
August 20, 2026 20:22
View session
Contributor
There was a problem hiding this comment.
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) andWSLContainerViewModel. - 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> |
Member
|
copilot feedback looks valid to me |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
Added WSL container to OOBE.

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.