Every installation media of Windows 10, including DVD disks and ISO images, comes with the Windows 10 Setup program, or setup.exe. This little program supports a number of command line arguments. Using them, you can manage the Windows installation process at very early stage and change it the way you want.
The setup program can be used to install or upgrade Windows. You can run in the existing Windows 10 instance or in a previous Windows version like Windows 7 or Windows 8.
Windows 10 Setup.exe Command Line Arguments
The Windows 10 Setup program supports the following options.
Switch: /auto
Parameters : Upgrade; DataOnly; Clean
Action : Automate install with migration choice for the installation.
The media setup UI and progress screens are shown by default, but are automated.
This switch also assumes the following default configurations :
EULA acceptance, Dynamic Update is enabled, telemetry collection and upload opt – in, OOBE will be skipped, PBR will be updated or created.
Example : setup.exe /auto upgrade
setup.exe /quiet
Parameters : N /A
Action : The quiet flag will suppress any setup UX, including rollback UX
Example : setup.exe /auto upgrade /quiet
setup.exe /pkey
Parameters : 5×5 product key
Action : Supplies setup with the specified product key.
This parameter is not necessary when upgrading with volume licensed media or media that contains a pid.txt in the sources folder.
Example : setup.exe /auto upgrade /pkey ABC12-DEF34-GHI56-JKL78-MNP90
setup.exe /showoobe
Parameters : Full; None
Action : When /showoobe is set to Full, the end user must interactively complete OOBE.
Alternatively, when /showoobe is set to None, OOBE is skipped and components are set to their default settings.
Example : setup.exe /auto upgrade /showoobe full
setup.exe /noreboot
Parameters : N /A
Action : Setup will not automatically reboot the PC when it completes down – level OS tasks.
The next time the PC is rebooted, setup will continue.
Example : setup.exe /auto upgrade /noreboot
setup.exe /DynamicUpdate
Parameters : Enable; Disable
Action : Specifies whether setup will perform Dynamic Update operations (search, download, and install updates).
Example : setup.exe /auto upgrade /DynamicUpdate disable
setup.exe /Postoobe \setupcomplete.cmd
Parameters : Local file path or UNC network path to a file named setupcomplete.cmd
Action : Injects setupcomplete.cmd file from the specified location.
Setupcomplete.cmd is a customized script to perform tasks after the installation completes but before first user login.
It is run with System privileges.
Example : setup.exe /auto upgrade /postoobe c:\script\setupcomplete.cmd
setup.exe /Postrollback
Parameters : Local file path or UNC network path to a file named setuprollback.cmd
Action : Injects setuprollback.cmd file from the specified location.
Setuprolback.cmd is a customized script to perform tasks after the installation fails and the PC has rolled back to its previous OS.
It is run with the same privileges as the user or process that launched setup.
Example : setup.exe /auto upgrade /postrollback \MyShare\script\setuprollback.cmd
setup.exe /installfrom
Parameters : Local file path or network path to a specific.wim
Action : Specifies location for installation source media /files
Example : setup.exe /auto clean /installfrom d:\myWim\customwim.wim
setup.exe /PBRUpdate
Parameters : Enable; Disable
Action : When /PBRUpdate is set to Enable, setup will update or create the PBR partition.
Conversely, when /PBRUpdate is set to Disable, setup will not update or create the PBR partition
Example : setup.exe /auto upgrade /PBRupdate disable
setup.exe /migratealldrivers
Parameters : All; None
Action : When /migratealldrivers is set to All, setup will attempt to migrate all drivers as part of the installation.
In contrast, when /migratealldrivers is set to None, setup will not migrate anydrivers as part of the installation.
NOTE: this switch should only be used in testing and test envoriments.It should not be used in production.
Example : setup.exe /auto upgrade /migratealldrivers none
setup.exe /installdrivers
Parameters : Local file path or UNC network path to a folder that contains.inf files
Action : Setup will inject all driver.infs found in the specified location during the installation process.
Setup will recursively search through all the subfolders of the specified location.
Example : setup.exe /auto upgrade /installdrivers c:\myUpgrade\drivers
setup.exe /Telemetry
Parameters : Enable; Disable
Action : When /Telemetry is set to Enable, setup will collect and upload telemetry generated by the installation.
However, when /Telemetry is set to Disable, setup will not collect and upload installation – related telemetry.
Example : setup.exe /auto upgrade /Telemetry enable
setup.exe /copylogs
Parameters : Local file paths and UNC network paths
Action : Upon failure, setup will copy or upload compressed logs to the specified location.
Please note that the PC and /or user must have permission and network access to the specified file path.
This command runs in the system context so may not have permissions to copy to locations that require user permissions
Example : setup.exe /auto upgrade /copylogs \MyShare\UpgradeLogs
Here are some usage examples.
An admin wants to upgrade the departments PCs from Windows 7 Enterprise overnight. He does not want the setup user interface to appear, but he does want the end users to manually go through the Out of box experience(known as OOBE) experience.
The following command line can be used to orchestrate the full upgrade to Windows vNext, requiring user input only once the machine reaches OOBE :
Setup.exe /auto upgrade /quiet /showoobe full
Alternatively, a deployment engineer may want to collect logs and other diagnostic information from test PCs in the event of a failure.
The following command line instructs setup invoke the setuprollback.cmd script after an installation failure :
Setup.exe /auto upgrade /installdrivers c:\myUpgrade\drivers /postrollback c:\setuprollback.cmd
Know more switches? Do not hesitate to drop a comment!