Install VB6 on Windows 8

Posted On 2012-03-25 by dwirch
Tags: VB6 Miscellaneous Tutorial Tip Windows 8 Windows
Views: 98197

As most of the world knows, Microsoft has made available a consumer preview of Windows 8. While this is still considered beta software, I highly recommend you check it out. Some of us technology minded folks are charged with supporting legacy software, developed with Visual Studio 6 (particulary Visual Basic 6), and with the iminent release of Windows 8, there is some worry about whether our support tools will work with it. This tutorial will (hopefully) help you get VB6 installed on your Windows 8 system!

First off, I highly recommend you test this on your non-production machine. As with all beta software, strange things can happen. If you fry your system, don't hold me responsible! I am just passing on what has worked for me. This description might be a little verbose, but I would suggest that you at least read through it once before proceeding. That way you can pick out the bits that pertain to you. Also, I may have included some unecessary steps, but like I said, this is the process that worked on my test system.

Test system specifications

The following system was used to test this procedure:

  • Dell Latitude E6410
  • 4GB RAM
  • Intel Core i7 @ 2.67 gHz
  • Windows 8 Consumer Preview (64-bit) (fully patched)

No other software has been loaded on to the system. It's fully stock. Your results and process may vary for 32-bit systems, or if you have installed any other software, but should work. If not, it should give you a good starting point. Insert the disk into the drive (or mount the ISO), after which autorun should detect the disk, and ask for action, at which point you should ignore or dismiss it.

First Thing

Be sure to create the zero byte file for MSJAVA.DLL, as described on this supporting page.  If you don't you'll at the very least be forced to reboot after the installation of a very old version of Java. I've also seen where the Java install gets "stuck", in that Java tries to install every time you run setup, and forces a reboot every single time, due to the inability to completely install.  So, do yourself a favor, and create the zero byte file. It only adds a minute to your process, and it's worth it.

Change compatibility settings

Hold the Windows key and press the letter E to open Windows Explorer. Browse to the CD/DVD drive where you have inserted the disk, and right click the setup.exe application to run the program as Administrator. Check the checkbox under Compatibility mode, and select Windows XP (Service Pack 3) under the Run this program in compatibility mode for: heading. Click Apply, then Ok. Back in Windows Explorer, open the Setup folder on the CD-ROM, and change the compatibility mode for the ACMSetup.exe using the same method.

Step through the Wizard

  1. UAC
    1. Yes
  2. Program Compatibility Assistant
    1. "Run the program without getting help"
  3. Installation Wizard
    1. Next
  4. End User License Agreement
    1. I accept the agreement
    2. Next
  5. Product Number and User ID
    1. Enter product number
    2. Enter Your name and Your company's name
    3. Next
  6. Setup Options
    1. Install Visual Basic 6.0 Enterprise Edition
    2. Next
  7. Choose Common Install Folder
    1. default location; change if needed
    2. Next
  8. Program Compatibility Assistant
    1. ACMSetup is run at this point to actually install VB6
    2. Select "Run the program without getting help"
  9. Visual Basic 6.0 Enterprise Setup
    1. Click Continue on the opening screen.
    2. Click Ok at the bottom of the Product ID screen
    3. pause while setup searches for installed components
  10. Choose the installation you want
    1. I selected custom for this installation. For the options, I chose Microsoft Visual Basic 6.0 and Active X. Ensure Data access components is deselected. If it's not deselected, setup will hang!
    2. change path if desired. I used the default path

Setup will go through a few steps, and eventually complete.

Some Final Tweaks

Back in Windows Explorer, browse to the path that you install VB6 to. If you stuck to the defaults, the path should be: c:\Program Files (x86)\Microsoft Visual Studio\VB98

Right-click the VB6.EXE program, select properties, then go to the Compatibility tab. At the bottom of the window, click the Change settings for all users button. Put a tick mark in the check box, and make sure the Windows XP (service pack 3) option is selected in the drop down.

You'll also want to put a check mark in the Disable display scaling on high DPI settings and the Run this program as an administrator check boxes, towards the bottom of the window.

Finally click Apply, then Ok, then Ok again. Now, you can go ahead and close you miscellaneous Explorer windows, and head back to your Start tiles. In that list, you should see a Microsoft Visual Basic 6.0 icon in the list.

Visual Basic 6 Icon

Click that bad boy, and enjoy the legacy goodness!

Program built with Visual Basic 6 running on Windows 8

About the Author

dwirch has posted a total of 189 articles.

Comments On This Post

By: dwirch
Date: 2012-03-25

I will re-test this procedure when the RTM is released.

By: LoboFX
Date: 2012-06-08

Hello dwirch, thanks for the article! It worked here too.
Question: Did you succeed installing the VB6 SP6 after that?
It has failed here...

By: dwirch
Date: 2012-06-09

Dang. forgot to install SP6. I'll have to load up the Release Preview (or Release Candidate if your prefer) and give it a shot.

By: blackdyke
Date: 2012-07-26

Hello dwirch,
thanks for your article. the setup did not complete, but vb is running. the problem is I cannot install sp6, because vb6-setup did not finish successfull. are there any hacks to manipulate the registry, so I can install sp6?

By: uffeuffe
Date: 2012-08-17

Hey, you need to untick "Data Access" options when installing, then the installation works fine and you can install SP6 afterwards.

By: dwirch
Date: 2012-08-17

I need to re-write this article, now that RTM is out... I'll post an update soon.

By: sacsac
Date: 2012-08-28

I got the main VB6 IDE installed, but SP6 refuses. I run it as admin, and it goes through the entire process, ending up with saying that has not installed correctly! Any ideas?

By: adrianhalid
Date: 2012-10-03

It seems the components that cause an issue when installing are as follows.
I select Custom install and uncheck the following.

Tools -> OLE/Com Object Viewer
Enterprise Tools -> Visual Studio Analyzer
Data Access -> Change Options -> ADO, RDS and OLE DB Providers

I was successful with installing Visual Studio 6 IDE and SP6 with the above options unchecked.

By: adrianhalid
Date: 2012-10-03

Here is my step by step guide in detail.

Visual Studio Installation
1. Ensure UAC has been turned off.
2. Ensure your user has administrative rights on the computer.
3. Run the Setup.exe file in the Visual Studio Installer.
4. “Run the program without getting help” when the error “This program has compatibility issues”.
5. Click Next, Accept the Agreement and click Next.
6. Enter your software key, name and company name. Click Next.
7. Update Microsoft Virtual Machine for Java.
8. “Run the program without getting help” when the error “This program has compatibility issues”. Note message shown twice.
9. Say “Yes” to reboot the system.
10. On start up the setup continues to run.
11. “Run the program without getting help”
12. Start Page shown. Click on Desktop.
13. “Run the program without getting help”
14. Visual Studio 6.0 Enterprise Edition shown with options “Custom, Products or Server Application”.
15. At this point click “Exit” on the installer and confirm with “Yes” otherwise an error will be shown if you continue.
16. Run the Setup.exe file in the Visual Studio Installer.
17. “Run the program without getting help”
18. Click Next and Accept the Agreement and click Next
19. Enter your software key, name and company name. Click Next.
20. Select Custom and click Next
21. Installation folder click next
22. “Run the program without getting help”
23. Click “Continue”.
24. Product ID click “Ok”
25. Tools -> Change Options -> OLE/Com Object Viewer, Uncheck and click OK.
26. Enterprise Tools -> Change Options -> Visual Studio Analyzer, Uncheck and click OK.
27. Data Access -> Change Options -> ADO, RDS and OLE DB Providers, Uncheck.
28. At this point it warns saying the component is essential. Click OK and OK again.
29. Click continue.
30. Say Yes to register environment variables.
31. Say Yes to VSS DB format.
32. Install box with “Destination File:” should appear.
33. Setup is updating your system message box should appear.
34. Click OK to Windows NT Debug Symbols.
35. Click Restart Windows.
36. On start up the setup continues to run and loads APEMREG.exe.
37. Install using compatibly settings.
38. “Run the program without getting help”
39. Untick install MSDN. Click Next and yes to confirm.
40. Select Nothing and click Next.
41. Select Nothing and click next.
42. Untick Register and click finish.
SP6 Installation
1. Run setupsp6.exe
2. Click Continue.
3. Click I Agree.
4. Setup Successful click OK.

By: dwirch
Date: 2012-10-03

Good job - Thanks for the writeup!

By: adrianhalid
Date: 2012-10-04

Just another point on this.. I think the Data access fails because RDS Remote Data Services are no longer included in Windows 8

By: adrianhalid
Date: 2012-10-04

So the installer goes in an infinite loop looking for a registry entry for the class id of RemoteData Services.

By: bond
Date: 2012-11-09

With Data Access unticked would this mean I wouldn't be able to link an Access 2003 database?
Relevant components being Microsoft Data Bound Grid Control 5.0, and the default Data control in toolbox.

By: dwirch
Date: 2012-11-10

@Bond - I haven't run into that. When I perform the install the Data Access option is selected, and cannot be unselected. But I would assume that if you somehow get it unselected, then yes, that *might* prevent you from connecting to an Access 2003 database. However, the problem might be mitigated by installing MDAC on the system.

By: bond
Date: 2012-11-10

Have you managed to get SP6 working? Through either your own means or adrianhalid's method.
Having looked through many threads I can't see that anyone has so I'm slightly skeptical. Do you also get the issue of windows not recognising VB6 as a program? ie. not being listed under uninstall programs, as I've seen this is common.
I may just stick with using VB6 on my laptop with Windows Vista in the end but it'd be nice to get it working on Windows 8!

By: dwirch
Date: 2012-11-10

SP6 went on without a hitch, just by running through the setup. I've got it running on all three of my Win8 machines. Although, one of the machines has a problem with control placement on forms. Weird thing with the cursor being about an inch below where the control is, most likely a flaky video driver on that one machine. Other than that, no problems.

By: davidd
Date: 2012-11-13

SP6 needed for MSHFlexGrid I think - I followed FortyPoundHead advice for installing VB6 on Windows *7*, with with Data Access components selected as normal, which then stopped responding (as described). SP6 didn't install properly, and MSHFlexGrid/Hierarchical FlexGrid control failed to load. Then I found this thread, and re-installed, this time unchecking the Data Access checkbox for "ADO, RDS, and DB Providers" as suggested. This completed normally, SP6 then installed OK, and MSHFlexGrid and data access all worked OK. Success! Thanks for all the advice.

By: bond
Date: 2012-11-15

Adrian's instructions seem to have worked for me. Throws up the occasional error but it's working fine.

By: rn701
Date: 2012-11-17

VB6 installed on Win8 as described and seems to work OK.

One interesting problem. Forms with form icons that have transparent backgrounds won't load, saying the icon is not valid. Removing the icon or replacing it and saving the form fixes it. Executables that ran fine on Win7 will not run on Win8 unless this is fixed and the app recompiled.

Wondering if it's a bug in the Windows forms engine, WOW, or something else. Unfortunately, my app has approx. 100 forms with this problem that I will have to go through and find new icons or fix the existing icon by filling the transparent parts and adding it back to the form, which seems to work.

By: rn701
Date: 2012-11-17

P.s. re. previous comment about icons, I'm just guessing that the problem is related to transparency. Could be something else Win8 doesn't like about them that was fixed by editing the icon and saving it.

Also, the runtime error for an executable with this problem is the generic 50003 error.

By: online98
Date: 2012-11-22

hi , SP6 include DataAccess ??
I am not able to install Visual Basic on Windows 8 :(
compnent not registered

By: davidd
Date: 2012-12-17

@online98 - you could try like I did i.e. initially install with Data Access components all selected, watch it hang, kill the job from Task Manager, then install again, this time unchecking the Data Access checkbox for "ADO, RDS, and DB Providers" as suggested. Then install SP6, and ADO etc. should work (though in my case I was only doing a very simple ADO call in my VB6 code).

By: ajit
Date: 2012-12-18

VB Can be Installed neatly in Win 8 & win 7
And Start Development

By: adrianhalid
Date: 2013-01-05

We also had the issue with form icons and replacing them worked. Not sure what the actual issue was.

We even had the application raise an error on these forms even if compiled on windows 7 and then ran the compiled exe on a windows 8.

By: frannkfga
Date: 2013-01-15

Tengo un problema diferente, en mi caso el Visual Basic se instalo, pero no reconoce las unidades de red, ni cuando se compila el ejecutable; que tengo hacer?

By: dwirch
Date: 2013-01-16

For non-spanish speakers, Frannkfga posted:

I have a different problem, in my case the Visual Basic was installed, but does not recognize network drives, or when compiling the executable, that I have to do?

By: dwirch
Date: 2013-01-16

@frannkfga: Have the network drives been mapped to drive letters? Are you using the standard drives control ?

By: dwirch
Date: 2013-03-05

You can download VB6 Service Pack (SP6) Runtime Extended from

Date: 2013-03-20

I am not a technical fundi but I am having trouble installing my VB6 on my new Windows 8 machine. I tried to follow the above with no success. Can you please help?

By: davidd
Date: 2013-06-26

I’ve now installed VB6 on Win8/64 bit on both VMware and non-virtualized/“real” Win8/64, using the excellent advice on this page and the corresponding Win7 page. (I often have VB6 compatibility set to Vista SP2 rather than XP as it seems to have the same effect as XP in fixing the control draw/resizing "jiggly" effect, and my project has some XP-specific alignment code which does not display correctly in Win 8 etc.)

I’ve encountered two minor issues:-

a) If the very-useful MZ-Tools add-in is set to load on startup, and compatibility mode of VB6 is set to Vista SP2 or earlier (e.g. XP), then VB6 loads very slowly, and selecting controls is sluggish. If compatibility mode is set to Win7 or switched off (or MZ-Tools not loaded) then things are quick. (This happens in both VMware and “real” Win8/64.)

b) In VMware Win8/64, if I set VB6 compatibility mode to Vista SP2 or earlier (e.g. XP), then I get a crisp *red* "resizing" rectangle (like the *grey* one in XP or fixed Win7) as I draw or resize controls and not the default “jiggly” effect (i.e. slowly "oscillating" grey rectangle) as described elsewhere. However in non-virtualized/“real” Win8/64 I get no visible "resizing effect" at all (i.e. no red rectangle or “jiggly” effects) when resizing controls with compatibility set to Vista SP2 or earlier.

Neither problem is serious, but I was wondering if anyone has any ideas how to fix?

By: AnonymousCoward
Date: 2014-09-12

Feel like i love this post :D

By: AnonymousCoward
Date: 2014-10-03

If I unselect Data access components then it is working with Windows 10 Enterprise Preview too.

By: AnonymousCoward
Date: 2014-11-07

Good to see VB6 programming working on Windows 8

By: dwirch
Date: 2014-11-07

There is a write up specifically for Windows 10, if you're interested:

By: AnonymousCoward
Date: 2014-11-12

VB6 programming on Windows 10 too ?
VB6 is going to live forever !

By: AnonymousCoward
Date: 2015-01-04

An additional configuration note - which gave me two days of trial and error and desperation:
Right-click on "C:\Program Files (x86)\Microsoft Visual Studio\VB98\vb6.exe"
and ensure that the following options are selected:
- Run this program in compatibility mode for:
  Windows XP (Service Pack 3)
- Run as an administrator

If "run as an administrator" is not checked, you may run into problems when installing a compiled VB6 .exe with MSI installer.
For example:
"Info 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor."

This error during the installation of an msi package was caused by a custom action that was trying to launch an .exe executable.  The executable was a VB6 program that had
been compiled under Windows 8.1., where the "Run as an administrator" for vb6.exe was not checked.


By: AnonymousCoward
Date: 2015-01-26

1 .Installation according adrianhalid 2012-10-03
2a. Error on the first call of vb6.exe: automation error application-defined or object-defined error

2b. Solving this problem according AnonymousCoward 2015-01-04 - Thank you very much!

3. Error on the first call of project.vbp: c:\...\MSCOMCTL.OCX could not be loaded

 Has anyone any ideas how to fix?

By: dwirch
Date: 2015-01-26

When you first ran the VB6 IDE, did you run it as administrator?

By: AnonymousCoward
Date: 2015-02-11

i need setup or software to install vb for windows 8

By: dwirch
Date: 2015-02-12

I think you are asking for installation media, yes?  There are two legal ways to find the media.

First, you can go on eBay and purchase a copy.  VB6 alone can be had for around $100 US.  Visual Studio can go up to $300 US.

Second, you can acquire an MSDN subscription with Microsoft, which will grant you access to the VB6 ISO and Service packs for it. This also grants you access to other software in the library as well.  Just be forewarned that licensing is confusing. Basically, MSDN licensing means that it can be only used for testing and QA, not in production.  With you being a 'developer', and VB6 being a development tool, and you using to produce applications, this makes a production application, breaking your MSDN agreement.

If you're looking for software to do the installation for you, you can check out Nuke.

By: boblite
Date: 2015-03-28

In his checklist dated 2012-10-03 concerning installing VB6 in Windows 8, adrianhalid advised:

"7. Update Microsoft Virtual Machine for Java."

How do I do this ?

(This is unlike dwirch's advice for dealing with Java while installing VB6 in Win7, where a zero byte file called msjava.dll was placed in the C:\Windows directory, "The setup process will look for this file, and if it doesn't find it, will force an installation of old, old Java, and require a reboot. By creating the zero-byte file, the installation of moldy Java is bypassed, and no reboot will be required."  Does this logic apply to the Windows 8 installation ?)

By: dwirch
Date: 2015-03-29

Holy moly, I can't believe I left that step out! Good catch boblite

By: AnonymousCoward
Date: 2015-04-01

Thanks for your reply, dwirch.  So how do I update Microsoft Virtual Machine for Java ? Or wil it suffice to create a zero byte file called msjava.dll in the C:\windows directory ?

By: dwirch
Date: 2015-04-01

You don't need to update Java.  The Java that you have installed is many versions newer than the one that comes with VB6. The installer is just not that smart. If it doesn't see that particular file in that particular location, then it'll try to install the old old old version that comes with it. Since Java hasn't has that file for a loooong time, VB6 setup will always try to install that file.

My advice is to just create the zero byte file and be done with it. I updated the article above on March 28 with a link to the necessary information, or you can just go directly to the zero-byte file how-to article.

By: boblite
Date: 2015-04-11

Thanks to dwirch, I've successfully installed VB6 under Windows 8 (64 bit).  However, I've not been successful in installing the MSDN Library when the VB6 installer asks for Disk 1 of the MSDN Lbrary. 

Method 1: I inserted Disk 1 of the 3 disk set of the January 2000 MSDN Library.  A message box popped up saying something like "can't install on 64 bit system."  

Method 2: Following dwirch's suggestion, I downloaded from the Microsoft website a copy of the MSDN Library 2008 and put it on a DVD Rom disk.  The VB6 installer asked for Disk 1 of the MSDN Library, and I navigated to the DVD drive. The VB6 installer balked and did not recognize anything on the disk.

Method 3: I put the MSDN Library 2008 files on an ISO DVD disk. The VB6 installer balked and did not recognize anything on the disk.  Would it work if I put a file on the DVD rom that the VB6 installer would recognize as Disk 1 and then would open and execute, presumably executing the setup file ?  If yes, what filename and what instructions should the file contain ?

Additional question: If I just install the MSDN Library 2008 as a standalone program, is there some way of telling VB6 to access it, so that it shows up when I click on HELP within VB6 IDE ?  Like, is there some kind of .cfg or .ini file within VB6 that will provide the link ? 

Will much 'preciate suggestions.




By: boblite
Date: 2015-04-11

In my last post I asked a question I would like to re-phrase more carefully, as follows:

"If I install the MSDN Library 2008 as a standalone program, is there some way of telling VB6 to access the MSDN Library, when I click on HELP within the VB6 IDE ?  Like, is there some kind of .cfg or .ini file within one of the VB6 or Visual Studio folders, that will invoke the MSDN Library when the VB6 HELP  button is clicked ?"

I will much appreciate advice.

By: AngryDev
Date: 2015-04-16

I have a new machine. I installed VB6 and everything went great. I updated to SP6 and installed the mouse wheel fix. Still, everything is great. Then I installed VS 2013 Community Edition. Now when I start VB6, a Visual Studio 2013 dialog box appears and says to please wait while Windows configures Visual Studio 2013 Professional. That process loops through itself several times before VB6 crashes. If I disable the addon, VB6 works fine. I have the same arrangement on another machine so I know they can work together.

Has anyone else run into this?


By: boblite
Date: 2015-04-16

On a puter running 32 bit Windows 8.1 pro, I successfully installed MSDN Library January 2000, by supplying disk 1 (of MSDN January 2000) when the VB6 install program invited me to do so.  But this restricts me to the one 32 bit machine running Win 8.1 pro. Would really like to know how to install MSDN Library on 64 bit machines.

Date: 2015-06-26

With reference to the post of frannkfga (2013-01-16), I couldn't see an answer and we have the same problem. Our builds are referencing a file on a network drive  that can't be accessed. There are no network drives available in the tree view, but they are there in Explorer. I'm no expert in Visual Studio so any guidance how to fix this would be most appreciated. Thanks

By: dwirch
Date: 2015-06-26

Assuming you have the network location mapped to a drive letter, have you tried using the SUBST command to map a "local" drive letter to the network drive?  It'll fool Windows into thinking the network location is a network drive. 

So if you have your network drive mapped as X:, use Subst at a command prompt to map it to a local drive.  goofy, yes, but has worked for me in different circumstances.

By: gopesh
Date: 2015-07-06


I am trying to installing VB6 SP6 om windows server 2012, but it is saying "Visual Studio 6.0 Sevice Pack 6 was not completed successfully." after clicking 'I agree' from the installation wizard.

Can you please help me in installing this ?


By: AnonymousCoward
Date: 2015-07-08


We tried that, but what did work was the fact that we didn't run Vis 6 as an Administrator and we got it to build. So we're happy at the moment. Thanks

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links