Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/flick9000/winscript/llms.txt

Use this file to discover all available pages before exploring further.

The Unattended Setup tab in Winscript lets you generate a complete autounattend.xml answer file that drives a fully automated Windows installation. Before generating the file, make sure you have already selected the Winscript tweaks you want applied — those selections are what get embedded in the XML and executed automatically at first logon.

Hardware Requirement Bypass

Windows 11 enforces minimum hardware requirements — TPM 2.0, Secure Boot, 4 GB RAM, a supported CPU, and 64 GB storage — at install time. Winscript bypasses all of these by injecting registry values under HKLM\SYSTEM\Setup\LabConfig during the windowsPE phase, before any check can block the installation. The following five RunSynchronousCommand entries are written into the windowsPE settings pass:
reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f
reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f
reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f
reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f
Each value is a REG_DWORD set to 1. Setting all five means Windows Setup will not reject the installation regardless of the hardware it finds. This is useful for installing Windows 11 on older machines that lack TPM or Secure Boot support.

OOBE Configuration

The oobeSystem pass includes a <OOBE> block that suppresses the most common interactive screens that would otherwise pause an automated installation:
SettingValueEffect
HideEULAPagetrueSkips the Windows license agreement screen — EULA is considered accepted
HideWirelessSetupInOOBEtrueSkips the Wi-Fi network selection screen during OOBE
HideOnlineAccountScreenstrueSuppresses the Microsoft account sign-in prompt, allowing a local account to be used
ProtectYourPC3Selects the minimal diagnostics option — sends the least data to Microsoft during setup
Setting HideOnlineAccountScreens to true alone is not sufficient to guarantee a local account on Windows 11 — this is why Winscript also sets the BypassNRO registry value (via Specialize.ps1) which prevents Windows from forcing an online account even when no network is available.

Embedded Scripts

Rather than referencing external script files, Winscript embeds everything the installation needs directly inside the XML in a custom Extensions block. This means the autounattend.xml file is entirely self-contained — no additional files need to be placed on the USB drive alongside it. The Extensions element uses the urn:winscript:unattend XML namespace and contains three <File> elements, each with a path attribute pointing to where the script will be written on the target system:
FileDestinationPurpose
winscript.ps1C:\Windows\Setup\Scripts\winscript.ps1Your selected Winscript tweaks — generated from the main app
Specialize.ps1C:\Windows\Setup\Scripts\Specialize.ps1Pre-OOBE configuration: disables Cloud Content, sets BypassNRO, disables Windows Update
FirstLogon.ps1C:\Windows\Setup\Scripts\FirstLogon.ps1Post-OOBE: re-enables network adapters, restores Windows Update, runs winscript.ps1
An inline ExtractScript PowerShell scriptblock — also stored in the Extensions block — is called during the specialize phase. It reads each <File> element, resolves the destination path, and writes the file to disk using the appropriate encoding before the subsequent scripts are executed.

Generating and Using the File

1

Select your Winscript tweaks

In the main Winscript interface, check all the debloat, privacy, performance, and miscellaneous options you want applied to the new Windows installation. You can also apply a preset — Basic, Strict, or Extreme — as a starting point.
2

Switch to the Unattended Setup tab

Click the Unattended Setup tab (labeled Create Autounattend in the script panel). Your current selections are what will be embedded in the generated file.
3

Click Create to generate the file

Click the Create button. Winscript opens a save dialog defaulting to autounattend.xml. Choose a location and save the file.
4

Place the file on a Windows installation USB

Copy autounattend.xml to the root directory of the Windows installation USB drive — the same level as setup.exe. The Windows Setup engine automatically discovers answer files placed here.
5

Boot from the USB drive

Insert the USB drive into the target machine and boot from it. Windows Setup will detect the answer file immediately and begin a fully automated installation.
6

Wait for first logon

Setup proceeds without any prompts: hardware checks are bypassed, the OOBE screens are skipped, and FirstLogon.ps1 runs automatically on the first boot to the desktop — re-enabling the network, restoring Windows Update, and applying all of your Winscript configuration.

Build docs developers (and LLMs) love