Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

mprexe caused an invalid page fault in... 2

Status
Not open for further replies.

tom1681

Programmer
Sep 4, 2002
40
GB
Getting the above message with memory addresses on start up on a Windows '95 machine. The error message also mentions wsock32.dll. I've replaced mprexe.exe, wsock32.dll, mpr.dll, winsock.dll, kernel32.dll and others with copies from a working Windows '95 machine but can't stop this message appearing! I can just about get into windows by using task manager to start explorer, but can't get to any network resources. As far as I know the cause of the problem was the machine being turned off and on a few times without being shut down due to another problem and it seems some file has got corrupt as a result. Have run scandisk and fixed all errors.

The machine is attached to a piece of machinery hence the old OS and it isn't so straight foward to reinstall Windows.

Any ideas how to solve this one?

Thanks in advance.
 
Hi, Tom1681

I would run a memory diag on that machine.

An old box like that likely has multiple memory sticks, so try swapping them around and see if the symptoms change.

Jock
 
Unfortunately there are/were a number of reasons for mprexe.exe errors in Win 95 (and 98/ME).

The easiest to check for and to fix is if the problem is due to a corrupt Password List. See for more info.

If this doesn't fix it then post back. It may mean that the TCP/IP stack is corrupt.

(PS - One of the biggest problems is that information about errors and fixes for Win 95 PC's has been drying up for years.)

Hope this helps...
 
I've just thought of something else. You mentioned replacing mprexe.exe, wsock32.dll, mpr.dll, winsock.dll and kernel32.dll.

Mprexe.exe is also dependent on rasapi32.dll and rnasetup.dll so these may need to be replaced as well.

(As a matter of interest, do you still have the Win 95 CD used to install the PC? It may be needed if the TCP/IP stack needs to be repaired.)
 
Thanks for all the reponses.

I forgot to mention before that I had deleted the PWL file, this didn't help.

I have since read the other KB articles mentioned here, but no luck with them either.

This machine has two network cards, one to connect to the LAN and one to connect to the piece of machinery. When I uninstall the LAN card the error message doesn't appear, as soon as it's reinstalled it does.

It hadn't occurred to me that it would be memory issue, I'll try swapping the sticks about in a bit.

I did replace rnasetup.dll before, and have now replaced rasapi32.dll too, made no difference.

I do have the Windows '95 cab files to hand, I'm pretty sure these are the same version as the install, but I don't have an actual Windows '95 CD.

How would I go about repairing the TCP/IP stack?
 
Apologies for the delay... it's been years since I've had to do this and it took me ages to write out all the steps.

Anyway...repairing the TCP/IP stack is a little complex and if you don't have the original installation CD then it can be a little time-consuming.

Check the existing hard disk... quite often Windows was installed from the hard disk itself. Just search for *.CAB. Often you'll find them in a C:\Windows\Options\Cabs folder.

If you can't find any CAB files on the hard disk itself then you'll have to rely on the CAB files you said you already had. Create a folder called CABS in the root of C: and copy all the CAB files you have into it, just in case you are asked for the source location of other system files. If this happens then you'll need to browse to C:\Cabs in order that the .INF files can find and extract the files they need.

Important: If you don't have all the CAB files and/or if they are not the same version for the PC you are trying to repair then the following will fail with 'unable to find' or 'incorrect version' errors.

This site will give you information about file dates for the different versions of Windows 95:

If you ARE confident that you have all the CAB files and that they are the same version then here's what to do:

1) Create a folder called something like 'fixip' in the root of C: and copy the following files into it (either from another Windows 95 PC or by extracting them from the Win 95 CAB files):

net.inf
netcli.inf
netppp.inf
netservr.inf
nettrans.inf
rasapi32.dll
rna.inf
rnasetup.dll
winsock.dll
wsock32.dll

2) Copy/paste the following into Notepad and save it as something like 'fixip.bat' into the 'C:\fixip' folder you created earlier:

Code:
@ echo off
cd\
cd windows
if exist *.rmc del *.rmc
ren winsock.dll winsock.rmc

cd\windows\system
if exist *.rmc del *.rmc
ren rnaapp.exe rnaapp.rmc
ren splitter.vxd splitter.rmc
ren vgateway.vxd vgateway.rmc
ren pppmac.vxd pppmac.rmc
ren wsock.vxd wsock.rmc
ren spap.vxd spap.rmc
ren rnasetup.dll rnasetup.rmc
ren rnathunk.dll rnathunk.rmc
ren rasapi16.dll rasapi16.rmc
ren rasapi32.dll rasapi32.rmc
ren smmscrpt.dll smmscrpt.rmc
ren smmsetup.dll smmsetup.rmc
ren rnaserv.dll rnaserv.rmc
ren wsock32.dll wsock32.rmc
ren rnaui.dll rnaui.rmc
ren rnanp.dll rnanp.rmc
ren rnaph.dll rnaph.rmc
ren vdhcp.386 vdhcp.rmc
ren vnbt.386 vnbt.rmc
ren vtcp.386 vtcp.rmc
ren vtdi.386 vtdi.rmc
ren vudp.386 vudp.rmc
ren vip.386 vip.rmc

cd\
cd progra~1\access~1
if exist *.rmc del *.rmc
ren slipmenu.scp slipmenu.rmc
ren slip.scp slip.rmc

cd\
cd windows\inf
if exist *.rmc del *.rmc
ren netcli.inf netcli.rmc
ren netservr.inf netservr.rmc
ren net.inf net.rmc
ren nettrans.inf nettrans.rmc
ren netppp.inf netppp.rmc
ren rna.inf rna.rmc
ren drvdata.bin drvdata.rmc
ren drvidx.bin drvidx.rmc

cd\
cd fixip
copy netservr.inf c:\windows\inf
copy netcli.inf c:\windows\inf
copy netppp.inf c:\windows\inf
copy net.inf c:\windows\inf
copy nettrans.inf c:\windows\inf
copy rasapi32.dll c:\windows\system
copy rna.inf c:\windows\inf
copy rnasetup.dll c:\windows\system
copy winsock.dll c:\windows
copy wsock32.dll c:\windows\system

cls
echo Finished...
echo.
echo Now reboot the PC using CTRL-ALT-DEL
echo and follow the rest of the
echo instructions...
pause

Note that I've use a .rmc file extension to use for renaming files. The extension could be anything (e.g. .old) but I decided to use my initials (RMC) so I knew exactly what files had been renamed as a result of my batch file. Feel free to change the extension to any 3 characters of your choice.

3) Make a note of the current TCP/IP details:
a. Right-click on Network Neighborhood and select Properties.
b. Select the TCP/IP protocol, click Properties, and then record the IP Address, Subnet Mask and Gateway settings.

4) Remove the TCP/IP protocol from Network properties. To do so, click on the TCP/IP protocol on the Configuration tab, and then click Remove. Click OK, and then click Yes when you are prompted to restart the computer.

5) Restart the computer to a command prompt. To do so, click Start, click Shut Down, click Restart, and then click OK. Press F8 when the 'Starting Windows 95' message appears, choose Command Prompt Only, and then press ENTER.

6) At the command prompt, type the following commands, pressing ENTER after each command:

cd fixip [ENTER] (This will change directory to the fixip folder)
fixip [ENTER] (This will run the fixip batch file)

7) Reboot the computer again using CTRL-ALT-DEL.

8) Reinstall TCP/IP. To do so, use the following steps:

a) Right-click on Network Neighborhood and select Properties.

b) On the Configuration tab, click Protocol, click Add, click Microsoft in the Manufacturers box, click TCP/IP, and then click OK.

c) Type in the settings for the IP Address, Subnet Mask and Gateway. then click OK.

NOTE: You may receive version conflict error messages during this process. If this happens, make sure you choose the option that will overwrite the current (possibly damaged) file with a fresh, undamaged version.

9) Restart the computer then test the TCP/IP stack by typing the following command at a DOS prompt:

PING 127.0.0.1

If you get a ping response then the stack has been re-built and, hopefully, you should no longer get the 'mprexe.exe' errors.

Hope this helps...
 
Thanks for that Rick998, much appreciated. I will pop in tomorrow and try this.
 
It worked! Thanks for all that - I owe you a drink!
 
Tom1681,

Yay!

PS - Just a thought but it might be an idea to use something like Symantec's 'Ghost' to keep a disk or partition image copy of the PC's hard drive whilst it's still working as you want?

Rick
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top