CAUSE
Microsoft Visual Basic Control Creation Edition 5.0 installs components
that are incompatible with Microsoft Visual Basic 4.0's Setup Wizard. These
components require different runtime components than the earlier Microsoft
Visual Basic 4.0 versions. The new controls that are affected are:
COMCTL32.OCX
COMDLG32.OCX
The files upon which these controls depend are:
ASYCFILT.DLL
OLEAUT32.DLL
OLEPRO32.DLL
STDOLE32.TLB
Changing the SWDEPEND.INI file for Microsoft Visual Basic 4.0's Setup
Wizard usually allows the appropriate files (above) to be included with the
distributed diskettes. However, OLEAUT32.DLL is a System file that is
commonly in use by the operating system, even with no other applications
running. This situation requires a system reboot to update OLEAUT32.DLL
properly. The Setup Wizard included with Microsoft Visual Basic 4.0 does
not support rebooting.
RESOLUTION
There are two possible workarounds for this behavior.
NOTE: If a Microsoft Visual Basic 4.0 application has already been
distributed to a target machine with the new .OCX components (as described
above), you must uninstall the application and manually remove or replace
the updated components. This is necessary because the workarounds below
make use of the Microsoft Visual Basic 4.0 components. The Setup Wizard is
incapable of replacing a later version of a component with an earlier one.
Workaround 1
Prior to installing Microsoft Visual Basic Control Creation Edition version
5.0, copy the following components:
COMCTL32.OCX
COMDLG32.OCX
OLEPRO32.DLL
MFC40.DLL
MSVCRT40.DLL
to the following folder:
C:\Program Files\Microsoft Visual Basic\Setupkit\Kitfil32\sys32
Microsoft Visual Basic 4.0's Setup Wizard always looks at the above folder
first when searching for dependent files.
Next, when you create distribution disks with Microsoft Visual Basic
4.0's Setup Wizard, follow these steps:
- Deselect the COMCTL32.OCX and COMDLG32.OCX references in step 5.
- Manually add COMCTL32.OCX and COMDLG32.OCX from the above folder
during step 7.
Again, this will only be necessary when creating distribution disks for
applications that use the COMCTL32.OCX or COMDLG32.OCX controls.
Workaround 2
Another workaround is to maintain a pure Microsoft Visual Basic 4.0 system
(one without Microsoft Visual Basic Control Creation Edition version 5.0
installed) for the purpose of creating Setup distribution files.