Jump to content

Microsoft IPD (Intra-Package Delta) Compression Tool?


Recommended Posts

Posted

Hello everyone,

I'm trying to do some testing and repackaging of some files and I've been trying to use the latest IPD compression that Microsoft uses in their hotfixes/updates.

Does anyone have the tool that is used to make these files? I have found a third-party software application that can supposedly create these IPD-compressed files but then the problem is that I can't find the correct version of EXPAND.EXE to decompress the files.

Could someone help me out with this dilemma?

Thanks.


Posted

I've read that article and it also mentions that the expand.exe in the Windows AIK should also work but I am alwasys given an error when trying to extract.

I do not have the Microsoft SFXCAB builder tool (nor do I know where to get it). I am using a third party software called SFXCAB Substitute which makes SFXCAB EXE's.

Does anyone have the extract.exe program from the Vista OPK? Or perhaps the proper tool from Microsoft to compress files using IPD?

Posted (edited)

Two years ago I had a hard time getting Expand too, so I pulled them from a laptop running Windows 7. The files you need are dpx.dll, expand.exe, expand.exe.mui and msdelta.dll.

It may be possible to simply put all the files into a folder and run it that way, but I prefer to replace XP's Expand.exe instead. To do so, drop the mui file in "%SystemRoot%\system32\en-US", and the rest in "%SystemRoot%\system32". The trick is to replace your existing Expand.exe file, so you'll have to get around Windows File Protection by dropping the file into "%SystemRoot%\system32\dllcache" first.

I can't post the files here directly due to MSFN's rules. If you don't have a Vista or Win7 PC handy to pull the files from then you can find them on ryanvm.net.

Edited by 5eraph
Posted

Two years ago I had a hard time getting Expand too, so I pulled them from a laptop running Windows 7. The files you need are dpx.dll, expand.exe, expand.exe.mui and msdelta.dll.

It may be possible to simply put all the files into a folder and run it that way, but I prefer to replace XP's Expand.exe instead. To do so, drop the mui file in "%SystemRoot%\system32\en-US", and the rest in "%SystemRoot%\system32". The trick is to replace your existing Expand.exe file, so you'll have to get around Windows File Protection by dropping the file into "%SystemRoot%\system32\dllcache" first.

I can't post the files here directly due to MSFN's rules. If you don't have a Vista or Win7 PC handy to pull the files from then you can find them on ryanvm.net.

Thank you so much!

Now let me ask, what would be the proper Microsoft tool to do the IPD compression? As I said, I use a third-party piece of software now but if possible I'd rather use Microsoft's intended utility.

Posted (edited)

Thank you for those 2 articles.

I've attached a smaple CAB file to show what I get when I compress with IPD compression.

Let's focus on the expansion/extraction only. Let me begin by elaborating more about the process I am using and the errors I receive.

So I use this third-party software to comrpess using IPD and I am given an EXE self-extracting file. Then I remove the stub from the EXE and I'm left with a CAB file that has the following contents:

_sfx_.dll_sfx_0001._p_sfx_manifest_

So if I try to extract this CAB using the EXPAND.EXE given above, I get the following error:

Expanding File TEST.CAB Incomplete, Error Code=0x80004001Error Description: Not implemented

What am I doing wrong here? I did not replace the files given above in my computer's system folder, rather, I made a small test folder in my C:\ drive with all the files that were in the download above. I would like to be able to extract/expand on an XP machine without having to restart PC in safe mode, replace system files with downloaded above files, restart computer, then begin extraction.

Any ideas as to what I'm doing missing here?

Thanks guys.

sample.cab

Edited by a3m5i11
Posted

I get the same error with your sample.cab. However, I can extract Windows6.1-KB2639043-v3-x64.msu without difficulty.

Posted

Oh, joy! This will be fun! I'm assuming this is the 3d Party?

http://www.softpedia.com/get/Compression-tools/SFXCAB-Substitute.shtml

Are you stripping away the correct part of the SFXCAB.EXE part, leaving just the MSCF-cab part? How are you able to determine the Filenames, or is it JUST the EXPAND.EXE giving problems?

UniExtract/Winzip/Winrar/7zip all will extract those files from a SFX-executable (e.g. MS Fix) but the files inside are useless since they're not the "real" files, true? :unsure:

Posted

Correct. That is the software and that is the problem. The CAB file is just a CAB file. The ._p file is the one I cannot decompress. That is the file compressed with IPD.

Posted

My guess is that there (as usual/normal when MS is incolved) a misunderstanding or overlapping of names.

IPD is a "nice new name" for a "generic" approach, "Delta Compression".

There are two basic MS "engines" for it:

http://msdn.microsoft.com/en-us/library/bb417345.aspx

the good ol' PatchAPI (please read as "mspatchc.dll" for creation and "mspatcha.dll" for expansion) and the new MSDELTA (please read as "msdelta.dll").

The SFXCAB Substitute uses the former and not the latter, and it is possible that it creates something that *somehow* is only compatible with "pure" mspatcha.dll and not with the expand.exe from Vista :ph34r: which likely uses (primarily or exclusively) msdelta.dll, or it is well possible that the result is only compatible with the SFX stub.

jaclaz

Posted

I have a question(s) - Why do you want to do that? What's the rationale? Why do they need to be IPD-compressed files? Why not Standard MSCF-type (CAB) files with the Standard SFXCAB.EXE-(the stripped off part of a Standard Installer) prepended?

It seems that MS has intentionally made this a "proprietary" format of which you need the API Calls (?) from the SFX Program in order to expand the internal files. :unsure:

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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