Is it possible to compare two images of W10 in NTLite?

lenkarin

Active Member
Messages
142
Reaction score
27
Hi,

I have a question, may the advanced users of NTLite can answer, is possible to load 2 images of windows 10 and them compare the images?
For example Load image 1 and them load image 2 and click compare ? or I need to load one image and see what the image has and them unload and load image 2 and see if the components are the same?
 
Best would be using presets, and recently it's much deeper with the switch:
ntlite.exe /forcelistcomponents /saveallstates

Newer way below.

After starting the tool with those switches, load a first image, just on the Source page choose Preset - Save As, name it as whatever.
Image - New Session, load a second image, also save a preset differently named.
Compare those two text/xml files.

Don't forget to remove the switch for normal use, and unload the images if not planning to modify them then.
 
Last edited:
Best would be using presets, and recently it's much deeper with the switch:
ntlite.exe /forcelistcomponents /saveallstates

After starting the tool with those switches, load a first image, just on the Source page choose Preset - Save As, name it as whatever.
Image - New Session, load a second image, also save a preset differently named.
Compare those two text/xml files.

Don't forget to remove the switch for normal use, and unload the images if not planning to modify them then.
nuhi just do here and works perfectly , thanks nuhi <3
 
Last edited:
Hi is it possible to have a screenshot i don't understand thanks

ntlite.exe /forcelistcomponents /saveallstates ??
 
Last edited:
Hi is it possible to have a screenshot i don't understand thanks

ntlite.exe /forcelistcomponents /saveallstates ??
Right-click in the NTLite shortcut, and them where's located target click and press space and them paste this /forcelistcomponents /saveallstates
 
Hi is it possible to have a screenshot i don't understand thanks
I haven't tried this trick myself, and I realize - now that I've been given the command line - how to start it.

But I agree, a small Guide with some screen shots showing comparing the images would be helpful. And perhaps such a Guide would help sell more NTLite's since it shows off a nice feature that's not obvious. (Update: For example, I just searched the forum for "saveallstates." This is the first I've heard of it. Nor do I see it in the Documentation.
 
Last edited:
I haven't tried this trick myself, and I realize - now that I've been given the command line - how to start it.

But I agree, a small Guide with some screen shots showing comparing the images would be helpful. And perhaps such a Guide would help sell more NTLite's since it shows off a nice feature that's not obvious. (Update: For example, I just searched the forum for "saveallstates." This is the first I've heard of it. Nor do I see it in the Documentation.
Make a shortcut of NTL and name it for instance: NTLite forcelistcomponentssaveallstates
Rightclick properties on shortcut and rename DESTINATION to: <Path to NTL folder>\NTLite.exe /forcelistcomponents /saveallstates
After loading images and saving the presets as nuhi stated Windiff is an easy standalone freeware tool to compare two files (presets).
 
Hmm... then I am missing the point of savealstates. I can already compare two different Presets with WinMerge. I was thinking (hoping) that I could compare the effect of two Presets in NTLite itself, by toggling back and forth between two, and watching check marks come and go. (Because sometimes it's not always obvious (to me, at least) what the lines in the xml file relate to. Nor can I see any warnings/notes in the xml's about the ramifications of removing components.)
 
You actually has a way to compare them, by go to Apply, in the section you will see all the changes that the preset will do, also the hidden settings will be in red. Maybe in the future release, NTLite provide an option to compare 2 presets without save one and them save another and load one by one and see what's the difference in each session of the program.
 
I finally tried /forcelistcomponents /saveallstates to do a Host Refresh (10.0.19042 > 10.0.19042) to take advantage of improvements in NTLite, since my last trim a year ago.

Wow! This is an underrated feature.

I wonder if nuhi can write a script or batch file that will take users by the hand to use this for an In-Place Host Refresh? For example, it would automatically start NTLite with the /forcelistcomponets /savealstates switch. Then it would load the live image. Then it would automatically save the Preset as "Use for Host Refresh." Then exit, and clear the switch. Then NTLite would start up again and enter Host Refresh mode, loads the live image, asks the user where the Refresh iso is (and perhaps automatically unpacks for us), automatically loads the "Use for Host Refresh" Preset, and leaves the rest to the user to complete. (Remembering a Rule of Management that "No job is impossible for the man who doesn't have to do it himself.")
 
This feature was updated in NTLite v2023.5.9249, and no longer requires any external switches.

Run NTLite as normal, and load any source image. Preset -> Save / Extract current image state
You don't need to quit or restart NTLite after the extraction.
 
Take a clean copy of the same Windows ISO, and load the image.
Now load your extracted preset to apply changes. Save this new preset as the working session.
 
You do this twice. Once for each image you want to compare. Then use a XML or text comparison tool against the two presets.
The only thing that has changed in two years, is you don't need the command line flags.

When you extract an image, that preset only lists what is present. But NTLite cannot use this version to make a new image.
You apply the extracted preset to a clean image, and this newly resaved version is usable by NTLite.

Comparing the two resaved presets will detail what's changed between them.
 
NTLite docs follow the same procedure:
- Load modded image, Save As extract preset
- Load clean image, apply extract preset. Save as new preset

The extracted preset cannot be used to make a new image (it's like a photo negative). The applied and saved preset can be used to make a new image.

Extract = what's found in image
Clean image (minus) Extract = what's missing

You can only use [what's missing] to apply to a new ISO.
 
If you compare any two presets, they must be of the same type.
- Any two extracted presets
- Any two saved presets
 
Glad to see that the /forcelistcompents switch has been automated into NTLite now.

I might be trying it soon.

But I'm a little confused about the process. It sounds like I have to use WinMerge to figure out the differences to generate a "what's missing" Preset?

Is there documentation on this? I checked the Host Refresh doc and if it mentioned this trick, I didn't see it.
 
You'll need some XML or text comparison tool. There is no automated way to compare two presets, because they might be created by a different version of NTLite, or even two entirely different OS'es.
 
Am about to try Host Refresh. It sounds like I'm going to have to hand craft a preset using WinMerge.

Has anyone made a video about this process of making a What's Missing Preset?
 
This is not as automated as I had hoped.

I began by loading a vanilla wim from Windows 22H2 iso.

This feature was updated in NTLite v2023.5.9249, and no longer requires any external switches.

Run NTLite as normal, and load any source image. Preset -> Save / Extract current image state
You don't need to quit or restart NTLite after the extraction.

So I began by extracting the current image state from the vinally wim and saved the Preset as "Vanilla."


As an aside, interestingly, there are already some things removed from the Vanilla host. (See vanilla Preset, attached.)


But I think I misunderstood the instructions for this first step because later I'm told

Take a clean copy of the same Windows ISO, and load the image.
Now load your extracted preset to apply changes. Save this new preset as the working session.

So the first step should have been to extract the Preset from my current modded Windows, yes?

If so, then I extracted a Preset from my current modded Windows and saved it as "Current." (Attached.)


Before going on, I'm further confused by this statetment:

If you compare any two presets, they must be of the same type.
- Any two extracted presets
- Any two saved presets
I don't understand the difference between an "extracted preset" and a "saved preset" because when I extract a preset, it is saved.

They look the same to me. What am I missing here?


Okay, going back to the second instruction,

Take a clean copy of the same Windows ISO, and load the image.
Now load your extracted preset to apply changes. Save this new preset as the working session.

Now when it says "to apply changes," do I actually have to Apply - that is, Process - the clean copy of the wim and save the final completed Preset. Or is it's good enoug to simply Save As "Working Session" after loading the Current Preset to the vanilla wim?


After I did this, I expected that the Working Session Preset would be identical to the Current Preset. But they're not.


If I have to apply/Process my Current Preset - which is what I thought we did with the old /forcelistcomponents /saveallstates, then 1) I no longer have a vanilla wim for Host Refresh. And 2) I didn't use WinMerge to make a "What's missing" Preset between Current and Working Session as the next instruction says to do.

You do this twice. Once for each image you want to compare. Then use a XML or text comparison tool against the two presets.
The only thing that has changed in two years, is you don't need the command line flags.

When you extract an image, that preset only lists what is present. But NTLite cannot use this version to make a new image.
You apply the extracted preset to a clean image, and this newly resaved version is usable by NTLite.

Comparing the two resaved presets will detail what's changed between them.

So I'm stuck at this step.

But even if I weren't stuck, there are a LOT of changes between the Presets that I have extracted so far. Is there an easy way to make WinMerge save the differences?

And what headers to I use for the "What's Missing" Preset? Because if I extract all the differences from the Presets, then same line stuff like

Code:
<?xml version="1.0" encoding="utf-8"?>
<Preset xmlns="urn:schemas-nliteos-com:pn.v1">
    <Date>07/04/2025 20:28:38</Date>
    <AppInfo>
        <Version>2025.7.10509</Version>
        <Licensed>Yes</Licensed>
        <Protections>Yes</Protections>
        <Host>Windows 10 Core 22H2 x64 - 10.0.19045.2006 (en-US)</Host>
    </AppInfo>
    <ImageInfo>

will be removed. But this header is needed for a Preset.
 

Attachments

Last edited:
Back
Top