Jump to content

Way to test updates or list their contents?


pcalvert

Recommended Posts

Is there a way to test updates or list their contents without expanding them? I was planning to use 7-Zip for this purpose, but it doesn't work.

Example:

7z t windowsxp-kb2115168-x86-enu_675e6a32a90807671042e4de6b1f10a2fd82b157.exe7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)Processing archive: windowsxp-kb2115168-x86-enu_675e6a32a90807671042e4de6b1f10a2fd82b157.exeTesting     _sfx_manifest_Testing     update/update.verTesting     _sfx_.dllTesting     _sfx_0008._pTesting     _sfx_0009._pTesting     _sfx_0010._pTesting     _sfx_0001._pTesting     _sfx_0003._pTesting     _sfx_0006._pTesting     _sfx_0007._pTesting     _sfx_0012._pTesting     _sfx_0000._pTesting     _sfx_0011._pTesting     _sfx_0005._pTesting     _sfx_0004._pTesting     _sfx_0002._pEverything is OkFiles: 16Size:       521380Compressed: 552832

Being able to test an update would be ideal, but is not a requirement. I mainly want to be able to list the contents.

Phil
 
Link to comment
Share on other sites


You can use Universal Extractor:

http://www.msfn.org/board/forum/159-universal-extractor/

though what it will do will be simply that of running the file with parameters /q /x <outdir>, i.e. expanding it's contents in an a sub-folder.

 

JFYI, there is a newish updated version here (UNofficial):

http://www.msfn.org/board/topic/171930-new-unofficial-version-165/

 

jaclaz

Link to comment
Share on other sites

Is there a way to test updates or list their contents without expanding them?

 

Sorry, no. You must expand them, because they're "Intra-Package Deltas-Aware Packages" (see KB828030), so they just contain the deltas (hence, 7-zip does not actually fail in showing their contents!) and the files used to update the system are actually created during what passes for "expansion".

Link to comment
Share on other sites

Alternative to UniExtract (nope, never tried it on this type "update" package).

Place this (as a CMD or BAT) in the folder with the EXE in question

@echo offecho/= == This Script will extract all EXE file in this Folderecho/= == into a SubFolder named "extract" within anotherecho/= == SubFolder named with the EXE file's name.echo/Press any key to continue or click "X" to exit.>NUL PAUSE:: Some interesting info::: blogs.technet.com/b/mrsnrub/archive/2009/05/14/gdr-qfe-ldr-wth.aspxif exist "%temp%\dirlst.txt" del "%temp%\dirlst.txt"dir /od /b "%~dp0*.exe">"%temp%\dirlst.txt"if exist "%~dp0extract" rd /S /Q "%~dp0extract"md "%~dp0extract":: Strip the character string '.exe' to create SubDirectory.:: Extract the EXE to it.FOR /F "usebackq delims=." %%a in (%temp%\dirlst.txt) do ( if exist "%~dp0extract\%%a" "rd /S /Q "%~dp0extract\%%a" start "" /wait "%~dp0%%a.exe" /Q /X:"%~dp0extract\%%a")del "%temp%\dirlst.txt"echo/= == Extraction Complete.echo/Press any key to exit.>NUL PAUSEexit.

Since you've gotten the "alternate" filename (apparently from the Catalog) you may want to strip that extra portion of the filename off. This is what you get when you use the files from -X- UDC script from http://xdot.tk/ -

* WindowsXP-KB2115168-x86-ENU.exe

See all those extra characters in yours? I say that because (if you noticed) you will get a looooong FolderName under folder "extract" within whatever folder you initially place the files and the above CMD.

Reference your question here -

http://www.msfn.org/board/topic/171992-more-than-one-file-for-the-exact-same-update/

 

Now, i'm sure jaclaz will/may refine the above. Fine by me and feel free!

 

And as dencorso said, there's no other way to "see" the contents.

 

HTH

Edited by submix8c
Link to comment
Share on other sites

 

Now, i'm sure jaclaz will/may refine the above. Fine by me and feel free!

Naah, the batch is fine, I would have written it differently, avoiding the use of the temp directory listing and simply emptying the "extract" subdirectory when starting, but it seems to me perfectly fine as it is.

 

Just an idea, but maybe it could be useful - if the issue is, with a large number of updates of this kind, the sheer disk space occupied by the expanded version -  do something like a "fake" directory structure, leaving just the name and the sizes of the files (using "sparse" files, of course only on NTFS). :unsure:

 

But it would probably be of little or no use, as what is needed often is to check the actual version of the .dll's and .exe's in the archive...

 

jaclaz

Link to comment
Share on other sites

  • 2 weeks later...

Thanks for the suggestions. It's unfortunate that we are forced to extract the updates to see what is in them. However, 7-Zip does seem to work on at least some updates for older versions of Windows (pre-Win2K?).

 

Example:

7z t WindowsNT4Workstation-KB841872-x86-ENU.exe7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18p7zip Version 9.20 (locale=en_US.utf8,Utf16=on,HugeFiles=on,2 CPUs)Processing archive: WindowsNT4Workstation-KB841872-x86-ENU.exeTesting     hotfix.exeTesting     psxss.exeTesting     hotfix.infEverything is OkFiles: 3Size:       198518Compressed: 119104

That will come in handy if I ever get around to experimenting with Windows NT 4.0.

 

Phil

Edited by pcalvert
Link to comment
Share on other sites

FWIW: 7-zip always works. Older updates contain the files. Newer ones contain just deltas, because they're "Intra-Package Deltas-Aware Packages" (see KB828030) and 7-zip duly extracts those deltas. It does not know, however, how to create the files from the deltas. That's why one has to extract them the MS way: it's not just compression... delta creation must be reversed, too.

Link to comment
Share on other sites

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...