Archive: RegDLL & Win 98


RegDLL & Win 98
I've created an install package to registrer an OCX file. Works great on NT, 2000, XP but on Windows 98 (IE 5) when the function below is called, Windows pops-up the following message:

MYAPPLICATION caused an invalid page fault in
module MYAPPLICATION .OCX at 0177:00a5602d.
Registers:
EAX=00000000 CS=0177 EIP=00a5602d EFLGS=00010246
EBX=00000104 SS=017f ESP=0099e390 EBP=0099e9b8
ECX=00000000 DS=017f ESI=00aa32d8 FS=5acf
EDX=0099e5a4 ES=017f EDI=00445b78 GS=0000
Bytes at CS:EIP:
66 83 20 00 59 59 89 45 fc 8d 85 f4 fd ff ff 53
Stack dump:
0099e5a4 0000002e 00000000 009b0000 00000000 00000000 00000000 00000000
00000100 000004e4 00000000 0099e414 00a350ff 00000000 00000200 0099e87c


This is the function I use to register the OCX:

Function "InstallOCX"
start:
SetOverwrite try
ClearErrors

SetOutPath "$INSTDIR\Bin"
File "C:\MyApplication.ocx"
IfErrors inuse

RegDLL "$INSTDIR\Bin\MyApplication.ocx"
Return

inuse:
MessageBox MB_RETRYCANCEL|MB_ICONSTOP "Unable to copy MyApplication.ocx. This file might be in use. Please close all applications using MyApplication and try again." IDRETRY start

MessageBox MB_OK|MB_ICONEXCLAMATION "Sorry, there was a problem installing MyApplication. Please reboot your computer and try again."
Quit
FunctionEnd

I have not had the opportunity to test on ME, 95 or other OS. Has anyone had similar problems with RegDLL and non-NT based Windows. Is there a way for me to trap errors like this. Thanks, Sandy.


What kind of message do you get when you register the file using regsvr32?


I get the same error when using regsvr32. I tried it on several computer and the same thing happens.


Maybe it doesn't built to work on Windows 98 or without a certain version of Internet Explorer. Once you find out what makes it crash you can use scripts in the Archive to find out what version of Window and Internet Explorer are used and abort if they don't match.