docs: correct Win11 Creator behavior after the ISO workflow refactor - #4920
Conversation
The creator stopped stripping unused editions, loading offline registry hives, and running component store cleanup in ChrisTitusTech#4862. It now copies the ISO contents and applies the selected edition through sources\ei.cfg and autounattend.xml, leaving install.wim alone unless drivers are injected. Update the guide and the architecture reference to match, and note that the output ISO is close to the size of the source.
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe Win11 Creator documentation no longer states that unused Windows editions or the component store are removed. It now explains that editions remain in ChangesWin11 Creator documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/src/content/docs/code-reference/architecture.mdx`:
- Line 184: Update the disk-space documentation to use one copy-based capacity
model: in docs/src/content/docs/code-reference/architecture.mdx lines 184-184
and 193-193, preserve the source-sized output ISO statement, revise the
disk-space table and workspace estimate to approximately 5–6 GB, and recalculate
the total requirement; in docs/src/content/docs/guides/win11creator.mdx line 78,
update the caution and cleanup estimates to match the revised workspace size.
In `@docs/src/content/docs/guides/win11creator.mdx`:
- Line 75: Update the troubleshooting entry near the WIM dismount guidance to
make waiting for slow WIM processing conditional on driver injection being
enabled, while preserving the existing advice for runs that perform WIM mount
and commit operations.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 92c36532-9795-402a-b99e-5cdcedbab1bd
📒 Files selected for processing (2)
docs/src/content/docs/code-reference/architecture.mdxdocs/src/content/docs/guides/win11creator.mdx
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7fcaec1e63
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The disk space block still carried the pre-refactor 10-15 GB workspace, 2.5-3.5 GB output, and ~25 GB total, which contradicted the copy-based numbers in the data flow. Restate them against the source ISO size. Driver injection never touches boot.wim. It adds every exported driver to the selected install.wim index and stages only the storage packages in $WinpeDriver$ for WinPE, so correct both the guide and the reference. The stuck-run troubleshooting entry pointed at a WIM dismount that only happens when driver injection is enabled.
|
Thanks for correcting the edition-stripping and output-size documentation. That part now matches the current workflow, but the surrounding Win11 Creator documentation still needs a more complete implementation review. Several claims are either missing important conditions or describe behavior that the code does not perform. A few specific issues:
The change that directly addresses #4918 is correct: unused editions remain in the install image, the selected edition is applied through |
mewclouds
left a comment
There was a problem hiding this comment.
Changes requested addressed in the previous comment!
The earlier commits rewrote the surrounding Win11 Creator sections, which went well beyond what ChrisTitusTech#4918 was about and presented the rest of the section as reviewed when it had not been. Restore the untouched text and keep only the claims that promised a size reduction or edition removal: the strip-editions and component store bullets, the two data flow lines, and the modified ISO size.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cb3d01f6d0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| A live log shows progress as each step completes. This stage usually takes **10–30 minutes** depending on disk speed. The WIM dismount near the end is the slowest part, so do not close WinUtil while it is running. | ||
|
|
||
| :::note | ||
| The resulting ISO is close to the size of the source ISO. WinUtil does not remove the unused editions from `install.wim`; it selects your edition through `sources\ei.cfg` and `autounattend.xml` so Windows Setup installs the right one. |
There was a problem hiding this comment.
Clarify first-logon staging in the guide
For runs without driver injection, this new note is the only place explaining that the image is preserved, but the Step 3 bullets immediately above still promise AppX, OneDrive, registry, and task removals as if they are baked into the ISO. The implementation writes autounattend.xml/sources\$OEM$ setup scripts and only calls driver servicing when $InjectCurrentSystemDrivers is true (functions/private/Invoke-WinUtilISOScript.ps1:529-538), so users expecting an offline-debloated install.wim will not see those changes until first logon; update this section to describe the staging behavior.
AGENTS.md reference: AGENTS.md:L127-L127
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Skipping this one deliberately. The Step 3 bullets are pre-existing text that this PR does not touch, and an earlier revision added exactly this clarification before it was reverted to keep the change scoped to the edition and output size claims behind #4918.
On the substance you are right, but a header tweak would not do it justice. The passes differ: the hardware requirement bypasses are written during windowsPE, the account and OOBE behavior during oobeSystem, and the AppX, registry, scheduled task and OneDrive work runs at first logon. Describing all of it as first-logon staging is what the previous revision got wrong, and it was raised in review as well. That needs the three phases documented separately across the guide and the architecture page.
AGENTS.md section 6 also asks not to improve adjacent docs unless required, so I would rather leave this for the follow-up pass than half-fix it here.
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/src/content/docs/code-reference/architecture.mdx (1)
172-182: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winMake WIM operations conditional on driver injection.
The implementation preserves the original install image without mounting, exporting, or modifying it when
$injectDriversis false. The documentation presents mounting, offline hive work, and dismounting as unconditional steps.
docs/src/content/docs/code-reference/architecture.mdx#L172-L182: show these operations only when driver injection is enabled.docs/src/content/docs/code-reference/architecture.mdx#L145-L145: describe normal execution as media preparation, with WIM mounting only for driver injection.docs/src/content/docs/guides/win11creator.mdx#L75-L75: make the slow WIM dismount warning conditional.docs/src/content/docs/guides/win11creator.mdx#L139-L139: make the troubleshooting entry conditional.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/src/content/docs/code-reference/architecture.mdx` around lines 172 - 182, Update the documentation to reflect that WIM operations occur only when driver injection is enabled: in docs/src/content/docs/code-reference/architecture.mdx lines 172-182, conditionally group mounting, offline hive work, and dismounting under driver injection; at line 145, describe normal execution as media preparation with WIM mounting only for driver injection; in docs/src/content/docs/guides/win11creator.mdx lines 75 and 139, make the slow dismount warning and troubleshooting entry conditional on driver injection.docs/src/content/docs/guides/win11creator.mdx (2)
51-51: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAlign AppX removal claims with the implementation.
The implementation contains 19 AppX package patterns. Copilot is disabled by policy. It is not removed as an AppX package. The current “40+” and Copilot removal wording is inaccurate.
docs/src/content/docs/guides/win11creator.mdx#L51-L51: replace the 40+ count and remove Copilot from the removal list.docs/src/content/docs/code-reference/architecture.mdx#L146-L146: document the implemented AppX package scope.docs/src/content/docs/code-reference/architecture.mdx#L174-L174: use the same package-removal wording in the data flow.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/src/content/docs/guides/win11creator.mdx` at line 51, Update the AppX removal claims to match the 19 implemented package patterns and exclude Copilot, which is policy-disabled rather than removed. In docs/src/content/docs/guides/win11creator.mdx:51-51, replace the “40+” count and remove Copilot from the list; in docs/src/content/docs/code-reference/architecture.mdx:146-146, document the implemented 19-package scope; and at architecture.mdx:174-174, use the same package-removal wording in the data flow.
73-73: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winDisallow driver injection for
install.esdsources.The copy step passes
sources/<sourceImageFileName>directly, soinstall.esdflows callInjectCurrentSystemDriverswith an ESD file;Invoke-WinUtilISOScriptthen throws and aborts ISO creation before export. Block or fail fast before copying for ESD when injection is enabled.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/src/content/docs/guides/win11creator.mdx` at line 73, Update the driver-injection flow described in docs/src/content/docs/guides/win11creator.mdx:73-73 and docs/src/content/docs/code-reference/architecture.mdx:147-147, 261-263 to block or fail fast before copying when the source image is install.esd and injection is enabled. Ensure install.esd never reaches InjectCurrentSystemDrivers, while preserving injection for install.wim sources.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/src/content/docs/code-reference/architecture.mdx`:
- Around line 269-272: Replace the fixed disk-space estimates in
docs/src/content/docs/code-reference/architecture.mdx lines 269-272 and 198, and
docs/src/content/docs/guides/win11creator.mdx lines 17 and 115, with one
source-relative capacity model matching the documented ~5-6 GB copy workflow;
state that additional headroom is required only when driver injection mounts and
commits the WIM, and keep cleanup guidance consistent across all four sites.
---
Outside diff comments:
In `@docs/src/content/docs/code-reference/architecture.mdx`:
- Around line 172-182: Update the documentation to reflect that WIM operations
occur only when driver injection is enabled: in
docs/src/content/docs/code-reference/architecture.mdx lines 172-182,
conditionally group mounting, offline hive work, and dismounting under driver
injection; at line 145, describe normal execution as media preparation with WIM
mounting only for driver injection; in
docs/src/content/docs/guides/win11creator.mdx lines 75 and 139, make the slow
dismount warning and troubleshooting entry conditional on driver injection.
In `@docs/src/content/docs/guides/win11creator.mdx`:
- Line 51: Update the AppX removal claims to match the 19 implemented package
patterns and exclude Copilot, which is policy-disabled rather than removed. In
docs/src/content/docs/guides/win11creator.mdx:51-51, replace the “40+” count and
remove Copilot from the list; in
docs/src/content/docs/code-reference/architecture.mdx:146-146, document the
implemented 19-package scope; and at architecture.mdx:174-174, use the same
package-removal wording in the data flow.
- Line 73: Update the driver-injection flow described in
docs/src/content/docs/guides/win11creator.mdx:73-73 and
docs/src/content/docs/code-reference/architecture.mdx:147-147, 261-263 to block
or fail fast before copying when the source image is install.esd and injection
is enabled. Ensure install.esd never reaches InjectCurrentSystemDrivers, while
preserving injection for install.wim sources.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 058f2193-b9ea-4377-863d-a41c626da3db
📒 Files selected for processing (2)
docs/src/content/docs/code-reference/architecture.mdxdocs/src/content/docs/guides/win11creator.mdx
|
You are right that the PR had drifted. It was opened for #4918 and then rewrote surrounding sections it had no business certifying, which is how it ended up presenting all of that as reviewed. I have reverted it back to the claims that actually caused #4918: the strip-editions and component store bullets, the two data flow lines, and the modified ISO size, plus a note explaining why the output is not smaller. Everything else is back to the original text. |
mewclouds
left a comment
There was a problem hiding this comment.
Thanks for narrowing this down. The current changes address #4918 and correctly explain why the output ISO is no longer smaller.
There’s still a broader Win11 Creator docs update needed to match the refactored workflow. Since I worked on that refactor, I’ll take care of it separately. Approving this for the scope described.
Great |
Type of Change
Description
#4862 removed the
Export-WindowsImagestep and the component store cleanup, so the creator no longer strips unused editions or shrinks the image. The selected edition is applied throughsources\ei.cfgandautounattend.xmlinstead, and the output ISO stays close to the size of the source. The docs still promised the old savings, which is what #4918 ran into.This only touches the claims that promised a size reduction or edition removal:
Everything else in the Win11 Creator docs is left as it was. An earlier revision of this PR rewrote more of the section; that has been reverted, since the rest of it needs its own review rather than being carried along here.
Verified with
npm run buildindocs/(111 pages, no errors).Issue related to PR