I understand there are better methods available, but I wanted to share this as there has been no use for this developer console until now. The targeted users of this guide are those who need a quick workaround. Its not aimed at technical users who know there are better alternatives. Edit: Just saw the updated comment now let me read through it. Ignore the above
You have 2 interesting file's in data folder Look at them If you can control the flaw to ignore stage of check internet connection ..
I have not thought about this to be honest and I haven't attempted it. I am interested if that will affect anything. The restart command indexes the available flows and runs the specified flow if found in the navigation.json file. This is the syntax of the command: Code: WinJS.Application.restart("ms-cxh://{Flow}?start={CXID}") So for example if you wanted to directly skip to the OobeLocal CXID, you can run it with the URI ms-cxh://frxinclusive?start=OobeLocal. Frxinclusive is the flow that is used by default in the setup. Please note the CXHID is case sensitive. If you want to test this without a clean image, just type that uri into a run window and it will simulate the OOBE.
I want to be honest with you I was gatekeeping my knowledge about the syntax. I just didn't want to reveal it initially unless this screen was to get patched.
I was referring to what I mentioned in the previous comment. No files need to be patched to perform the commands.
Correct. Not all of these CXIDs run though. When each page is completed, it goes to the next successID. There are cxhidsthat cover MDM and Autopilot Provisioning and are triggered if required from the Getting Device Ready screens after connecting to wifi.
so. if we change it. maybe the successID part. only. Code: "OobeKeyboard": { "cxid": "OobeKeyboard", "frameAnimation": "keyboardLottie.json", "preloadCheck": "CloudExperienceHostAPI.OobeKeyboardManagerStaticsCore", "url": "ms-appx-web:///webapps/inclusiveOobe/view/OobeKeyboard-main.html", "timeout": 60000, "successID": "OobeLocal", "failID": "OobeLocal", "cancelID": "OobeLocal", "abortID": "OobeLocal", "disableBackNavigationToNode": true, "visibility": false }, --------- Search & Replace. .\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy\data\prod\navigation.json Code: : "OobeWireless", To. : "OobeLocal", --------- if we skip OobeWireless stage. we skip updates ... sound a great idea.
It will need to be all of them but yes it should skip straight to the local screen. I have not been able to find a way to invoke a change like this this in the JS Console though. Only just through the WinJS command
19041 - navigation.json Code: "OobeKeyboard": { "cxid": "OobeKeyboard", "frameAnimation": "keyboardLottie.json", "url": "ms-appx-web:///webapps/inclusiveOobe/view/OobeKeyboard-main.html", "successID": "OobeEula", "failID": "OobeEula", "cancelID": "OobeEula", "abortID": "OobeEula", "visibility": false }, "OobeWireless": { "cxid": "OobeWireless", "frameAnimation": "wifiLottie.json", "hostedApplicationLaunchArguments": "CloudExperienceHost.Environment.GetWiFiHostedApplicationArgumentsWcosDefaults", "launcher": "js:HostedApplication", "hostedApplicationProtocol": "ms-oobenetwork:", "appUserModelId": "Microsoft.Windows.OOBENetworkConnectionFlow_cw5n1h2txyewy!App", "successID": "OobeEula", "failID": "OobeEula", "cancelID": "OobeEula", "action1ID": "OobeCaptivePortal", "disableBackNavigationToNodeOnSuccess": true }, "OobeEula": { "cxid": "OobeEula", "frameAnimation": "eulaLottie.json", "url": "ms-appx-web:///webapps/AOobe/view/oobeeula-a.html", "successID": "OobeSettings", "failID": "OobeSettings", "cancelID": "OobeSettings", "abortID": "OobeSettings", "visibility": false },
I gave this an attempt and it was successful. However, modifying the files wasn't easy as it is TrustedInstaller protected. This can already be done with the steps in my original post. If you wanted to just use the regular UI instead, it as simple as changing the command to WinJS.Application.restart("ms-cxh://frxinclusive?start=OobeLocal")
@Dark Dinosaur My apologies, I replied to the wrong section. This was the only change I made. The reason why search and replace all fails is because you are also replacing names of references. The reason it wouldn't work is because there would then be 2 sets of OobeLocal and the installer can't figure out what is what. Code: "OobeKeyboard": { "successID": "OobeLocal", "failID": "OobeLocal", "cancelID": "OobeLocal", "abortID": "OobeLocal", },