Visual Basic 6 (VB6) was one of the easiest programming languages to learn back in the day. It was released in 1998 and is now replaced by Visual Basic .NET (VB.NET). Even though VB6 is outdated, the programs created and compiled with VB6 can still work with the latest Windows operating systems which is why you can still find people attempting to install VB6 on Windows 10. One example is a high profile FBI crackdown case on the powerful RAT malware called BlackShades which is capable of silently doing a lot of things on a remote computer and it is created with VB6.
If you’re trying to install VB6 on newer operating systems starting from Windows 8 onward especially with 64-bit architecture, you are sure to encounter installation problems. One of the problems is the setup installer asking you to update your Microsoft Virtual Machine for Java which was discontinued back in 2003. It is a terribly bad idea to go ahead and install the outdated Java as there might be vulnerabilities that can compromise your system’s security.
Apart from that, if you’re trying to install VB6 in Windows 8 and above with 64-bit, you may also encounter problems with the VB6 setup not able to complete the installation and hanging at “Setup is updating your system“.
Bypass Update Microsoft Virtual Machine for Java
A computer should always maintain the latest version of Java and is pointless to have the discontinued Microsoft Virtual Machine for Java on the computer just to install Visual Basic 6. The problem is, the VB6 setup does not allow you to continue with the installation if you untick the “Update Microsoft Virtual Machine for Java” checkbox as it grays out the Next button.
The solution is to trick the VB6 setup into thinking that the Microsoft Virtual Machine for Java already exists on the system so the installer automatically skips this step. Basically the VB6 setup checks if the file MSJAVA.DLL exists in the System32 folder for 32-bit operating systems or in SysWOW64 for 64-bit operating systems. It is possible to create a zero byte MSJAVA.DLL fake file and place it in either System32 or SysWOW64 depending on the Windows architecture but this doesn’t work in Windows 10.
If you have 7-Zip archiver (If you don’t have, you can download 7-Zip from here), go to the IE4 folder located in the VB6 installation files, right click at MSJAVX86.exe, go to 7-Zip and select “Open archive“.
In 7-Zip, double click on javabase.cab which will open another list of files. Look for msjava.dll in the list, extract and copy it to C:\Windows\System32\ if you’re on a 32-bit of Windows or C:\Windows\SysWOW64\ if you’re on a 64-bit Windows. If you are unable to follow the steps above, or don’t want to install additional programs such as 7-Zip, you can download the MSJAVA.DLL file from the link below and copy it to the directory mentioned above.
After copying MSJAVA.DLL to either the System32 or SysWOW64 folder, you can launch the Visual Basic 6 setup.exe file to start the installation. You’ll notice that it doesn’t prompt you to update your Microsoft Virtual Machine for Java anymore. If you’re unsure about the architecture of your Windows operating system, the general rule is to copy the MSJAVA.DLL file to SysWOW64 folder if it exist, and if it doesn’t, then copy it to System32.
Prevent “Setup is updating your system…” progress from getting stuck
If you follow the default installation options, chances are you’ll experience the “Setup is updating your system” progress getting stuck, especially on a 64-bit Windows operating system.
If you take a look at Task Manager, you’ll notice that the process ACMSETUP.EXE uses up a lot of CPU resources, but there is no progress even after waiting for hours. You can terminate the hung process which stops the installation from completing and the resulting problem is you won’t find the Visual Basic 6 shortcuts in the start menu and there will not be an entry in Programs and Features for you to uninstall the program. You can however still run Visual Basic 6 directly from the program’s folder.
Since the Visual Basic 6 installer was created back in 1998, there are some components that will not install properly in a current Windows operating system which causes the installation to get stuck or hang. After investigating further, we found the culprit and you’ll just need to exclude the specific item from installation to solve the problem.
During the setup options, you are asked to choose 3 options which are Custom, Products or Server Applications. Make sure to select Custom and click Next.
When you get to the installation part that asks you to choose the components from the list, select “Data Access” and click the Change Option button.
You will then get another list of components with only 5 items. Select the first option “ADO, RDS, and OLE DB Providers” and click the Change Option button.
Now you’ll get another list of components that belongs to the ADO, RDS and OLE DB Providers. Simply uncheck the first option “ADO and RDS” and click OK.
You should get a warning that this component is an essential part of the application and the application will not run properly if it is not installed. You can ignore that warning popup by clicking OK and proceeding with the installation. The VB6 installation setup should now complete successfully without problems.