Skip to content

docs: correct Win11 Creator behavior after the ISO workflow refactor - #4920

Merged
ChrisTitusTech merged 3 commits into
ChrisTitusTech:mainfrom
vyas-devgna:docs/win11creator-edition-behavior
Aug 9, 2026
Merged

docs: correct Win11 Creator behavior after the ISO workflow refactor#4920
ChrisTitusTech merged 3 commits into
ChrisTitusTech:mainfrom
vyas-devgna:docs/win11creator-edition-behavior

Conversation

@vyas-devgna

@vyas-devgna vyas-devgna commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Type of Change

  • New feature
  • Bug fix
  • Documentation update
  • Refactor
  • UI/UX improvement

Description

#4862 removed the Export-WindowsImage step and the component store cleanup, so the creator no longer strips unused editions or shrinks the image. The selected edition is applied through sources\ei.cfg and autounattend.xml instead, 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:

  • the strip-editions and component store bullets in the guide
  • the matching two lines in the architecture data flow and function list
  • the modified ISO size in the data flow and the disk space block
  • a short note in the guide explaining why the output is not smaller

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 build in docs/ (111 pages, no errors).

Issue related to PR

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.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Clarified that unused Windows editions remain in install.wim.
    • Documented how sources\ei.cfg and autounattend.xml select the target edition during setup.
    • Updated ISO size guidance to reflect output sizes close to the source ISO.
    • Revised modified ISO disk-space estimates accordingly.
    • Removed outdated guidance about removing unused editions and cleaning the component store.

Walkthrough

The Win11 Creator documentation no longer states that unused Windows editions or the component store are removed. It now explains that editions remain in install.wim, setup selects the target edition, and the output ISO remains close to the source size.

Changes

Win11 Creator documentation

Layer / File(s) Summary
ISO modification flow and size guidance
docs/src/content/docs/code-reference/architecture.mdx
The architecture reference removes component-store cleanup and selected-edition export steps. It updates the output ISO size guidance to remain close to the source ISO size.
Edition retention and setup selection
docs/src/content/docs/guides/win11creator.mdx
The guide states that unused editions remain in install.wim. It documents target-edition selection through sources\ei.cfg and autounattend.xml.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: christitustech, seanh1995

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The documentation addresses issue #4918 by explaining why unused editions remain and why the output ISO stays near the source size.
Out of Scope Changes check ✅ Passed The changes are limited to documentation claims directly related to the Win11 Creator ISO workflow and issue #4918.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly identifies a documentation correction for Win11 Creator behavior after the ISO workflow refactor.
Description check ✅ Passed The description accurately explains the documentation changes, their relation to the ISO workflow refactor, and the linked issue.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot 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.

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

📥 Commits

Reviewing files that changed from the base of the PR and between f7c0723 and 7fcaec1.

📒 Files selected for processing (2)
  • docs/src/content/docs/code-reference/architecture.mdx
  • docs/src/content/docs/guides/win11creator.mdx

Comment thread docs/src/content/docs/code-reference/architecture.mdx
Comment thread docs/src/content/docs/guides/win11creator.mdx Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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".

Comment thread docs/src/content/docs/guides/win11creator.mdx Outdated
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.
@mewclouds

Copy link
Copy Markdown
Contributor

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 documentation says WinUtil removes “40+ bloat apps” and includes Copilot as an example. The implementation contains 19 AppX package-name patterns. Copilot is disabled through policy, its package is not removed. The documentation should distinguish app removal from policy-based disabling and avoid claiming a removal count the implementation does not support.

  • Driver injection is described as generally available, but it only works when the source contains install.wim. If the ISO uses install.esd, enabling driver injection terminates the modification with an error because ESD images are not serviced in place. This limitation should be documented in the guide, architecture, and troubleshooting sections.

  • WinUtil does not validate that an ISO is an official or unmodified Microsoft image. It validates that the selected file can be mounted as an image, contains install.wim or install.esd, and exposes image metadata containing “Windows 11.” A custom or previously modified ISO can satisfy those checks. The docs can say official Microsoft ISOs are the only supported input, but they should not claim WinUtil verifies provenance or rejects modified images. The stated 4 GB minimum is also not enforced by the implementation, the file size is only displayed.

  • The documented USB layout is incorrect. It explicitly creates a primary basic-data partition and formats it as FAT32, capped at 32 GB on larger drives. It does not create or designate a 512 MB EFI System Partition. The guide and architecture both currently describe a partition that does not exist.

  • The architecture still combines multiple setup phases into a single “applied on first logon” description. Hardware requirement bypasses are written during windowsPE, account and OOBE behavior is configured during oobeSystem, and AppX removal, registry customization, scheduled-task deletion, and OneDrive removal run at first logon. These phases matter and should be documented separately, especially now that the changes are no longer baked into the offline image.

  • “Disable OneDrive folder backup” is not an accurate description of the final state. The added post-install script sets DisableFileSyncNGSC to 1, but the existing first-logon script runs afterward and resets it to 0. OneDrive is uninstalled, but the documented persistent folder-backup policy is not left in place.

  • Work-session recovery is overstated. The code finds the newest WinUtil temporary directory containing iso_contents and exposes the export step. It does not record or verify that copying and modification completed successfully, so it cannot safely “recover incomplete work” in the general sense.

  • The claim that all registry changes are reversible is unsupported. Original values are not captured, and the workflow also removes packages and scheduled-task definitions. “Scripted” or “auditable” would be accurate, “reversible” is not.

The change that directly addresses #4918 is correct: unused editions remain in the install image, the selected edition is applied through ei.cfg and the unattended image index, and the resulting ISO stays close to the source size. However, this PR updates the broader guide and architecture as though they now describe the current implementation, while several substantial factual errors remain. Those should be corrected before merging.

@mewclouds mewclouds 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.

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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.

@coderabbitai coderabbitai Bot 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.

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 win

Make WIM operations conditional on driver injection.

The implementation preserves the original install image without mounting, exporting, or modifying it when $injectDrivers is 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 win

Align 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 win

Disallow driver injection for install.esd sources.

The copy step passes sources/<sourceImageFileName> directly, so install.esd flows call InjectCurrentSystemDrivers with an ESD file; Invoke-WinUtilISOScript then 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

📥 Commits

Reviewing files that changed from the base of the PR and between 0d6e68a and cb3d01f.

📒 Files selected for processing (2)
  • docs/src/content/docs/code-reference/architecture.mdx
  • docs/src/content/docs/guides/win11creator.mdx

Comment thread docs/src/content/docs/code-reference/architecture.mdx
@vyas-devgna

Copy link
Copy Markdown
Contributor Author

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 mewclouds 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.

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.

@vyas-devgna

Copy link
Copy Markdown
Contributor Author

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

@ChrisTitusTech
ChrisTitusTech merged commit d64bb18 into ChrisTitusTech:main Aug 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Windows 11 Creator seems to not remove unused editions

4 participants