MSFN Forum: Experiment of how nLite slipstream updates - MSFN Forum

Jump to content


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.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Experiment of how nLite slipstream updates Rate Topic: -----

#1 User is offline   Explorer09 

  • Member
  • PipPip
  • Group: Members
  • Posts: 136
  • Joined: 12-September 11

Posted 27 April 2012 - 01:44 AM

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.

----

This post has been edited by Explorer09: 30 April 2012 - 08:29 AM



#2 User is online   -X- 

  • Member
  • Group: Patrons
  • Posts: 2,066
  • Joined: 08-January 04
  • OS:XP Pro x86
  • Country: Country Flag

Posted 27 April 2012 - 02:43 AM

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.

Posted Image

#3 User is offline   5eraph 

  • Update Packrat
  • Group: Supreme Sponsor
  • Posts: 958
  • Joined: 04-July 05
  • OS:XP Pro x64
  • Country: Country Flag

Posted 27 April 2012 - 06:45 AM

View PostExplorer09, on 27 April 2012 - 01:44 AM, said:

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.

This post has been edited by 5eraph: 27 April 2012 - 06:59 AM


#4 User is offline   Geej 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 634
  • Joined: 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag

Posted 27 April 2012 - 08:36 PM

HFslip has the following in WBEMOC.INF

[WBEM.CopyMOFs] 
napclientprov.mof,napprov.mof
napclientschema.mof,napschem.mof

Just for information only. Workaround info for HFslip

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy