In this article, I will present a migration or version upgrade for Windows 10 or Windows 11.

I do not use patch management for this for the following reasons:

  • I like to customize my sources (at a minimum, adding netfx3)
  • I often need to manage multiple languages

Therefore, I will use a distribution package, which will allow me to handle drivers via the Portal Manager and control my deployments.

Version Upgrade

Prerequisites

To begin:

  • We will need Windows 10 or Windows 11 sources
  • A serial number if not using VL sources (KMS)

Error with Multiple Languages

  • If the ISO language does not match the OS language, the setup will not migrate your applications.
  • You may also see this type of error message (warning)

Multi-Language Sources

To create a multi-language ISO, you can:

Installation Scripts

https://github.com/DavidWuibaille/Repository/tree/main/Windows/Windows10/ScriptUpgradeBatch

  • upgrade_Install.cmd => main script
  • upgrade_setupcomplete.cmd => end of migration script
  • upgrade_GetPendingReboot.cmd => script to check for pending reboots
  • upgrade_GetWim.cmd => secondary script to list the install.wim indexes
  • upgrade_Cleanup.cmd => secondary script to clean up (free up disk space)

Distribution Package

upgrade_Install.cmd

This script should be adapted to your needs.

For multi-language use (with indexes), modify the following:

Set IndexWIM=0
IF /I %culture% EQU en-US Set IndexWIM=1
IF /I %culture% EQU es-ES Set IndexWIM=2
IF /I %culture% EQU fr-FR Set IndexWIM=3
IF /I %culture% EQU it-IT Set IndexWIM=4
IF /I %culture% EQU pt-PT Set IndexWIM=5

For single-language use, remove /installfrom and /imageindex:

"%SourceISO%setup.exe" /quiet /EULA accept /NoReboot /auto Upgrade /installdrivers c:\drivers /DynamicUpdate Disable /postoobe "%SourceISO%upgrade_setupcomplete.cmd"

Note: The /EULA accept option is related to Windows 11; for Windows 10, this option is not necessary.

Creating the EPM Package

  • We will create a simple batch deployment task containing the Windows 10 sources.
  • Do not forget the “Additional files”
  • Also add the Windows 10 logos for the Workspace

Scheduled Tasks

Overview

I will create 3 tasks:

  • A task for caching
  • A task for the Application Portal => simplifies pilot systems
  • A standard deployment task

Reboot Management

  • In the agent configurations, I created a configuration to force reboot requests. Options available:
    • Add a specific message for this migration
    • Manage automatic reboots for users not logged in
  • In the deployment tasks (except the pre-cache task), select reboot management

Caching Tasks

  • Create a first task for caching the sources on the systems

Application Portal Task

  • Create a second task to display Windows 10/11 in the Application Portal

=> Display in the workspace

Standard Deployment Task

  • The last task will be used for deployment.