Stuck at "Checking the connection to the Microsoft"

Al_user_al

New Member
I'm trying to install Windows 11 Pro for Workstations v22631.3007 bypassing the setup of a Microsoft account and any Internet connections during this process. For setting up an ISOimage I use NTLite.

Several days ago (with the help of the forum) I was able to do this for Windows 11 Home edition: I deleted OOBENetworkCaptivePortal and OOBENetworkConnectionFlow and created an unattended local account (all these tricks were made because OOBE\BYPASSNRO didn't work).

Now, if I do the similar setup, i.e., delete these two components and adding local user and some other additions (see below), I'm getting stuck at "Checking the connection to the Microsoft" after the Keyboard layout choice. And nothing happens...

As mentioned, besides local account I have these setting in autounattended:
<OOBE>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
</OOBE>

Does somebody know what triggers this behaviour and page to appear (I read somewhere that this is triggered by some Internet connectivity check process, but haven't seen it in components)? How can I go through it? Are there any way of bypassing this problem?

Thanks in advance.

Mod Note: Merging duplicate threads.
 
Last edited by a moderator:
I'm trying to install Windows 11 Pro for Workstations v22631.3007 bypassing the setup of a Microsoft account and any Internet connections during this process. For setting up an ISOimage I use NTLite.

Several days ago (with the help of the forum) I was able to do this for Windows 11 Home edition: I deleted OOBENetworkCaptivePortal and OOBENetworkConnectionFlow and created an unattended local account (all these tricks were made because OOBE\BYPASSNRO didn't work).

Now, if I do the similar setup, i.e., delete these two components and adding local user and some other additions (see below), I'm getting stuck at "Checking the connection to the Microsoft" after the Keyboard layout choice. And nothing happens...

As mentioned, besides local account I have these setting in autounattended:
<OOBE>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
</OOBE>

Does somebody know what triggers this behaviour and page to appear (I read somewhere that this is triggered by some Internet connectivity check process, but haven't seen it in components)? How can I go through it? Are there any way of bypassing this problem?

Thanks in advance.

P.S. I accidentally post a similar question under the wrong thread hierarchy, apologies for it.
 
Can you share your NTLite preset, after removing (or changing) the user password and license key? There's either a bad combination in your Unattended settings, or you're trying add a non-standard Keyboard layout where OOBE has to connect back to MS.

I haven't seen this before, so it's not an expected problem.
 
Can you share your NTLite preset, after removing (or changing) the user password and license key? There's either a bad combination in your Unattended settings, or you're trying add a non-standard Keyboard layout where OOBE has to connect back to MS.

I haven't seen this before, so it's not an expected problem.
Hi, garlin ,

What kind of steps should I follow to get the NTLite preset requested? Do you want to see the autounattended file or smth else?

Rn, I just delete those two OOBE Network components and use basic license key during setup.
 
There's several paths in order to create a Local User:
1. Create a local user in Unattended mode.
2. Use Unattended mode, but don't provide a local user so the user can pick their own.
3. Don't use Unattended mode, but provide for BypassRNO in the image, so the user can pick their own.

Please attach the NTLite preset, as the autounattend.xml is automatically created from the preset (unless you've edited it).
 
Please attach the NTLite preset, as the autounattend.xml is automatically created from the preset (unless you've edited it).
Attaching the file here. But note that I also tried to do the installation without using autounattended file at all (so I only deleted OOBE Network Components and included Dell Precision 5570 drivers) and still got stuck at the same "Checking the connection ..." page. Therefore, I'm not sure it's autounattended that causes the problem...
 

Attachments

  • autounattend.xml
    1.9 KB
Here's an example from my autounattend.xml (root of iso) that creates a local user account with a more richly populated OOBE section. It creates a local user account named "User" with auto-login (requires pass in that scenario)

Code:
            <AutoLogon>
                <Password>
                    <Value>123</Value>
                    <PlainText>true</PlainText>
                </Password>
                <Enabled>true</Enabled>
                <LogonCount>9999999</LogonCount>
                <Username>User</Username>
            </AutoLogon>
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <ProtectYourPC>3</ProtectYourPC>
                <NetworkLocation>Home</NetworkLocation>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <SkipMachineOOBE>true</SkipMachineOOBE>
                <SkipUserOOBE>true</SkipUserOOBE>
                <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
            </OOBE>
            <TimeZone>Central Standard Time</TimeZone>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>123</Value>
                    <PlainText>true</PlainText>
                </AdministratorPassword>
                <LocalAccounts>
                    <LocalAccount wcm:action="add">
                        <Password>
                            <Value>123</Value>
                            <PlainText>true</PlainText>
                        </Password>
                        <Description>User Account</Description>
                        <DisplayName>User</DisplayName>
                        <Group>Administrators</Group>
                        <Name>User</Name>
                    </LocalAccount>
                </LocalAccounts>
            </UserAccounts>

To prevent expiry of password (aka Windows not forcing you to change password at intevals) a script such as this can be run at firstlogon stage

Code:
@echo off
wmic path Win32_UserAccount set PasswordExpires=False
wmic UserAccount set PasswordExpires=False
cls
 
There are three paths to bypassing the MSA requirement:

1. Create a local user in Unattended mode.
2. Use Unattended mode, but don't name a local user and allow the user to choose. This requires BypassRNO setting integrated into the image, and removing the OOBENetwork components.
3. Don't use Unattended mode, and follow the previous steps.

For W10/11 releases, Skip*OOBE is considered deprecated and should be avoided (it still works for compatibility). The reason it's bad is it overrides all Hide Screeen settings, and you must create the default user (and not leave it blank).
 
Here's an example from my autounattend.xml (root of iso) that creates a local user account with a more richly populated OOBE section. It creates a local user account named "User" with auto-login (requires pass in that scenario)

To prevent expiry of password (aka Windows not forcing you to change password at intevals) a script such as this can be run at firstlogon stage
Hi, thanks a lot for the suggestions, I’ll try them (but still it looks like the problem might be in something else).

And I have a few questions before I try this:
1) the password “123” is a placeholder for the hash of the real password?
2) what is auto login? Does it mean it wouldn’t you password?
3) to run the script you sent on the firstlogon, what does it mean? To run it during the OOBE? Or after everything is successful and I get into the system?

Thanks in advance.
 
There are three paths to bypassing the MSA requirement:

1. Create a local user in Unattended mode.
2. Use Unattended mode, but don't name a local user and allow the user to choose. This requires BypassRNO setting integrated into the image, and removing the OOBENetwork components.
3. Don't use Unattended mode, and follow the previous steps.

For W10/11 releases, Skip*OOBE is considered deprecated and should be avoided (it still works for compatibility). The reason it's bad is it overrides all Hide Screeen settings, and you must create the default user (and not leave it blank).
Step 1. I included in one of my trials, but I also deleted OOBENetwork components. The only question is how can I be sure that BypassNRO setting are included into the image?
And what do you mean by do not using the unattended mode, but follow the previous steps?

I’ll try three of these options and see where I get.
 
No, "123" is just an example password. Yes, I included that section in case you want to create a local user with automatic login. In my case this is added mainly because there are various reboots actuated by my autounattend.xml where automated tasks are performed, but in general I also prefer this behavior for my installs.

The script in my case runs in automated fashion via a custom setupcomplete.cmd (named differently) that gets called from autounattend.xml -- this is just my specific scenario as I use iso overlay templates (iso folder structure with various scripts, reg tweaks, automated tasks, etc.) so this is not NTLite-specific as I only use NTLite to create the install.wim.

I believe it was (at least) Win10 1903 where some issues were encountered when both Skip*OOBE instances were not present (I think it only required skipmachine if I remember correctly), but you can try removing these from the /OOBE section whilst leaving the others. For local account creation and hiding all OOBE screens it does however work as quoted but feel free to test this.

In other words, start simple and add only some of the /OOBE settings that are required by you or that you prefer and go from there.
 
Last edited:
To prevent expiry of password (aka Windows not forcing you to change password at intevals) a script such as this can be run at firstlogon stage

Code:
@echo off
wmic path Win32_UserAccount set PasswordExpires=False
wmic UserAccount set PasswordExpires=False
cls
There's no need to run this from FirstLogon, you can insert a pre-made command from Post-Setup.
(Unless you're already comfortable with Unattended scripting.)

1705789102548.png
 
No, "123" is just an example password. Yes, I included that section in case you want to create a local user with automatic login. In my case this is added mainly because there are various reboots actuated by my autounattend.xml where automated tasks are performed, but in general I also prefer this behavior for my installs.

The script in my case runs in automated fashion via a custom setupcomplete.cmd (named differently) that gets called from autounattend.xml -- this is just my specific scenario as I use iso overlay templates (iso folder structure with various scripts, reg tweaks, automated tasks, etc.) so this is not NTLite-specific as I only use NTLite to create the install.wim.

I believe it was (at least) Win10 1903 where some issues were encountered when both Skip*OOBE instances were not present (I think it only required skipmachine if I remember correctly), but you can try removing these from the /OOBE section whilst leaving the others. For local account creation and hiding all OOBE screens it does however work as quoted but feel free to test this.

In other words, start simple and add only some of the /OOBE settings that are required by you or that you prefer and go from there.
Hi Pater,

I actually tried to set an unattended settings as you provided in XML file (i.e., skipping all OOBE steps), and it HELPED. Finally, I was able to install Windows 11 Pro using this and there just was no OOBE at all. But still interested, if I would need this again, you would suggest to delete SkipMachineOOBE from XML (i.e., so only SkipUserOOBE is set to TRUE), right?

Another thing that I noticed is that even though I was unpacking Windows 11 Pro for Workstations, somehow in Settings it's shown that I have Windows 11 Pro only. Can it be checked somehow in a different way which installation I have?

And thanks for the proposed solution!:)
 
Back
Top