Sysprepping a customized image on a VM

If you want to make it work, first try what Baz said, and if it's not what you're looking for, do a Google search for Windows unattend.xml and read the first dozen links. Just to clarify though, I don't recommend doing this right now, because you're still overcomplicating things.

You need to step back, go do some guides to learn, then take that knowledge and revisit your goals. A lot of what you are doing right now isn't the right approach. I'm not saying that disrespectfully, rather you're biting off way more than you can chew, and we're troubleshooting stuff that doesn't need to be solved, since they're self-created problems. Just because you can do something in Windows, doesn't mean you should.
 
Last edited:
Just to clarify though, I still don't recommend doing this right now.

You're still overcomplicating things, this is what Garlin is trying to get across. You need to step back, go do my 3 guides, then take that knowledge and revisit your end-goals. A lot of what you are doing right now isn't the right approach. And I'm not saying that disrespectfully, rather you're biting off way more than you can chew right now. We're troubleshooting stuff that doesn't need to be troubleshooted, it's self-created problems. Just because you "can" do something in Windows, doesn't mean you should, or need to.
I'm just trying to learn. Like I have my own beginner homelab in another room, Azure lets you have this simulated Enterprise IT Environment for 3 months for free which lets you learn a lot. And I'm going to keep on learning. But I get what you mean, and also Garlin. But still I MUST figure this stuff out, I am restless
 
Right, but at this moment in time, you are basically trying to learn by skipping the first 4 years of Windows education and going straight into your Masters program. You must start at square one, and put in the time to get your Associate and Bachelor first. That's literally the reason I made my guides, because you are the millionth person to approach it this way.

Essentially, you're wasting time, and not just your time (10 hours without results like you said), but also our time too. We really don't mean it to sound offensive, but what we're saying is a lot of your threads wouldn't exist if you took our advice, because those issues would not have manifested if you approached it differently. In this thread alone there's literally a dozen totally different topics, which proves our point.

- System Restore
- Unattend
- Windows Tweaks
- NTLite
- Sysprep
- Macrium
- Drivers
- Virtual Machine
 
Last edited:
Stop fannying around with a vm, direct to hardware.

Sysprep and capture can break because of 2 things,
WMPNetwork sharing service must be stopped during sysprep.
Scheduled Task - Disk Cleanup set to Disabled, this can(has in my case) break capture because it is cleaning up winsxs and (g)image(x) will throw a shitfit and give you a "files in use" error.

The way i do it is installed untouched iso, sysprep at oobe, install updates, make sure wmpnetworking serfvice is Stopped, Disk Cleanup task is Disabled, Sysprep. Capture using whichever way you like, dism or gimagex. Then you drag into NTLite which works very well on a captured wim.

Learn to capture before you start pricking around with other stuff. Carry on as you are you'll be at it from arsehole till breakfast time, you'll drink gallons of coffee your hair will turn grey and you'll find yourself screaming profanities an awful lot.
 
Last edited:
Stop fannying around with a vm, direct to hardware.

Sysprep and capture can break because of 2 things,
WMPNetwork sharing service must be stopped during sysprep.
Scheduled Task - Disk Cleanup set to Disabled, this can(has in my case) break capture because it is cleaning up winsxs and (g)image(x) will throw a shitfit and give you a "files in use" error.

The way i do it is installed untouched iso, sysprep at oobe, install updates, make sure wmpnetworking serfvice is Stopped, Disk Cleanup task is Disabled, Sysprep. Capture using whichever way you like, dism or gimagex. Then you drag into NTLite which works very well on a captured wim.

Learn to capture before you start pricking around with other stuff. Carry on as you are you'll be at it from arsehole till breakfast time, you'll drink gallons of coffee your hair will turn grey and you'll find yourself screaming profanities an awful lot.
Basically currently the only problem I have is this:

I sysprepped without issues on a VM. I captured the WIM file and put it in the windows ISO's Sources folder. At this point, I want NTLite to make the Windows ISO only ask me to create a local and online MS account. However, the problem is: In NTLite I had every MS question (in Unattended) set to 'Skip' (so 'True') except for the SkipOOBEMachine and SkipOOBEUser (so basically the local and online user accounts) because I had them left blank (grey circle). However, when I saved everything and saved the image as an ISO file, I opened it, launched the Unattended.xml file in NotePad and realized that even tho I had set the 2 SkipOOBE settings to be left blank, somehow instead the .xml file said 'True' so basically as if I had set them to 'True' too but obviously that's not the case. And even when I manually rewrote those 2 settings, setting them to 'False' instead of 'True', and then booted into the .ISO, it still asked me all the MS questions! I can't wrap my head around this
 
Basically currently the only problem I have is this:

However, the problem is: In NTLite I had every MS question (in Unattended) set to 'Skip' (so 'True') except for the SkipOOBEMachine and SkipOOBEUser (so basically the local and online user accounts) because I had them left blank (grey circle). However, when I saved everything and saved the image as an ISO file, I opened it, launched the Unattended.xml file in NotePad and realized that even tho I had set the 2 SkipOOBE settings to be left blank, somehow instead the .xml file said 'True' so basically as if I had set them to 'True' too but obviously that's not the case. And even when I manually rewrote those 2 settings, setting them to 'False' instead of 'True', and then booted into the .ISO, it still asked me all the MS questions! I can't wrap my head around this
If you edit the autounattend in notepad, remove those lines instead of set it to false.

In NTLite's Unattended page:
On the top (Toolbar) check the checkboxes about "Copy to install image..."

I guess there is an unattend.xml in "%windir%\panther" that makes you pull out your hair out of the head.
 
This isn't that hard. First, decide if you believe in SkipMachineOOBE & SkipUserOOBE.

While both are deprecated in W10-11, they're completely functional. If you decide to use them, it's UP TO YOU to set the correct registry keys for the other bypassed Settings.

autounattend for (unedited) 21H2 Home & Pro:
Code:
        <settings pass="oobeSystem">
                <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <InputLocale>0409:00000409</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
                        <UILanguageFallback>en-US</UILanguageFallback>
                        <UserLocale>en-US</UserLocale>
                </component>
                <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <TimeZone>Pacific Standard Time</TimeZone>
                        <OOBE>
                                <HideEULAPage>true</HideEULAPage>
                                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                                <NetworkLocation>Work</NetworkLocation>
                                <ProtectYourPC>3</ProtectYourPC>
                        </OOBE>
                        <UserAccounts>
                                <LocalAccounts>
                                </LocalAccounts>
                        </UserAccounts>
                </component>
        </settings>

If you haven't disabled/removed Cortana, and want to bypass the OOBE Cortana screens, then integrate this reg key:
https://docs.microsoft.com/en-us/an...let-cortana-help-you-get-things-done34-d.html

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"AllowCortana"=dword:00000000

For those who want Cortana working, restore the service by removing this key in Post-Setup.
 
This isn't that hard. First, decide if you believe in SkipMachineOOBE & SkipUserOOBE.

While both are deprecated in W10-11, they're completely functional. If you decide to use them, it's UP TO YOU to set the correct registry keys for the other bypassed Settings.

autounattend for (unedited) 21H2 Home & Pro:
Code:
        <settings pass="oobeSystem">
                <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <InputLocale>0409:00000409</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
                        <UILanguageFallback>en-US</UILanguageFallback>
                        <UserLocale>en-US</UserLocale>
                </component>
                <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <TimeZone>Pacific Standard Time</TimeZone>
                        <OOBE>
                                <HideEULAPage>true</HideEULAPage>
                                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                                <NetworkLocation>Work</NetworkLocation>
                                <ProtectYourPC>3</ProtectYourPC>
                        </OOBE>
                        <UserAccounts>
                                <LocalAccounts>
                                </LocalAccounts>
                        </UserAccounts>
                </component>
        </settings>

If you haven't disabled/removed Cortana, and want to bypass the OOBE Cortana screens, then integrate this reg key:
https://docs.microsoft.com/en-us/an...let-cortana-help-you-get-things-done34-d.html

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"AllowCortana"=dword:00000000

For those who want Cortana working, restore the service by removing this key in Post-Setup.
Okay so if I only want to be shown the Create A User Account Screen, then do I set those 2 lines ''HideLocalAccountScreen'' and ''Hide OnlineAccountScreen'' to 'false' or do I remove them entirely?
 
This isn't that hard. First, decide if you believe in SkipMachineOOBE & SkipUserOOBE.

While both are deprecated in W10-11, they're completely functional. If you decide to use them, it's UP TO YOU to set the correct registry keys for the other bypassed Settings.

autounattend for (unedited) 21H2 Home & Pro:
Code:
        <settings pass="oobeSystem">
                <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <InputLocale>0409:00000409</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
                        <UILanguageFallback>en-US</UILanguageFallback>
                        <UserLocale>en-US</UserLocale>
                </component>
                <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <TimeZone>Pacific Standard Time</TimeZone>
                        <OOBE>
                                <HideEULAPage>true</HideEULAPage>
                                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                                <NetworkLocation>Work</NetworkLocation>
                                <ProtectYourPC>3</ProtectYourPC>
                        </OOBE>
                        <UserAccounts>
                                <LocalAccounts>
                                </LocalAccounts>
                        </UserAccounts>
                </component>
        </settings>

If you haven't disabled/removed Cortana, and want to bypass the OOBE Cortana screens, then integrate this reg key:
https://docs.microsoft.com/en-us/an...let-cortana-help-you-get-things-done34-d.html

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"AllowCortana"=dword:00000000

For those who want Cortana working, restore the service by removing this key in Post-Setup.
Maybe this has to do with my problem

It says that the unattended.xml file will be deleted in Windows/Panther. Maybe that's the cause?
 

Attachments

  • NTLiteIssue.png
    NTLiteIssue.png
    51.5 KB
Your attention to detail is tragic. Read the warning above it.
But above you're talking about Cortana. I do not care about it. I care about skipping everything except for the prompt for the user to create their local and online MS account. So are you saying I would be prompted to create them if I completely remove the 2 'OOBE-lines' and left the 'HideLocalUserScreen' and 'HideOnlineUserScreen' on 'false' (since I do want to be asked to create a local and MS online account)?
 
'defaultuser0' észlelt, győződjön meg arról, hogy a rendszerkép megfelelően általánossá lett-e a sysprep
 
'defaultuser0' észlelt, győződjön meg arról, hogy a rendszerkép megfelelően általánossá lett-e a sysprep
Okay I have a better question. So if I have to delete a registry key for the OOBE settings in Unattended to work... why is that? Isn't the Unattended.xml file supposed to work on its own without the need to delete a registry key? If I fucked up something, which has made this deletion of this reg key necessary in the first place, then what was it? I wanna learn from my mistake
 
:OI

Enter what ISO you need and what should be done there !?
I will do it to you faster than you will understand!
 
:OI

Enter what ISO you need and what should be done there !?
I will do it to you faster than you will understand!
no, you don't understand. When I used the sysprepped (in the vm) install.WIM file (I had captured in WindowsPE on the same VM that's how I had grabbed it from the VM onto my physical machine), and put it in the default Windows.ISO's Sources folder and deleted install.esd (so only install.wim - my custom one from the VM - was left), the unattended.xml file I had created in NTLite as part of this NTLite.ISO was left ignored by Windows upon installation of this NTLite ISO. Why did the sysprep'd install.wim from the VM make the unattended.xml go ignored???
 
Read my previous reply.

If you can´t read, you can´t achieve whatever you want.
Oh yeah I forgot to add I had tried what you had suggested, but it did not work out. I had tried the copy to install image option and also the install to boot image and also both at the same time, none of these 3 worked.
 
Mount the images (all editions in all .wim's)
Find the unattended.xml and remove them all.
In the root folder (the folder containing the folder called sources), check the autounattend.xml and that there is not any unattend.xml inside the iso or flash drive (if working with).

Other mistake that I had earlier was using an xml for the wrong architecture but that shouldn't be your case if creating a new with NTLite.

I always copy a prebuilt autounattend.xml file to the root folder.
If you want to try interating a reg file to disable pages instead:

Don´t know if the xml overwrite this but it works if this information is not set in any custom unattended xml setup file.
Code:
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE]
"HideOnlineAccountScreens"=dword:00000001
"HideEULAPage"=dword:00000001
"SkipMachineOOBE"=dword:00000001
"HideWirelessSetupInOOBE"=dword:00000001
"NetworkLocation"="Home"
"ProtectYourPC"=dword:00000003
"SkipUserOOBE"=dword:00000001
"HideLocalAccountScreen"=dword:00000001
 
Other mistake that I had earlier was using an xml for the wrong architecture but that shouldn't be your case if creating a new with NTLite.
Don't forget you can select the Dual architecture option from Unattended's Toolbar, and make it universal.
 
Back
Top