Running VB6 Applications on Windows 10 (64-bit)

Applications written in Visual Basic 6 can run on Windows 10 if the correct dependencies are installed.

The reason for packaging up this installation is that my SWFPlay utility would not run by default on Windows 10 (64-bit).

Package contents

Components

Comdlg32.ocx
MSCOMCTL.OCX
VB6STKIT.DLL

Batch files

copy_from_syswow64.bat
copy_to_syswow64.bat
register_syswow64.bat

Installation notes

  1. Download the zip
  2. Unzip
  3. Open an administrator level command prompt
  4. Run copy_to_syswow64.bat then register_syswow64.bat
  5. To backup the components run copy_from_syswow64.bat in a backup directory first

The batch files copy the DLLs and OCXs to %windir%\syswow64 and registers them in the registry using %windir%\syswow64\regsvr32.exe

I am not responsible if this damages your operating system however these are the Visual BASIC 6 Service Pack 6 versions of these components and were the last versions produced.

There may be other instances of this installed in the operating system (with Microsoft Office 365, 2016, 2019 etc) however those versions contain COM objects with different class ids (CLSID) and program ids (PROGIDs) and should not conflict. These components are installed in the %windir%\syswow64 directory because the compiled VB6 executable is 32-bit only and runs in the 32-bit compatibility layer in Windows 64-bit.

Version numbers

VB6SP6 Microsoft Office 365, 2016, 2019
COMDLG32.OCX 6.0.84.18 n/a
MSCOMCTL.OCX 6.0.88.62 6.0.88.62
VB6STKIT.DLL 6.0.84.50 n/a

We can only asssume that mscomctl.ocx supplied with Microsoft Office is a special build and that version cannot be used by 32-bit applications, hence the need to copy the 32-bit versions to SYSWOW64.

Download

Download the following package here (608k).

Back to index.