├── .gitignore
├── App.config
├── AppIcon.ico
├── AppIcon.png
├── LICENSE
├── MSAPatcher.csproj
├── MSAPatcher.sln
├── Program.cs
├── Properties
└── AssemblyInfo.cs
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Ww][Ii][Nn]32/
27 | [Aa][Rr][Mm]/
28 | [Aa][Rr][Mm]64/
29 | bld/
30 | [Bb]in/
31 | [Oo]bj/
32 | [Ll]og/
33 | [Ll]ogs/
34 |
35 | # Visual Studio 2015/2017 cache/options directory
36 | .vs/
37 | # Uncomment if you have tasks that create the project's static files in wwwroot
38 | #wwwroot/
39 |
40 | # Visual Studio 2017 auto generated files
41 | Generated\ Files/
42 |
43 | # MSTest test Results
44 | [Tt]est[Rr]esult*/
45 | [Bb]uild[Ll]og.*
46 |
47 | # NUnit
48 | *.VisualState.xml
49 | TestResult.xml
50 | nunit-*.xml
51 |
52 | # Build Results of an ATL Project
53 | [Dd]ebugPS/
54 | [Rr]eleasePS/
55 | dlldata.c
56 |
57 | # Benchmark Results
58 | BenchmarkDotNet.Artifacts/
59 |
60 | # .NET Core
61 | project.lock.json
62 | project.fragment.lock.json
63 | artifacts/
64 |
65 | # ASP.NET Scaffolding
66 | ScaffoldingReadMe.txt
67 |
68 | # StyleCop
69 | StyleCopReport.xml
70 |
71 | # Files built by Visual Studio
72 | *_i.c
73 | *_p.c
74 | *_h.h
75 | *.ilk
76 | *.meta
77 | *.obj
78 | *.iobj
79 | *.pch
80 | *.pdb
81 | *.ipdb
82 | *.pgc
83 | *.pgd
84 | *.rsp
85 | # but not Directory.Build.rsp, as it configures directory-level build defaults
86 | !Directory.Build.rsp
87 | *.sbr
88 | *.tlb
89 | *.tli
90 | *.tlh
91 | *.tmp
92 | *.tmp_proj
93 | *_wpftmp.csproj
94 | *.log
95 | *.tlog
96 | *.vspscc
97 | *.vssscc
98 | .builds
99 | *.pidb
100 | *.svclog
101 | *.scc
102 |
103 | # Chutzpah Test files
104 | _Chutzpah*
105 |
106 | # Visual C++ cache files
107 | ipch/
108 | *.aps
109 | *.ncb
110 | *.opendb
111 | *.opensdf
112 | *.sdf
113 | *.cachefile
114 | *.VC.db
115 | *.VC.VC.opendb
116 |
117 | # Visual Studio profiler
118 | *.psess
119 | *.vsp
120 | *.vspx
121 | *.sap
122 |
123 | # Visual Studio Trace Files
124 | *.e2e
125 |
126 | # TFS 2012 Local Workspace
127 | $tf/
128 |
129 | # Guidance Automation Toolkit
130 | *.gpState
131 |
132 | # ReSharper is a .NET coding add-in
133 | _ReSharper*/
134 | *.[Rr]e[Ss]harper
135 | *.DotSettings.user
136 |
137 | # TeamCity is a build add-in
138 | _TeamCity*
139 |
140 | # DotCover is a Code Coverage Tool
141 | *.dotCover
142 |
143 | # AxoCover is a Code Coverage Tool
144 | .axoCover/*
145 | !.axoCover/settings.json
146 |
147 | # Coverlet is a free, cross platform Code Coverage Tool
148 | coverage*.json
149 | coverage*.xml
150 | coverage*.info
151 |
152 | # Visual Studio code coverage results
153 | *.coverage
154 | *.coveragexml
155 |
156 | # NCrunch
157 | _NCrunch_*
158 | .*crunch*.local.xml
159 | nCrunchTemp_*
160 |
161 | # MightyMoose
162 | *.mm.*
163 | AutoTest.Net/
164 |
165 | # Web workbench (sass)
166 | .sass-cache/
167 |
168 | # Installshield output folder
169 | [Ee]xpress/
170 |
171 | # DocProject is a documentation generator add-in
172 | DocProject/buildhelp/
173 | DocProject/Help/*.HxT
174 | DocProject/Help/*.HxC
175 | DocProject/Help/*.hhc
176 | DocProject/Help/*.hhk
177 | DocProject/Help/*.hhp
178 | DocProject/Help/Html2
179 | DocProject/Help/html
180 |
181 | # Click-Once directory
182 | publish/
183 |
184 | # Publish Web Output
185 | *.[Pp]ublish.xml
186 | *.azurePubxml
187 | # Note: Comment the next line if you want to checkin your web deploy settings,
188 | # but database connection strings (with potential passwords) will be unencrypted
189 | *.pubxml
190 | *.publishproj
191 |
192 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
193 | # checkin your Azure Web App publish settings, but sensitive information contained
194 | # in these scripts will be unencrypted
195 | PublishScripts/
196 |
197 | # NuGet Packages
198 | *.nupkg
199 | # NuGet Symbol Packages
200 | *.snupkg
201 | # The packages folder can be ignored because of Package Restore
202 | **/[Pp]ackages/*
203 | # except build/, which is used as an MSBuild target.
204 | !**/[Pp]ackages/build/
205 | # Uncomment if necessary however generally it will be regenerated when needed
206 | #!**/[Pp]ackages/repositories.config
207 | # NuGet v3's project.json files produces more ignorable files
208 | *.nuget.props
209 | *.nuget.targets
210 |
211 | # Microsoft Azure Build Output
212 | csx/
213 | *.build.csdef
214 |
215 | # Microsoft Azure Emulator
216 | ecf/
217 | rcf/
218 |
219 | # Windows Store app package directories and files
220 | AppPackages/
221 | BundleArtifacts/
222 | Package.StoreAssociation.xml
223 | _pkginfo.txt
224 | *.appx
225 | *.appxbundle
226 | *.appxupload
227 |
228 | # Visual Studio cache files
229 | # files ending in .cache can be ignored
230 | *.[Cc]ache
231 | # but keep track of directories ending in .cache
232 | !?*.[Cc]ache/
233 |
234 | # Others
235 | ClientBin/
236 | ~$*
237 | *~
238 | *.dbmdl
239 | *.dbproj.schemaview
240 | *.jfm
241 | *.pfx
242 | *.publishsettings
243 | orleans.codegen.cs
244 |
245 | # Including strong name files can present a security risk
246 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
247 | #*.snk
248 |
249 | # Since there are multiple workflows, uncomment next line to ignore bower_components
250 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
251 | #bower_components/
252 |
253 | # RIA/Silverlight projects
254 | Generated_Code/
255 |
256 | # Backup & report files from converting an old project file
257 | # to a newer Visual Studio version. Backup files are not needed,
258 | # because we have git ;-)
259 | _UpgradeReport_Files/
260 | Backup*/
261 | UpgradeLog*.XML
262 | UpgradeLog*.htm
263 | ServiceFabricBackup/
264 | *.rptproj.bak
265 |
266 | # SQL Server files
267 | *.mdf
268 | *.ldf
269 | *.ndf
270 |
271 | # Business Intelligence projects
272 | *.rdl.data
273 | *.bim.layout
274 | *.bim_*.settings
275 | *.rptproj.rsuser
276 | *- [Bb]ackup.rdl
277 | *- [Bb]ackup ([0-9]).rdl
278 | *- [Bb]ackup ([0-9][0-9]).rdl
279 |
280 | # Microsoft Fakes
281 | FakesAssemblies/
282 |
283 | # GhostDoc plugin setting file
284 | *.GhostDoc.xml
285 |
286 | # Node.js Tools for Visual Studio
287 | .ntvs_analysis.dat
288 | node_modules/
289 |
290 | # Visual Studio 6 build log
291 | *.plg
292 |
293 | # Visual Studio 6 workspace options file
294 | *.opt
295 |
296 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
297 | *.vbw
298 |
299 | # Visual Studio 6 auto-generated project file (contains which files were open etc.)
300 | *.vbp
301 |
302 | # Visual Studio 6 workspace and project file (working project files containing files to include in project)
303 | *.dsw
304 | *.dsp
305 |
306 | # Visual Studio 6 technical files
307 | *.ncb
308 | *.aps
309 |
310 | # Visual Studio LightSwitch build output
311 | **/*.HTMLClient/GeneratedArtifacts
312 | **/*.DesktopClient/GeneratedArtifacts
313 | **/*.DesktopClient/ModelManifest.xml
314 | **/*.Server/GeneratedArtifacts
315 | **/*.Server/ModelManifest.xml
316 | _Pvt_Extensions
317 |
318 | # Paket dependency manager
319 | .paket/paket.exe
320 | paket-files/
321 |
322 | # FAKE - F# Make
323 | .fake/
324 |
325 | # CodeRush personal settings
326 | .cr/personal
327 |
328 | # Python Tools for Visual Studio (PTVS)
329 | __pycache__/
330 | *.pyc
331 |
332 | # Cake - Uncomment if you are using it
333 | # tools/**
334 | # !tools/packages.config
335 |
336 | # Tabs Studio
337 | *.tss
338 |
339 | # Telerik's JustMock configuration file
340 | *.jmconfig
341 |
342 | # BizTalk build output
343 | *.btp.cs
344 | *.btm.cs
345 | *.odx.cs
346 | *.xsd.cs
347 |
348 | # OpenCover UI analysis results
349 | OpenCover/
350 |
351 | # Azure Stream Analytics local run output
352 | ASALocalRun/
353 |
354 | # MSBuild Binary and Structured Log
355 | *.binlog
356 |
357 | # NVidia Nsight GPU debugger configuration file
358 | *.nvuser
359 |
360 | # MFractors (Xamarin productivity tool) working folder
361 | .mfractor/
362 |
363 | # Local History for Visual Studio
364 | .localhistory/
365 |
366 | # Visual Studio History (VSHistory) files
367 | .vshistory/
368 |
369 | # BeatPulse healthcheck temp database
370 | healthchecksdb
371 |
372 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
373 | MigrationBackup/
374 |
375 | # Ionide (cross platform F# VS Code tools) working folder
376 | .ionide/
377 |
378 | # Fody - auto-generated XML schema
379 | FodyWeavers.xsd
380 |
381 | # VS Code files for those working on multiple tools
382 | .vscode/*
383 | !.vscode/settings.json
384 | !.vscode/tasks.json
385 | !.vscode/launch.json
386 | !.vscode/extensions.json
387 | *.code-workspace
388 |
389 | # Local History for Visual Studio Code
390 | .history/
391 |
392 | # Windows Installer files from build outputs
393 | *.cab
394 | *.msi
395 | *.msix
396 | *.msm
397 | *.msp
398 |
399 | # JetBrains Rider
400 | *.sln.iml
401 |
--------------------------------------------------------------------------------
/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/AppIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/builtbybel/MSAPatcher/20ccd09e6864f06aef7387e6cfb1a17014ff2a3d/AppIcon.ico
--------------------------------------------------------------------------------
/AppIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/builtbybel/MSAPatcher/20ccd09e6864f06aef7387e6cfb1a17014ff2a3d/AppIcon.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Builtbybel
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/MSAPatcher.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {F212BF63-AFDD-434B-ABBA-384A82B20314}
8 | Exe
9 | MSAPatcher
10 | MSAPatcher
11 | v4.8.1
12 | 512
13 | true
14 | true
15 |
16 |
17 | x64
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 | AppIcon.ico
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/MSAPatcher.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.13.35919.96
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSAPatcher", "MSAPatcher.csproj", "{F212BF63-AFDD-434B-ABBA-384A82B20314}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {F212BF63-AFDD-434B-ABBA-384A82B20314}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {F212BF63-AFDD-434B-ABBA-384A82B20314}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {F212BF63-AFDD-434B-ABBA-384A82B20314}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {F212BF63-AFDD-434B-ABBA-384A82B20314}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {F8CE97EF-DED8-4BEE-94E5-C58B0CF6413B}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Security.Principal;
6 |
7 | namespace MSAPatcher
8 | {
9 | internal class Program
10 | {
11 | static void Main(string[] args)
12 | {
13 | Console.WriteLine("Welcome to MSAPatcher!");
14 | Console.WriteLine("This application allows you to bypass the network requirement during Windows 11 setup.");
15 | Console.WriteLine("Additionally, it will copy the required files to your USB drive if necessary.");
16 | Console.WriteLine("Please choose the method you want to use:");
17 | Console.WriteLine("1. Classic BypassNRO - This method creates a patched USB stick that must be plugged into the PC during the Windows 11 setup welcome screen. It modifies a registry key to bypass the network requirement.");
18 | Console.WriteLine("2. Direct Local Account Creation (Windows 11 Home/Pro Only)");
19 | Console.WriteLine("3. Visit the github page for more information and updates.");
20 | Console.Write("Enter your choice (1, 2 or 3): ");
21 |
22 | string choice = Console.ReadLine();
23 | if (choice == "1")
24 | {
25 | CopyFilesToUSB();
26 | ApplyBypassNRO();
27 | }
28 | else if (choice == "2")
29 | {
30 | CreateLocalAccount();
31 | }
32 | else if (choice == "3")
33 | {
34 | Process.Start("https://github.com/builtbybel/MSAPatcher");
35 |
36 | }
37 | else
38 | {
39 | Console.WriteLine("Invalid choice. Exiting...");
40 | }
41 | }
42 |
43 | static void CopyFilesToUSB()
44 | {
45 | string usbDrive = GetUsbDrive();
46 | if (!string.IsNullOrEmpty(usbDrive))
47 | {
48 | try
49 | {
50 | string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
51 | string batchFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bypassnro.cmd");
52 | string targetBatchPath = Path.Combine(usbDrive, "bypassnro.cmd");
53 | string targetAppPath = Path.Combine(usbDrive, "MSAPatcher.exe");
54 |
55 | if (!File.Exists(targetBatchPath) || !File.Exists(targetAppPath))
56 | {
57 | Console.WriteLine("Copying files to USB drive...");
58 | File.Copy(batchFilePath, targetBatchPath, true);
59 | File.Copy(appPath, targetAppPath, true);
60 | Console.WriteLine($"Files successfully copied to: {usbDrive}");
61 | }
62 | else
63 | {
64 | Console.WriteLine("Files already exist on USB drive. Skipping copy.");
65 | }
66 | }
67 | catch (Exception ex)
68 | {
69 | Console.WriteLine($"Error copying files: {ex.Message}");
70 | }
71 | }
72 | else
73 | {
74 | Console.WriteLine("No USB drive detected.");
75 | }
76 | }
77 |
78 | static void ApplyBypassNRO()
79 | {
80 | if (!IsAdministrator())
81 | {
82 | Console.WriteLine("Please run as administrator!");
83 | RestartAsAdmin();
84 | return;
85 | }
86 |
87 | try
88 | {
89 | ProcessStartInfo psi = new ProcessStartInfo
90 | {
91 | FileName = "cmd.exe",
92 | Arguments = "/c reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OOBE\" /v BypassNRO /t REG_DWORD /d 1 /f",
93 | UseShellExecute = true,
94 | Verb = "runas"
95 | };
96 | Process process = Process.Start(psi);
97 | process.WaitForExit();
98 | Console.WriteLine("BypassNRO successfully set!");
99 | }
100 | catch (Exception ex)
101 | {
102 | Console.WriteLine($"Error: {ex.Message}");
103 | }
104 | AskForRestart();
105 | }
106 |
107 | static void CreateLocalAccount()
108 | {
109 | try
110 | {
111 | ProcessStartInfo psi = new ProcessStartInfo
112 | {
113 | FileName = "cmd.exe",
114 | Arguments = "/c start ms-cxh:localonly",
115 | UseShellExecute = true
116 | };
117 | Process.Start(psi);
118 | Console.WriteLine("Local account creation process started.");
119 | }
120 | catch (Exception ex)
121 | {
122 | Console.WriteLine($"Error: {ex.Message}");
123 | }
124 | }
125 |
126 | static void AskForRestart()
127 | {
128 | Console.WriteLine("\nSetup is complete. Do you want to restart the computer now? (Y/N)");
129 | string response = Console.ReadLine();
130 | if (response?.Trim().ToUpper() == "Y")
131 | {
132 | Process.Start("shutdown", "/r /t 0");
133 | }
134 | }
135 |
136 | static bool IsAdministrator()
137 | {
138 | using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
139 | {
140 | WindowsPrincipal principal = new WindowsPrincipal(identity);
141 | return principal.IsInRole(WindowsBuiltInRole.Administrator);
142 | }
143 | }
144 |
145 | static void RestartAsAdmin()
146 | {
147 | ProcessStartInfo psi = new ProcessStartInfo
148 | {
149 | FileName = Process.GetCurrentProcess().MainModule.FileName,
150 | Verb = "runas",
151 | UseShellExecute = true
152 | };
153 | try
154 | {
155 | Process.Start(psi);
156 | }
157 | catch (Exception ex)
158 | {
159 | Console.WriteLine($"Error restarting as admin: {ex.Message}");
160 | }
161 | }
162 |
163 | static string GetUsbDrive()
164 | {
165 | var drives = DriveInfo.GetDrives()
166 | .Where(d => d.DriveType == DriveType.Removable && d.IsReady)
167 | .Select(d => d.Name)
168 | .FirstOrDefault();
169 | return drives;
170 | }
171 | }
172 | }
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Allgemeine Informationen über eine Assembly werden über die folgenden
6 | // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
7 | // die einer Assembly zugeordnet sind.
8 | [assembly: AssemblyTitle("MSAPatcher")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("A Belim app creation")]
12 | [assembly: AssemblyProduct("MSAPatcher")]
13 | [assembly: AssemblyCopyright("Copyright © 2025")]
14 | [assembly: AssemblyTrademark("Builtbybel")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
18 | // für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
19 | // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
20 | [assembly: ComVisible(false)]
21 |
22 | // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
23 | [assembly: Guid("f212bf63-afdd-434b-abba-384a82b20314")]
24 |
25 | // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
26 | //
27 | // Hauptversion
28 | // Nebenversion
29 | // Buildnummer
30 | // Revision
31 | //
32 | [assembly: AssemblyVersion("0.10.0")]
33 | [assembly: AssemblyFileVersion("0.10.0")]
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MSAPatcher
2 |
3 | With Microsoft’s recent Windows 11 updates, [the bypass for the network requirement (NRO) was "effectively" blocked](https://blogs.windows.com/windows-insider/2025/03/28/announcing-windows-11-insider-preview-build-26200-5516-dev-channel/) , forcing users into an online account creation. MSAPatcher brings back the simplicity of the bypassnro.cmd one-liner, allowing you to bypass the NRO without having to manually add registry keys or deal with complex workarounds.
4 |
5 | This app restores the original method, making it easier than ever to bypass the network requirement during the Windows 11 setup process. Now, you can simply execute a single command instead of dealing with convoluted registry changes.
6 |
7 | **MSAPatcher helps you bypass the network requirement during Windows 11 setup. Choose from two methods:**
8 |
9 | ---
10 |
11 | ## Method 1: Classic BypassNRO (Registry Key Method)
12 |
13 | 1. **Prepare the USB Stick**:
14 | - **Option 1A**: Manually copy `MSAPatcher.exe` and `bypassnro.cmd` to the root of your USB stick.
15 | - **Option 1B**: Run `MSAPatcher.exe` to automatically patch the USB stick (it will copy the necessary files).
16 |
17 | 2. **During Windows Setup**:
18 | - At the "Welcome" screen, **before connecting to the internet/Wi-Fi**, press Shift + F10 to open the Command Prompt
19 | - Switch to the USB drive (`D:` or `E:`).
20 | - Run `bypassnro.cmd`, **choose Option 1** to set the registry key and bypass the network requirement.
21 |
22 | 3. **Restart**:
23 | - After the process finishes, restart the PC (press **Y** when asked).
24 | - After rebooting, you can click the link "I don’t have internet" and continue with the local account installation.
25 |
26 | ---
27 |
28 | ## Method 2: Direct Local Account Creation
29 |
30 | 1. **Run `bypassnro.cmd`** at the "Welcome" screen.
31 | 2. **Choose Option 2** to trigger the local account creation screen directly (only for Windows 11 Home/Pro).
32 |
33 |
--------------------------------------------------------------------------------