Guide: Quality Control

Hellbovine

Well-Known Member
Messages
1,197
Reaction score
740
This guide contains information about how to efficiently pursue Windows and NTLite tweaking, resulting in a much higher quality image, free of bugs and quirks, saving you a ton of time and headache in the long run. These tips apply to all Windows operating systems.

PROCESSING ORDER
The order that things are processed in NTLite can affect the outcome, and you should apply tweaks in the following order.

1) Integrate Language Packs > Process.
2) Integrate Windows Updates > Process.
3) Remove Components > Process.
4) Integrate Drivers > Process.
5) Integrate Registry Modifications > Process.

It is okay to skip a step if unused, but never combine any of these steps to process all at once, and do not put them into a different order, or you may have issues. For example, if you remove a component then install an update, it can restore files back into the image that were previously removed. Similar problems happen with the other features listed too, so each of these steps must be processed individually to avoid conflicts.

The last bit of advice is to make sure the host and target computer use the same operating system. In other words, the computer that is running NTLite (host) should use the same Windows build as the image you are editing (target). This is because NTLite uses a Windows command (DISM) for removing components, and while it is backward compatible, it does not always go in the other direction.

INSIDERS AND PREVIEWS
The masses should never concern themselves with anything related to insider builds or preview updates. The only people that should be messing with these kinds of files are experienced beta testers, because these are unfinished Windows products that are not ready for official release to the public and Microsoft knows there may still be major bugs in them that need fixing.

If someone does not already have the skills necessary to figure out how to handle insider or preview scenarios, they are probably not qualified to be testing them, because Microsoft is only looking for skilled troubleshooters that can provide valuable feedback. By having a bunch of inexperienced people reporting issues it slows things down, since unskilled reports tend to be lacking in details, accuracy, and replicability.

In addition, those users then come to this forum to report broken presets and expect helpers to find a workaround to various problems, when it is really Microsoft that needs to address the bugs, and is also up to the masses to realize that they need to stop trying to use unfinished products to create their custom Windows with, as the consequences usually outweigh the benefits.

Another thing to consider, is that the NTLite tool also needs time to investigate new updates and figure out if anything needs to change in order to handle it properly, so people that live on the cutting edge of Windows builds will run into additional problems due to that as well.

TESTING IN LAYERS
It is best to divide your tweaking into layers and group things together according to similarity. In other words, if you are focusing on doing a lot of component removals and registry tweaks in NTLite, process an image that only has component removals and install that to make sure every individual tweak works properly, before trying to add other layers, such as registry tweaks. If you are not sure what a layer is, load an image into NTLite and look at the options on the left menu and you will see different sections to click on, all of which are layers.

On a related note, Sysprep is not needed by most people and is largely redundant with NTLite, and when users try to combine the two programs it leads to problems, because Sysprep has its own quirks that have to be figured out, and by adding NTLite into the mix it only compounds those issues. A virtual machine (VM) can also pose problems, because Windows does not fully treat a VM the same way it does a real install.

PROJECT WORKSPACE
File management is important to tweaking efficiency. An example of a good workspace would be to create an unmodified Windows image that has been converted to WIM and has extra editions trimmed, then save that folder to a backup drive as Image_1. Next, copy that folder to the desktop to create Image_2 and load the desktop files into NTLite to add a layer, which for me are my published tweaks, and process it. Now, add Image_2 to the backup drive, and do not modify these original folders any further.

Lastly, copy Image_2 to the desktop to create Image_3, by loading that into NTLite and adding a new registry file, which for me contains my unpublished tweaks, and process that. I then put the contents of this temporary Image_3 onto a USB drive, to install the customizations and see how they behave. It pays to have a productive workspace like this, since it woud consume too much time to repeat steps frequently, and is also beneficial in the event of an emergency, since backup images are always ready.

An example of how I use this workspace is if I need to test something on a default Windows, I'll copy the contents of Image_1 to a USB and install that, or if I need to test a new round of unpublished tweaks I load a copy of Image_2 into NTLite and process my new tweaks for a custom install. Using better file management concepts will make many aspects of tweaking faster and easier, such as the testing of layers.

USER ACCOUNTS
Make sure that all the tweaks apply to the first user created, and that nothing is overwritten by the operating system once you have reached the desktop. To test this, create a second user after you have reached the desktop, and login to that account to see if all of your tweaks applied there too. If your tweaks did not apply to the second user, then more than likely the method used for those tweaks are not the best approach. In most cases, you can get everything to apply to all users.

REGISTRY SNAPSHOTS
Registry comparison tools are extremely helpful in tweaking Windows. What they do is allow you to capture which registry keys change and to what value, when you toggle a Windows setting from on to off and vice versa. There is a hidden problem to consider when using these tools though, since there are places in Windows that will automatically pull numerous default keys and apply them to the same tree you are working on, and inexperienced users will capture all of these, resulting in extraneous keys.

You can see this for yourself in action if you go and create a registry snapshot with one of these tools, then toggle a setting, such as “Enable automatic crash recovery” inside the Advanced tab of the Internet Properties in the Control Panel, and save another snapshot. Compare the snapshots and you will notice there are many keys that were modified inside the Internet Settings registry tree, but you should not be using all those keys, because Windows is pulling the default keys and putting them in the tree you are manipulating.

To address this issue, toggle the “Enable automatic crash recovery” back the other direction and make another snapshot, then toggle the setting again and compare, to see that it now it only changes one key, and that is the key you actually need. This is how you should approach every registry setting in Windows to avoid ending up with unneeded keys.

ACTIVE INTERNET
While testing your tweaks it is best to do so without an internet connection, because Windows now has several self-healing capabilities that can cause issues along the way. For example, if you are online during the various setup phases, it will try to run Windows Update, Edge updates, Microsoft Store updates, and Defender updates. This will cause numerous registry keys and other files to be overwritten, thus overriding some of your tweaks. The same thing happens once the scheduled tasks eventually run, and that will cause everything to update again.

To combat this you would need to pause, disable, or uninstall these various features that try to update Windows. Having no internet is the best option for general testing though, because it is impossible for Windows to download anything, so there is guaranteed to be zero interference. Trying to ignore this issue and testing while Windows is actively fighting against you will be more difficult and take longer.

ANTIVIRUS AND FIREWALLS
Disable any antivirus and firewalls while using NTLite, since these can wreak havoc while building an image or downloading/installing updates, resulting in bugged and broken images. This happens due to corruption caused by these security features as they block or delete files that NTLite is manipulating. This situation will often occur silently, meaning the user is unaware, and it does not become clear there is a problem until an error appears while installing the image, or after trying to integrate an update and it fails.

KEEP IT SIMPLE
I cannot stress this enough, all solutions should be in the simplest and cleanest form whenever possible, and organized. I have read through countless solutions that were so unnecessarily complicated that I could not wrap my head around them or I knew there had to be a better way, which there usually is, because most computer issues naturally have multiple avenues they can be approached from.

For example, if a solution uses a lot of post-install commands and third party tools, I often find I can accomplish the same thing with just a few simple registry keys. Once you come up with a solution, take a step back and re-evaluate it, and see how complicated it would be to explain your solution to another person. If it is too difficult to explain, too much work to document it, or requires third party tools, that is a pretty good indicator that your solution is not simple or clean, and more than likely there is a better way to do it.

Keep in mind that most third party tools are really just toggling a registry key. You could use a registry comparison tool and capture these settings and quickly come to realize that a lot of those Windows tools are not doing nearly as complicated work in the background as you think they are, and instead you could integrate the keys directly into your image with NTLite and never have to use those other tools again.

DRIVER INSTALLATION
Bad drivers are a huge source of issues for many users, and this is because of Windows Update and third party "driver updating" tools. It is important to discuss this topic, since bad drivers can result in lower frame rates in games, DPC latency issues, errors, and crashing. Learning how to handle drivers the right way will greatly improve performance and stability.

I strongly recommend against using Windows Update or any third party tool to download drivers, because the hardware matching that they do is quite often incorrect, and you will end up with broken drivers. This issue has existed forever, on every computer I have owned or worked on, going all the way back to Windows XP. It should also be noted that a lot of these third party driver tools just scrape the Microsoft Catalog for drivers, replicating what Windows Update already does.

To give you real world examples, I have a custom built desktop that is old, and a brand new laptop. If I let Windows Update install drivers for both machines, it will download an extremely outdated Nvidia display driver for my desktop, which also comes with a broken Nvidia control panel (cannot open it), and my laptop will forcibly download an optional HP monitoring tool that is not required in any way for the laptop to function, and it generates an error on every reboot since it is bugged too.

The only way to solve these issues is to not allow Windows Update to download drivers automatically, and for you to get drivers from the official sources instead. Sometimes this can be difficult on an old computer because official sources will remove legacy drivers from their website over time, and in those cases you have to do some detective work to find the right driver from a trustworthy website that archives them. Be sure to save all your drivers somewhere, since it will only get harder to download them again in the future.

As a last piece of advice, there is no benefit from integrating drivers into an image, unless the drivers are no longer being updated by the manufacturer. The reasoning for this is because many drivers, such as graphics drivers, get updated frequently, and by time you go to use your custom image to install Windows again those integrated drivers are going to be outdated already.

POSTING GUIDES ONLINE
Do not post any tweaks to the forum that you have not actually tested yourself. This is why there are so many bad tweaks on the internet nowadays, because there is way too much copy/paste regurgitation from people that are not testing things and then they peddle those tweaks to others. Inexperienced people try to use these and run into issues, to which they come to forums like this one for help, and then members waste time trying to solve problems that should not exist.

Build things from the ground up properly, thoroughly test it all, and document everything along the way, regardless of whether you plan on posting your solutions online or not. In doing this, you will find that your work will be more polished, easier to maintain, and less difficult to revisit in the future thanks to the documentation which reminds you of what you were doing and why.

Visit the Gaming Lounge to find more guides like these.
 
Last edited:
- Added a new section titled, "Active Internet"
 
Last edited:
NTLite in licensed mode has an Updates download wizard, but you're free to use 3rd-party update downloader, or download KB's directly from Microsoft's Catalog site. Afterwards, you have to import the updates by folder or filename.

You can still integrate updates in free mode, it's just extra work. If you're in the habit of making ISO's over and over, or managing different Windows versions then licensing is a benefit.
 
When removing components is it also necessary to remove them from the boot.wim (Setup image) using Process>Reapply>Remove... ?
If NOT what's the actual use case for doing such action? thx
 
Last edited:
boot.wim (WinPE) is only used to launch Setup, and after the first reboot is no longer used. It's a stripped Windows image already missing all the user apps, and doesn't need component removals applied. Can you remove components from it? Not many, without breaking WinPE.

Instead WinPE is designed so optional WinPE components can be added like:
- Additional language support
- PowerShell functions
- Active Directory tools

While WinPE and normal Windows share the same code, they can't really swap packages and updates. Don't apply Windows updates to boot.wim, and you generally don't need to apply Settings changes (unless you need BypassTPM support).
 
Ok, one more q. when you mentioned "Settings" - is it OK to apply all of them in one go - I mean:
1) Load image
2) Set all the Settings parameters (even the W11 Setup Bypasses)
3) Check Process>Reapply>Settings>boot.wim

Or should this be done as two separate operations to modify each image independently (only with the appropriate Settings)?
 
You have the right idea. In general, don't randomly copy everything to boot.wim but it's fine if you wanted to skip the step of separately mounting boot.wim just to apply BypassTPM.

Settings are only reg keys, and whatever keys don't make sense to boot.wim, will be ignored when WinPE runs. Those keys are considered mostly harmless, where other non-Settings reg keys could mess up boot.wim.
 
This is an absolute ripper guide for the new NTLIte user. I would never have thought of many of these things. 'Testing in Layers' and 'Processing Order' are good examples.

So in practice, how is this achieved?
Do you test a layer then save it in Preset01, then test another layer and save it in Preset02 and so on?

Then, when it comes time for the final build, you process Preset01 and produce Build01, then run Preset02 on Build01 and produce Build02, run Preset03 etc? So each layer's changes are applied to the previous layer's build?
 
So in practice, how is this achieved?
I have some replies on the topic over here (link1, link2) to get you started.

The computer "workspace" is highly important for efficiency in a Windows tweaking environment, and I strongly urge people to spend several hours or more finding ways to optimize that. I'd have to think about my suggestions more, but the gist of what I do is that I have 2 internal SSD, and I put a Windows install on C: drive, while keeping my tweaking workspace on the D: drive.

When I reinstall Windows I reformat the main drive and leave the workspace drive alone, this way I have my tools, drivers, etcetera, ready to go when I hit the desktop. I do not ever use VM, since I firmly believe in testing in a real world environment, and because VM behave differently and it affects performance tweaking and benchmarking.

You're asking a lot of great questions, and I was updating all my guides in recent months to try to address these things better, until real life got too hectic. I keep planning for "next week" to be when I can start again, but things keep coming up. When I have a chance to get back to this, you've given me a lot of good ideas to pursue, and I'm going to sift through my more popular one-off replies I've made to other threads and incorporate that information into the relevant guides, so the topics are consolidated better and require less jumping around and forum searches.
 
Last edited:
More very useful info Hellbovine - thank you. I would be really floundering without all these guides.

Hellbovine said:
... I was updating all my guides in recent months ...

If you are planning a makeover of the whole lot, perhaps a numbering system would help readers work their way through them in a logical order. So if they search a phrase and land on "Guide 05.2", they immediately know this guide is part of a sequence and there were probably at least five more guides prior to this one. Reading them first might answer some questions and help fill in the gaps.
 
Good eye! It doesn't apply to my guides though, because I take the guesswork out of the equation for my readers, so all my projects already adhere to the quality control information found in this thread. Below, I discuss in more detail why the Optimized Image guide works without issue.
In the first 5 steps it has the user preparing Windows and NTLite for the job, integrates DefaultLayouts.xml and LayoutModification.xml, adds two registry keys to set the active power plan, then uninstalls components--which in this case is only OneDrive (optional step and requires a license). Next, the user is asked to process the image, while trimming editions and reapplying those 2 registry keys across everything. I do this, because the items in these 5 steps happen to be compatible, leaving all the other keys to be integrated later and processed separately.

This still meets all the Quality Control guide criteria, because none of it conflicts in the way I have it in the Optimized Image guide. However, if this was a random user on their own trying to just throw a bunch of stuff together all at once to process, then that can create lots of problems. The chances and severity of the issues tends to grow exponentially as more differing types of items are processed together.

I will revamp the Optimized Image instructions when I push the next update for it. Your question is a good one, and relevant for people that want to also do more component removals than me, and I don't directly address that in the guide as I should. Currently, I only discuss it in the Choosing a Preset guide, which recommends people do major removals first, such as processing the GamerOS before applying my guide on top of that.
 
Last edited:
I want to integrate the preview update, in this case should I select both or just the preview?
The preview file has a higher version and date, so it will replace the older cumulative update, meaning only one of those downloads is needed. The masses shouldn't be using any insider or preview builds though, because they are intended for beta testers. I've added a new section about insiders and previews into the guide, since this is a great question and a frequently asked one too.
 
Last edited:
KB5044384 is a preview CU but is not intended for "testers / Insider"
It is present in the Windows catalog and is an optional CU

Just needed to integrate 5043080 (checkpoint) and this 5044384 in the image, that's all

And it all depends on the version of the image used
If it is the image (ISO) downloaded from the MS site (26100.1742) then just 5044384 is needed
 
Last edited:
Back
Top