Craig's Scrapbook - Home

 
health
  technical
  motorcycles
  cars
 
 
 
 

 

 

CRC error in zip or self-extracting archive

Problem
I downloaded a big ZIP self-extracting archive (SFX EXE) but when I tried to extract it I got a CRC (cyclic redundancy check) error on one of the files it contained, which I could not then access at all.
Such errors are often caused by glitches in the download process. They are usually not critical, meaning you can either ignore them (if only you can access the corrupted file), or else try to repair them.

Solutions
1. Re-download If the zip or exe archive came via the net, is still available, and you have the bandwidth and patience, re-download it. It might come through without errors the second time. However, the bigger the file and the less reputable its source, the more likely it will contain another error—or the same error again.
There's another alternative if you know the URL (address) of the file on a remote server. Use BigSpeed Zipper (freeware) which can open the contents of the zip file on the remote server. You can then simply re-download only the file you need (instead of the whole compressed archive). This isn't much help if the corrupt internal file is, say, a CAB file that accounts for most of the total file size on its own anyway.

2. Simple repair Several shareware and freeware zip programs contain a repair function. These can be found on the web by searching on "repair zip" etc. I tried WinRAR and several others but they all failed to fix my particular CRC error.

Go to site
3. Advanced repair The only program that seemed to successfully repair my downloaded file was Advanced Zip Repairer. The demo version only works on small files, but will tell you whether or not it will theoretically repair a bigger file if you were to fork out the cash for the paid version. This program seems pretty clever. However, the methods below also worked for me and cost nothing:

4. WinZip fudge The following method works for all ZIP files and WinZip self-extracting EXEs.
The idea is to play a trick on WinZip to get hold of the corrupted file through the back door before WinZip kills it off.
If you have a straight ZIP file, open it through WinZip. If your archive is a self-extracting WinZip EXE file, open it via the WinZip interface by either right-clicking the EXE file and choosing Open with WinZip, or by double-clicking and choosing the Run WinZip button.
If the archive contains multiple files, determine which one is corrupted by either extracting them individually until you find the bad one, or by extracting them all and viewing the error log when you are invited to do so. Wait!

Now that you know which file is bad, attempt to extract this file again into any folder. This time when WinZip halts and presents you with a "bad CRC" error message, don't click the OK button immediately. Go to the folder that WinZip uses as a temporary unzipping folder (usually C:\Temp, but configurable within WinZip's options). There you should see the bad file being held in limbo by WinZip. Use your right mouse button to right-drag the file to a blank space within the same folder or another destination folder, release the button, and choose Copy Here. Then go back to the WinZip error message and click that OK button. WinZip will take this as its cue to delete the corrupt file from its temp directory, but you will now possess a copy that is safe from WinZip's censorship. Afterwards, make sure your copy's filename exactly matches the original.
Extract any other non-corrupted files from within the downloaded archive and manually insert the one you have just salvaged. Pay attention to any information that might be listed under the Path heading in WinZip's main window as your salvaged file (and all the others) will need to be in their correct subfolder(s), if any. This done, you can proceed as usual with your downloaded goodies. In all likelihood the error won't amount to anything significant.

5. WinRAR The following method is similar to the above and works for all ZIP files, RAR files, and WinRAR self-extracting EXE archives.
Open the file via the WinRAR program interface. This means either starting WinRAR first and using File-Open, or right-clicking an EXE and choosing Open with WinRAR.
If your archive contains multiple files, determine which file is corrupt by extracting all files into any folder and examining the diagnostic message that will appear when the bad file is encountered. Cancel the extraction.
Before using the method below, give WinRAR a chance to repair the file by highlighting it and choosing Repair Archive under the Commands menu. Try the resultant "_reconst.rar" file to see if it has really been repaired. This is likely to have worked only if the original archive was saved with the Protect archive from damage option. Chances are it won't work for you, so proceed thus:Keep broken files

Open the ZIP, RAR, or EXE file in the main WinRAR interface again. Now click the Extract To icon button. Under the Miscellaneous section you should see an option called Keep broken files. Check this box. Navigate to the folder into which you will extract your files, click OK to begin extracting the files, and then click Close when you are presented with a diagnostic message reporting the bad CRC. This time WinRAR will not have deleted your corrupted file, and you can proceed as usual—probably without any noticeable trouble. (Thanks to Derek for putting me on the right track with WinRAR).

6. Stuffit EXEs If you have a corrupt Stuffit EXE, the windows equivalent of a Macintosh SEA file, you're out of luck. I can't seem to find any way of repairing or recovering one of these compact little wonders. At present Aladdin Systems has a new compression standard called Stuffit X that incorporates built-in error recovery, but it only works for files saved in the new .sitx format. If anyone can figure out a recovery method for corrupt Stuffit EXEs, please let me know.

 


Copyright © Craig Forsythe, 2008. All rights reserved. Contact.