VB6 IDE Install

Written by

in

Here’s the full, current procedure. I’ve consolidated it from the community sources that have actually succeeded on W11 (including 24H2).

The install is fiddly because VB6’s 1998 installer (acmsetup.exe) fights W11’s security and data-access stack. Every step below exists to dodge a specific known failure.

What you need first

  • VB6 install media — Visual Studio 6.0 Enterprise or Professional ISO (.iso/.7z). You must legally own it; a VS subscription gives the download. If you only have CDs, copy the whole disc to a local folder (don’t install from optical or network — drive-letter changes break the legacy installer).
  • Visual Studio 6.0 Service Pack 6 (setupsp6.exe) — the last official service pack; get it from Microsoft/Wayback if the direct link is gone.
  • Administrator account on the W11 machine.
  • A system restore point before you start (this install touches system DLLs and the registry).

Pre-install: two one-time fixes that prevent 80% of failures

1. Pre-create the ~MSSETUP.T directory

The VS6 installer creates a temp dir at the root of the boot drive (C:\~MSSETUP.T) and fails on W11 because of inherited Mandatory Access Control security on the drive root.

  1. Create C:\~MSSETUP.T manually before running setup.
  2. Open its Properties → Security → Advanced → Disable inheritanceRemove all inherited permissions (do not copy them down).
  3. Add your user, Administrator, and the Administrators group with Full Control.
  4. The result should be a directory with only those three principals and no inherited ACEs. The installer will use it and delete it when done.

If you skip this, you get the classic “Visual Studio 6.0 Setup was not completed successfully” error near the end.

2. Bypass the Java VM check

The installer wants to install the discontinued Microsoft VM for Java and grays out Next if you refuse. Trick it:

  • Create an empty file named MSJAVA.DLL in C:\Windows\SysWOW64 (64-bit OS) or C:\Windows\System32 (32-bit OS). The installer sees the file, assumes Java VM is present, and skips that step. Delete the dummy file afterward.

Install VB6

3. Prepare the install folder

  1. Mount the ISO or open your copied install folder.
  2. Go into the setup\ subfolder and find the .STF file matching your edition: VS98ENT.STF (Enterprise) or VS98PRO.STF (Professional).
  3. Copy that .STF file and rename the copy to acmsetup.STF (in the same setup\ folder).
  4. Copy the entire contents of the setup\ folder up one level — into the root of your install folder (the one that contains acmboot.exe). You’re flattening setup\* next to acmboot.exe.

4. Run acmsetup.exe, not setup.exe

setup.exe launches acmboot.exe, which on W11 often errors with “Error launching acmboot.exe.” Bypass it:

  1. Right-click acmsetup.exe (now in your flattened root folder) → Properties → Compatibility.
  2. Set Compatibility mode: Windows XP (Service Pack 3). (Some report SP2 works better for SP6 later — try SP3 first, fall back to SP2.)
  3. Check Run this program as an administrator.
  4. Run acmsetup.exe directly. Do not run setup.exe.

5. Choose Custom and disable the parts that break on W11

Walk through the wizard:

  • Enter your Product ID / license key when prompted.
  • Choose Custom setup (not Typical or Products).
  • Accept the default install path (C:\Program Files (x86)\Microsoft Visual Studio).
  • Data Access → Change Options → uncheck ADO, RDS and OLE DB Providers. This is the single most important checkbox — leaving it checked causes the install to hang indefinitely on “Setup is updating your system” and breaks SP6 installation. You don’t need these for compiling; your apps use whatever data access they already reference.
  • Uncheck MSDN (unless you specifically want the local help docs — they’re ancient).
  • Skip “Update Microsoft Virtual Machine for Java” (if it still appears, your MSJAVA.DLL dummy didn’t take — decline it).
  • For everything else, leave the defaults; you want VB6, the common controls, and the compiler (vb6.exe).

6. If the install appears to hang

  • Open Task Manager and watch ACMSETUP.EXE CPU usage — if it’s active, the installer is working (it can sit “thinking” for ~2 minutes).
  • If it’s truly stuck (0% CPU, dialog frozen), it’s almost always the Data Access components — kill it, rerun Custom with Data Access unchecked.
  • On completion, reboot even if not prompted.

Post-install: Service Pack 6

SP6 is mandatory — it’s the last official service pack and contains compiler fixes, updated controls, and stability fixes many legacy projects expect.

  1. Get setupsp6.exe (Microsoft download or Wayback Machine if the direct link 404s).
  2. Right-click setupsp6.exeCompatibility → Windows XP (Service Pack 2) (several report SP2 works where SP3 doesn’t for the SP6 installer). Run as administrator.
  3. Click Continue → I Agree → OK on “Setup Successful.”
  4. If SP6 refuses to install, it usually means the base VS6 install didn’t complete cleanly — rerun the VS6 install (step 4 onward) with Data Access unchecked, then retry SP6.
  5. Reboot.

Launch configuration

  1. Locate VB6.EXE at C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE.
  2. Right-click → Properties → Compatibility: set Windows XP (Service Pack 3) and Run as administrator. Apply.
  3. Launch once as administrator so it can register components and create its registry entries.
  4. Verify: open a project → Help → About. It should show “Visual Basic 6.0 (SP6)” — if it shows the base release or no SP, SP6 didn’t apply; rerun SP6 as admin with antivirus/endpoint protection temporarily off (it can block file replacement in the VS install dir).

Fix: oleaut32.dll error

If setup errors out with an oleaut32.dll message, the installer’s bundled version is too old:

  1. Copy the modern oleaut32.dll from C:\Windows\System32 (or SysWOW64 for the 32-bit variant).
  2. Replace the one in your VB6 install source’s Redist (or Wizards\PDWizard\Redist) folder.
  3. Rerun acmsetup.exe.

(There’s also a standalone OLEAUT32.DLL Security Update on Microsoft Download Center — KB article / download id 4842 — but the file-replacement approach is what most guides use.)

Verify the compiler works for your use case

Since you’re going to build from the command line (not the IDE), confirm vb6.exe works headless:

You should see the switch list (/make, /out, /outdir, /makedll, etc.). Then do a test build of one of your existing .vbp projects:

Open build.log and look for Build of YourProject.vbp succeeded.

Cleanup

  • Delete the dummy C:\Windows\SysWOW64\MSJAVA.DLL if you created it.
  • The C:\~MSSETUP.T folder is auto-deleted on a successful install; delete it manually if it remains.

Troubleshooting quick reference

SymptomFix
“Error launching acmboot.exe”Run acmsetup.exe directly (not setup.exe) after the .STF rename/flatten step
“Setup was not completed successfully” near endPre-create C:\~MSSETUP.T with corrected security
Hangs on “Setup is updating your system”Custom install, uncheck Data Access
Grays out Next over Java VMCreate dummy MSJAVA.DLL in SysWOW64
oleaut32.dll errorReplace Redist copy with the System32 version
SP6 won’t installRun SP6 in XP SP2 compat as admin; disable AV; retry
About box shows no SP6Re-run SP6 as admin with endpoint protection off
Install fails on ARM64Not supported on ARM — use an x86/x64 VM (Hyper-V is included with W11 Pro)

Sources

If your W11 build is 24H2 or later and the classic install keeps failing, the Inno Setup port (last source above) is a community-built single-EXE installer that sidesteps most of the ACME setup pain. It is worth trying as a fallback.

Comments

Leave a Reply