Jump to content

Experiment of how nLite slipstreams updates


Recommended Posts

Posted (edited)

I think there are some people in this forum who wonder how nLite slipstream updates. (such as these people)

Personally I don't use nLite much. I prefer slipstreaming the updates myself rather than using such tool (just because I cannot trust the latter). However I did some experiments with nLite and I can share what I found here.

My OS is Windows XP Professional SP3 (x86).

I only tried the "Hotfixes, Add-ons and Update Packs" feature, which I'm interested in the most. Then I use Process Monitor and file difference tools to track nLite's actions. Here is the result - how nLite slipstream (regular) Windows XP updates.

(Please note that there might be errors in the info below.)

1. Extracting the update contents

nLite extracts all update packages by running this command with each package:

"windowsxp-kbXXXXXX-x86-enu.exe" -q /X:"%CDPath%\hottemp"

(Assume %CDPath% is the path to your Windows installation CD files, and your Windows XP is English version.)

Then, nLite will check whether it is possible to use steps 2 to 4 below to integrate the update.

In a few cases, nLite will say it cannot and asks user if he wants to use the regular integration methods. The "regular integration methods" provided by nLite is actually running this command:

"windowsxp-kbXXXXXX-x86-enu.exe" -q /integrate:"%CDPath%"

2. Extracting the cabinets

For some updates, it is necessary to extract the cabinets. nLite first tests them using 7-zip:

7z.exe t I386\%cab_file_to_extract%.cab

Then they are extracted internally. nLite seems to invoke functions in the library called cabinet.dll.

Extracted contents of DRIVER.CAB is stored in "%CDPath%\drivertmp".

Extracted contents of SP3.CAB is stored in "%CDPath%\sp3tmp".

3. Replacing patched files

nLite picks the files of the SP3QFE branch only. GDR branches are generally ignored.

For each patched files, nLite looks up the files of the same name in I386 folder or the temp folders in previous step, extract it and compare the versions.

nLite gives a warning when the version of CD files is newer than the patch, and asks user whether to replace the files.

4. Creating the registry patch file - nLite.inf

The registry changes in each update can be found in the [Product.Add.Reg] section of the "update_SP3QFE.inf" file. nLite reads this and stores the registry entries in nLite.inf. (Unfortunately this causes a bug, see this thread.)

nLite.inf is meant to be installed at the same time when Windows installs optional components.

nLite.inf and nHelper.exe are compressed and copied to the CD. (NLITE.IN_ and NHELPER.EX_)

5. Updating INF files

These files are changed by nLite (in chronological order):

  • HIVECLS.INF (Only optimizes the file. No entries are added or removed.)
  • HIVEUSD.INF (Only optimizes the file. No entries are added or removed.)
  • SVCPACK.INF (Adds the catalog files to be installed.)
  • NLITE.INF
  • SYSOC.INF (Adds this entry, then optimizes.)

    [Components]
    nLite = ocgen.dll,OcEntry,nLite.inf,HIDE,7


6. Compressing cabinets

DRIVER.CAB and SP3.CAB are re-compressed by nLite. (This takes a REALLY long time on my computer.)

7. Updating INF files again

  • FONT.INF (Only optimizes the file. No entries are added or removed.)
  • HIVESYS.INF (Only optimizes the file. No entries are added or removed.)
  • INTL.INF (Only optimizes the file. No entries are added or removed.)
  • WBEMOC.INF (Two entries are commented out by nLite, I don't know the reason.)

    [WBEM.CopyMOFs]
    ;napclientprov.mof
    ;napclientschema.mof


  • TXTSETUP.SIF -
    nLite did three things here. First, in [FileFlags] section, some additional file flags are added. Second nLite adds these two entries in the [sourceDisksFiles] section:

    [SourceDisksFiles]
    nhelper.exe = 1,,,,,,,2,0,0
    nlite.inf = 1,,,,,,,20,0,0


    Third, the TXTSETUP.SIF file is opimized.

  • DOSNET.INF (Adds these entries, then optimizes.)

    [Files]
    d1,nhelper.exe
    d1,nlite.inf
    [OptionalSrcDirs]
    svcpack


  • HIVEDEF.INF (Only optimizes the file. No entries are added or removed.)
  • HIVESFT.INF (Adds this entry, then optimizes.)

    [AddReg]
    HKLM,"SOFTWARE\Microsoft\Driver Signing","Policy",0x00000001,0


  • SVCPACK\HFINT.DAT
    (Only updates that are done using "regular integration methods" will have entries here.)

8.

nLite deletes the file "nl_proc.log" in I386 folder. "nl_proc.log" is a temporary file that is used to indicate an unfinished nLite session.

----

Edited by Explorer09

Posted

Let me just add that nLite will only ask you these questions if you manually go into advanced and choose display reports. The default, to not display reports, uses the latest version of .dlls and .???(maybe exes and others. not sure) and is the preferred method.

nlitedisplayreports.png

Posted (edited)
7. Updating INF files again

  • [...]
  • WBEMOC.INF (Two entries are commented out by nLite, I don't know the reason.)
    [WBEM.CopyMOFs]
    ;napclientprov.mof
    ;napclientschema.mof

Those files are added by SP3. For some reason, when using addons with nLite or RyanVM Integrator, errors are thrown regarding those new files unless they're commented out. More information about this can be found on RyanVM.net.

Edited by 5eraph
  • 2 years later...
Posted (edited)

Hello i have a small challenge to solve if someone can help i would appreciate it

 

i have a modified version of xp pro with some internal addons in it for example mozilla, wmp11 etc. that they go in the SYSOC.INF file.all integrated with nlite

after i integrated the driverpacks base with the drivers and the masstorage text mode drivers with the DPBase program it seems that the internal addons are not getting installed they skipped.anyone knows how to correct this.

 

post-398726-0-11566100-1413586674_thumb.

Edited by dimitris77
Posted

Before i put the last four programs you can see in the Last "Session.ini" in the end the windows setup was not installing the internal addons included in the SYSOC.INF file, after i add the 4 files, the windows setup is beginning to installing the files in the SYSOC.INF file but it give me this error`s

"Path \Windows\System32\Rundll32.exe : 

Windows cannot access the specified device, path, or file.
You may not have the appropriate permissions to access the item

and i got the same errors with more files after:

Fixmapi,exe odbcconf,exe mstinit,exe regsvr32,exe logagent.exe unregmp2.exe Cmd....

 

 

 

Last Session.ini

Posted

You've changed the scenario and now have different symptoms.

This cannot be the original "Last Session.ini" that was requested.

Nobody can help you if you keep moving the target.

 

Also, I'm unsure of the PathName applied to the files in question for Greek Language XP. Will they be the same? :unsure:

 

Finally, please tell me that you are using an UN-modified Source for the Integration. I ask  because you said:

- "i have a modified version of xp pro with some internal addons in it for example mozilla, wmp11 etc."

 

I also note this: "OnePiece_MSXML_4.0_SP3_v4.30.2117.0_(KB2758694)_True_AddOn_ENU" so why are you integrating English components into a Greek source? :crazy:

Posted

You've changed the scenario and now have different symptoms.

This cannot be the original "Last Session.ini" that was requested.

Nobody can help you if you keep moving the target.

 

Also, I'm unsure of the PathName applied to the files in question for Greek Language XP. Will they be the same? :unsure:

 

Finally, please tell me that you are using an UN-modified Source for the Integration. I ask  because you said:

- "i have a modified version of xp pro with some internal addons in it for example mozilla, wmp11 etc."

 

I also note this: "OnePiece_MSXML_4.0_SP3_v4.30.2117.0_(KB2758694)_True_AddOn_ENU" so why are you integrating English components into a Greek source? :crazy:

 

Please ignore the last errors,and go to the point where windows setup was not installing the internal addons included in the SYSOC.INF,after that i have put some more internal addons to see if this will fix it and this errors happens,i cannot find any greek msxml and i dont think there are any, i have tested this one before with greek windows and works,the windows was unmodified before so i put some extra stuff and after the driverpacks and this happens i don`t know what to do  :realmad:  thanks

Posted (edited)

(sigh...) You're doing it again. This does -not- tell me what you've done in reference to the Add-On's. What part of I WANT THE INI FILE is failing to get across to you? That Error Log tells me -nothing-. You -yourself- said you did -more- Add-Ons! MOVING TARGET.

 

Does the Install work -without- doing -anything- to the Source Install, in other words Directly From The Unaltered CD?

 

I'll (and nobody else) will help if you do -NOT- provide what's requested. PERIOD!

 

Right here at the top -

http://www.msfn.org/board/forum/89-nlite/

 

If you are having issues with Windows after removing components and have come to ask for help, please attach (not paste) your Last Session.ini file to your post to facilitate quicker assistance.

This applies to -ANY- run of nLite -regardless- of whether you remove or not -in all cases- that file is -required- to better assist.

 

Sorry, that's just the way it is.

 

Further, here's another topic having YOUR ERRORS! In other words, you may -NOT- be using a completely Unaltered XP Install -or- one of the -UNNAMED- Add-Ons is FAILING because it's NO GOOD!

http://www.msfn.org/board/topic/139191-some-os-error/

Edited by submix8c

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...