Jump to content

Bug: HFSLIP fails to notice invalid extract.exe


Recommended Posts

Guest einpoklum
Posted

There are several extract.exe 's which may occur in the path before Microsoft's extract.exe : Cygwin's, and the Windows UNIX binaries distribution unixtools . HFSLIP fails to notice when these are present, and tries to use them instead of the valid extract, reporting that it has successfully completed its work while in fact it has not.

ERROR_REPORT.TXT


Posted

This is an interesting idea, and one that would have saved me TONS of trouble early in my HFSLIP days since I had a similar issue. The script could also be made to check the filesize and compare it to "known good" filesizes of extract.exe.

Guest einpoklum
Posted

Uh, how about checking for the "invalid switch" error message you get from running cygwin's extract.exe ? Or making sure cygwin and unixtools aren't in the path (or removing them from the path)?

Posted (edited)

Just realized the following:

The name of Microsoft's module in Windows XP (and 2003) is EXPAND.EXE, not EXTRACT.EXE. I believe this is also true on 2000, but I could be wrong.

@einpoklum, can you check to see whether 2000 uses extract or expand?

---------------------------------------------------------------------------------------------------------------------------------------------------

@TAiN:

AFAIK, there is no way to check and verify the size of a file at the command prompt. Although you can produce it using DIR, it might take some time to integrate it into the script.

Maybe doing this would work:

1. DIR %windir%\system32\EXPAND.EXE>TEMP.TXT

2. Find the string "15,872 bytes" (for XP's module) in TEMP.TXT (not sure of the exact command that should be used; I'm not familiar with FINDSTR)

3. If the string is found, use that EXPAND.EXE.

4. If the string cannot be found, report an error or search for EXPAND.EXE (don't think this is possible).

Edited by Super-Magician
Posted
1. DIR %windir%\system32\EXPAND.EXE>TEMP.TXT

2. Find the string "15,872 bytes" (for XP's module) in TEMP.TXT (not sure of the exact command that should be used; I'm not familiar with FINDSTR)

3. If the string is found, use that EXPAND.EXE.

4. If the string cannot be found, report an error or search for EXPAND.EXE (don't think this is possible).

That is almost exactly what I was thinking.

Also, I have both expand.exe and extract.exe on my 2kSP4 box.

expand.exe is version 5.0.2134.1 and 15,632 bytes

extract.exe is version 1.00.603.0 and 93,242 bytes

Posted

HFSLIP doesn't use extract.exe; only expand.exe. I had a quick look at the entire script and it seems to me you can get away with placing the "correct" version of expand.exe in the HFSLIP folder (for now) except for the integration of msxmlcab.exe.

Checking for the file size is out of the question. On a Dutch XP system, for example, the file is 16,896 bytes large.

Where can I get this cygwin version?

Posted

Try the latest test release. It uses the full path to expand.exe. There are two locations HFSLIP check in: %WINDIR%\SYSTEM32 and the HFSLIP folder. The latter gets preference. So if the version in SYSTEM32 is not the original MS version, place a copy of the MS version in the HFSLIP folder.

Guest einpoklum
Posted

Sorry sorry sorry! The entire bug report should have been about expand.exe, not extract.exe . I just got them mixed up when reporting the bug :-(

Anyway, to get the cygwin version, download the cygwin installer at http://www.cygwin.com (it's a net installer); I don't remember the exact package which includes expand.exe . Or you can use the version I've attached below.

expand_cygwin.exe

Guest einpoklum
Posted

As the user, you mean? Well, you need to know you need to do that before you can actually do it.

Posted

It is now. 60403c.

Out of curiosity... If any of you would replace expand.exe through HFSLIP (so Windows gets installed with another version), where would you put it? In the FIX folder or in HFEXPERT\APPREPLACEMENT?

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