So, how many versions of Internet Explorer do you have installed on your computer? What release of Windows are you up to? It almost feels like you could cut open your hard drive and count the updates like tree rings,
going all the way back to Windows 95 and IE 3.0. With all those installations, did you know that occasionally a file gets left behind?
Actually, what's really surprising is that it doesn't happen more often.
Yes, now and then a System file gets lost. It simply goes AWOL. And that's what happened when the error message Invalid page fault in Webcheck.dll began popping up on the computer screen of one of our
BugNet contributors when they used Internet Explorer. You may have experienced similiar error messages. In the following pages, we'll show you how to locate your application's error-producing file, check its
version, and replace it if necessary.
Confirmed by tests at KeyLabs, BugNet was able to reproduce the condition that spawned the user's Webcheck.dll error with their latest version of Internet Explorer. In this case, there was a Webcheck.dll file
located in the C:WINDOWSSYSTEM directory. In Windows 95 and 98, that's exactly where it's supposed to be. But the version number was wrong. The Webcheck.dll file in the C:WINDOWSSYSTEM directory
was a holdover from a previous installation of Internet Explorer.
To check the version number of any file, open Windows Explorer and right click on the file. Select the Version tab. In this example, Webcheck.dll should have the same version number as Internet Explorer (click on Help >
About Internet Explorer). During a previous Internet Explorer upgrade, the upgraded version somehow didn't get copied from the cabinet file archive.
Figure A: Use a right mouse-click to view the version number of a file.
Microsoft packs its install images into CAB, or "compressed cabinet" archive files. Commercial compression/decompression programs such as WinZip and the StuffIt Browser will list the contents of Microsoft CAB archives and can extract compressed files. For example, if you were to open Mobile95.CAB (or MobileNT.CAB) with WinZip, one of the files listed would be Webcheck.dll. You could drag and drop this file into a temporary directory, and then boot to DOS and replace it (more about this later).
Windows 98 introduced a utility called System File Checker that will scan the hard drive for out-of-date system files. System File Checker can also extract files from CAB archives. In the Windows 98 Start Menu, go to
Programs > Accessories > System Tools and click on System Information. Then click on Tools, and select System File Checker. For mouse-challenged users, this utility can be executed from the Run prompt. Click on the Start menu and select Run, then enter "sfc".
Figure B: Use a right mouse click to view the version number of a file.
Sfc.exe was merged into System File Protection in Windows Me. It returned in Windows 2000 as a command-line utility, though its primary purpose is file version checking. To extract files from a CAB archive, the
best recourse is Extract.exe.
Extract.exe is a command-line utility shipped with all versions of Windows except Windows 2000. Extract.exe can be used to list the contents of CAB archives, and extract individual (or multiple) files. Windows 2000 includes a utility called Expand.exe that can be run from the Windows 2000 Recovery Console. Windows 2000 users may download Extract.exe from the Microsoft Website.
Extract.exe runs from a command prompt or from the Start Menu > Run dialogue box. Typing Extract.exe /? will display a list of the command-line switches. The basic syntax is:
Extract /L C:TARGETDIRECTORY Cabinet_Name.CAB Missing.File
As indicated above, Webcheck.dll can be found in Mobile95.CAB in the C:WINDOWS UPDATE SETUP FILES directory (if you've upgraded Internet Explorer on your system). The target directory is
C:WINDOWSSYSTEM. So, to replace Webcheck.dll you would open a DOS box, change to the C:WINDOWS UPDATE SETUP FILES directory (or enter the complete path), and run:
Extract /L C:WINDOWSSYSTEM Mobile95.CAB Webcheck.dll
But wait! This will trigger a Sharing Violation error. That's because Windows won't allow operating system files to be copied over while "in use." There are two ways to get around this. Both involve booting to
DOS-mode. You can extract the file to a temporary directory, then boot to DOS and copy the file to its proper destination. Or, boot to DOS and then run Extract.exe. (In Windows 2000 bring up the Recovery Console and use Expand.exe.) The Windows 98 and Me startup disks create a supposedly "user-friendly" version of Extract.exe called Ext.exe. But we found Ext.exe more difficult to use than the full-blown Extract.exe.
The hardest part of this whole process is finding out which CAB archive contains the file you want. The Windows 98 install CD contains over 70 CAB archives. In most cases, though, Extract.exe will do the heavy lifting for you. The command
Extract /A /L C:TARGETDIRECTORY Cabinet_Name.CAB Missing.File
will search all (hence the /A switch) of the CAB archives, starting with the first CAB archive named, and stepping through the CAB archives in directory order until it finds the file. It will then extract the file and copy it to the target directory. On the Windows 98 SE install CD, Base4.CAB is the first CAB archive listed in the WIN98 directory on the Windows install CD. So if you change to the WIN98 directory on the CD, the
Extract /A /L C:TEMP Base4.CAB Webcheck.dll
will search through all of the CAB archives on the Windows CD until it finds Webcheck.dll. It will then copy the file to C:TEMP.
If you just want to find the file, you can display the contents of a CAB archives using the /D switch. And if you include the /A switch, the command
Extract /A /D Cabinet_Name.CAB
will display the contents of all of the CAB archives in the directory, starting with the first CAB archives named. In the case of a Windows install CD, this will be a long list. So it would be a good idea to redirect
the output to a text file. The command
Extract /A /D Cabinet_Name.CAB > C:Files.txt
will create a file called Files.txt in the root that contains the contents of the CAB archives.
More information about the command-line switches for Extract.exe can be found in Microsoft Knowledge Base article Q129605.
Since Windows 98, Microsoft has automated the functions of the System File Checker. In Windows Me, System File Protection (SFP) automatically scans the "core system" for out-of-date files, and will
identify and attempt to repair any it finds. In Windows 2000, this utility is called Windows File Protection (WFP). In the future, these utilities should keep better track of critical files. But no operating system is perfect. And if a file not in the core system gets lost, mangled or misplaced, an alternate strategy to a complete reinstall is worth keeping on hand.