PDA

View Full Version : MSVB50.DLL is linked to missing export OLEAUT32.DLL-421 error



NewsArchive
05-09-1997, 12:00 AM
I am using IEX2 and VB5. I have created a VB5 setup. On a machine with just
Win95 (4.00.950) installed I get the error "MSVB50.DLL is linked to missing
export OLEAUT32.DLL-421" when IEX tries to self register my server
component. The error does not occur again if I rerun the installation once
the machine has been rebooted. Any ideas on what to do?

Thanks,

Chester

NewsArchive
05-12-1997, 12:00 AM
Is it MSVB50.DLL or MSVBVM50.DLL that appears in the error message ?
If it is MSVBVM50.DLL then the reason is:
MSVBVM50.DLL requires a version of oleaut32.dll that is newer than
what came with Windows 95. Oleaut32.dll is always locked and
can only be replaced when the machine is being restarted. This
is what Express does and since the Self Registration takes place
before the restart you run into problems. You'll notice that Self
Registration
of DLLs would work fine because Express loads in the newer version
of oleaut32.dll into its own process space before it starts the Self
Registration.
Since there is no way to defer the Self Registration of files until restart
in
Express you'll have to workaround the problem by

1. Remove the OLESelfRegister string from your EXE which will stop Express
from trying to self-register your server.
2. Setup Express to create a value under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
which will launch your EXE with the /REGSERVER command. This will cause
your
server to be self registered during the next restart.

Since a restart is not required on a machine which already had the right
versions of the DLLs you should turn the "Always show reboot computer
dialog" checkbox on under Dialog Boxes/Setup Complete/Settings.
Another option is to run your server with the /REGSERVER option
as an Express Extension before "Exit Setup". Extensions specified
in this phase don't get executed if the reboot computer dialog is
shown.

A major problem with this workaround is that your server will
not get de-registered during unInstall unless you want to do
some custom unInstall. There is some information on
customizing Express unInstalls in the thread
"Uninstall Customizing" in the installshield.express.general
newsgroup.

Chester <chester@b022.aone.net.au> wrote in article
<01bc5cac$68f5c9c0$10bc0ccb@Chester>...
> I am using IEX2 and VB5. I have created a VB5 setup. On a machine with
just
> Win95 (4.00.950) installed I get the error "MSVB50.DLL is linked to
missing
> export OLEAUT32.DLL-421" when IEX tries to self register my server
> component. The error does not occur again if I rerun the installation
once
> the machine has been rebooted. Any ideas on what to do?
>
> Thanks,
>
> Chester
>
>

NewsArchive
05-12-1997, 12:00 AM
I've got the same problem.

NewsArchive
05-17-1997, 12:00 AM
I'm having the same problem also.

The message I am getting is for a VB50 Exe that I am using as an Express
Extension. That means I need to execute the program immediately but I
can't. Any ideas?

Chester wrote:
>
> I am using IEX2 and VB5. I have created a VB5 setup. On a machine with just
> Win95 (4.00.950) installed I get the error "MSVB50.DLL is linked to missing
> export OLEAUT32.DLL-421" when IEX tries to self register my server
> component. The error does not occur again if I rerun the installation once
> the machine has been rebooted. Any ideas on what to do?
>
> Thanks,
>
> Chester