Как установить vb6 на windows 10

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

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 it is outdated by several years, 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.

install visual basic (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. These range from not being able to continue the install without first installing discontinued versions of Java to the setup process hanging and crashing.

In this article, we’ll show you how to successfully install Visual Basic 6 (VB6) in Windows 10 64-bit.

Bypass Update Microsoft Virtual Machine for Java Requirement

A computer should always maintain the latest version of Java and it’s pointless having 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.

Vb6 java box

The solution is to bypass the VB6 setup by either tricking it into thinking Microsoft Java is already installed or by telling it not to install Java in the first place. Then you can reach the next phase of the installation.

There are two ways in which you can do this which we’ll list below, you only need to use one of them.

Trick VB6 setup into thinking Microsoft Virtual Machine for Java is Installed

The VB6 installer checks if the file msjava.dll exists in the SysWOW64 folder for 64-bit systems or System32 for 32-bit systems. Placing the file into the right folder will let the VB6 install continue.

a) For the quickest and easiest way of doing this, you can download the msjava.dll file from the link below and copy it to the required directory.

Download MSJava.dll

If you’re unsure about the architecture of your Windows operating system, simply try to copy msjava.dll to the C:WindowsSysWOW64 folder. If it doesn’t exist, you have a 32-bit system and should copy the file to the C:WindowsSystem32 folder instead.

b) Alternatively, the same DLL file is also present on the installation disc. You can extract it if you have an archiver such as 7-Zip installed on your system. Go to the IE4 folder located on the install CD, right click on MSJAVX86.exe, go to 7-Zip and select “Open archive“.

In 7-Zip, double click on javabase.cab which will open it. Look for msjava.dll in the list, drag it onto the Desktop and then copy it to SysWOW64 or System32. Copying to the Desktop first will avoid any access denied error when trying to copy the file directly from 7-Zip.

Copy msjava dll to desktop

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. It now doesn’t prompt you to update Microsoft Virtual Machine for Java.

Tell VB6 setup Not To Install Microsoft Virtual Machine for Java

If you have the VB6 setup files on your hard drive, it’s possible to edit the settings file for the installer and tell it not to ask for Microsoft Virtual Machine for Java. This will ignore the requirement and continue the install process.

a) The simplest option here is to download the SETUPWIZ.INI file from the link below. As the name implies, this is the setup wizard configuration file. Make sure to download the correct INI for your version of Visual Studio.

Download SETUPWIZ.INI (For Visual Studio 6 Enterprise)
Download SETUPWIZ.INI (For Visual Studio 6 Professional)

Place the INI file in the main installation files folder overwriting the current file. Then start the installation and it won’t ask to install Java.

b) If you want to edit the file manually, go to the main folder and open the SETUPWIZ.INI file with Notepad. Look for the line “VmPath=ie4msjavx86.exe”.

Delete setupwiz vmpath line

Simply delete the whole line or everything after the “=” sign and save the file. The install can be continued but you must also follow the next steps as well or the installation will not complete successfully.

Change VB6 Setup Options To Prevent The Install From Hanging Or Failing

While fixing the above issue gets round the first hurdle of installing Visual Basic 6 on Windows 10, there are some other things that will cause the install to fail.

First of all, you will likely experience the “Setup is updating your system…” progress getting stuck and doing nothing else. After a few seconds, the installer becomes unresponsive and then hangs. Looking in Task Manager will show high CPU usage for ACMSETUP.EXE and the setup window has to be closed manually.

Vb6 setup is updating your system

If you fix that, another error that appears will be a “Setup was unable to create a DCOM user account in order to register…valec.exe” message box.

Vb6 dcom user account error

With the default install options, the VB6 installer will likely produce another error message which is “javasign.dll was unable to register itself in the system registry”.

Javasign dll unable to register error

These last two error messages will cause the install to halt with a message saying the setup could not be completed. Since the Visual Basic 6 installer is over 20 years old, there are unsurprisingly some components that will not install properly in Windows 10 which causes the failures. Excluding those components from the install process will allow VB6 to install without errors.

You can use either method below to turn off the options during setup that cause the install to fail.

Disable the Setup Components Automatically

This method is the easiest and requires no manual changes to the setup options during install. We found that the install process is handled by an STF file in the Setup folder on the disc. The optional components are pre-enabled in this file so we found the offenders and disabled them by default.

1. Download the correct file according to the version of Visual Studio you are using. Click on the link below then right click on the grey Download button and select “Save link as” in your browser. This stops the file opening in a browser tab as a text file.

Download VS98ENT.STF (For Visual Studio 6 Enterprise)
Download VS98PRO.STF (For Visual Studio 6 Professional)

2. Make sure that the VB6 install files are on your hard drive as you need to replace the original STF file. You can do that by simply copying all the files from the CD to a folder on your drive. This won’t work if you are trying to install from CD.

3. Go to the SETUP folder and copy the VS98***.STF you downloaded above replacing the file already there.

Replace vs98 stf file

4. Run the installer and go through the setup steps as usual. When you reach the component selection window, nothing has to be changed because the edited STF already did it.

Any other options that you want to enable or disable can be changed although you must make sure “Microsoft Visual InterDev 6.0”, “ADO and RDS”, and “Visual Studio Analyzer” remain disabled.

Disable the VB6 Setup Components Manually

This method is useful if you are installing from CD or the automatic option above doesn’t work.

1. During the setup, make sure the Custom install option is selected.

2. Continue the install until you’re asked to choose the components from the list. Highlight Data Access and click the “Change Option…” button to the right, then click “Change Option..” for a second time.

Vb6 highlight data access

3. Now you’ll get another list of components that belong to the ADO, RDS, and OLE DB Providers. Simply uncheck the first ADO and RDS option.

Disable ado and rds

A warning will popup that this component is an essential part of the application and it will not run properly if not installed. Click OK to acknowledge the warning and then click OK two more times to get back to the main install options window.

This will stop the installer hanging and crashing at the updating your system window.

3. Highlight Enterprise Tools and click the “Change Option…” button. At the bottom, uncheck Visual Studio Analyzer and click OK. This option is not in Visual Studio Professional so those users can ignore it.

Disable visual studio analyzer

Disabling the Visual Studio Analyzer will stop the DCOM user account error.

4. Uncheck Microsoft Visual InterDev 6.0 box in the main install options window. This will stop the javasign.dll error from appearing during install.

You can, of course, enable or disable other options in this window depending on personal preference. But make sure the components mentioned here are not enabled or the install won’t finish properly. Continue with the install and you should be able to reach the end with no major errors after a reboot.

Run Visual Basic In Compatibility Mode

After the install is complete, Visual Basic 6 should start. If you get an error on the New Project screen, an optional step to help is running VB6 in compatibility mode. In Explorer, navigate to C:Program Files (x86)Microsoft Visual StudioVB98, right click on VB6.exe and select Properties.

run Vb6 in compatibility mode

In the Compatibility tab, check the “Run this program in compatibility mode for:” box and click OK. The default option of Windows XP (Service Pack 2) should be fine but you can experiment with Windows Vista or 98/Me if you wish.

Back to the past

Publicado en CodingMarkers el 28 de marzo del 2018

Installing Visual Basic 6.0 in Windows 10

I was recently requested to debug a pre-.NET application Visual Basic, so I had to set up the environment for Windows 98 development… but nowdays all that software is deprecated and has no support. This is what I learned from my experience to get it up and running, but in case you can make a choice, I’d recommend you to rewrite the code in .NET, as this kind of DLL code relies platform, and things have changed a lot in 20 years.

1.- Delete all the files from the previously failed VB6 installation attempts

Be careful to avoid deleting the recent Visual Studio versions, as they may have similar paths.

The Visual Studio 6.0 files are by default under ‘C:Program Files (x86)’ in 64 bits systems.

C:Program Files (x86)Microsoft Visual StudioCommon
C:Program Files (x86)Microsoft Visual StudioMSDN
C:Program Files (x86)Microsoft Visual StudioMSDN98
C:Program Files (x86)Microsoft Visual StudioVB98
C:Program Files (x86)Microsoft Visual StudioVC98
C:Program Files (x86)Microsoft Visual Studio*.HTM
C:Program Files (x86)Microsoft Visual Studio*.TXT
C:Program Files (x86)Common FilesMicrosoft SharedMSDesigners98
C:Program Files (x86)Common FilesMicrosoft SharedMSDN
C:Program Files (x86)Common FilesMicrosoft SharedVS98
C:Program Files (x86)Common FilesMicrosoft SharedWizards98

Clean up the Windows registry entrys: run ‘regedit.exe’ and delete the following keys if they exist.

HKEY_LOCAL_MACHINESoftwareMicrosoftDevStudio
HKEY_LOCAL_MACHINESoftwareMicrosoftHTML Help Collections
HKEY_LOCAL_MACHINESoftwareMicrosoftMSVSDG
HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Basic6.0
HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Component Manager
HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Modeler
HKEY_LOCAL_MACHINESoftwareMicrosoftVisualStudio6.0
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftDevStudio
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftHTML Help Collections
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftMSVSDG
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Basic6.0
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Component Manager
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Modeler
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisualStudio6.0
HKEY_CURRENT_USERSoftwareMicrosoftDevStudio
HKEY_CURRENT_USERSoftwareMicrosoftMSVSDG
HKEY_CURRENT_USERSoftwareMicrosoftVisual Basic6.0
HKEY_CURRENT_USERSoftwareMicrosoftVisual Modeler
HKEY_CURRENT_USERSoftwareMicrosoftVisualFoxPro
HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio6.0

2.- Modify the installation files to adapt them to current tech

First of all you will need a copy of the Visual Studio installer in your hard drive. I copied the content of an old college licensed CD into a folder, and proceeded to edit.

  • Open ‘SETUPWIZ.INI’ with a text editor (e.g. Notepad++), and replace ‘VmPath=ie4msjavx86.exe’, which tries to install a really old Java implementation and makes the installation process fail, with an empty va. So the first part of the file should look like this:
[setup wizard]
eula = eula.txt
NTSP = NTsp3nt4sp3_i.exe
NTSpMinVer = 3
IE4 = ie4ie4setup.exe
CommonFilesMin = 50
IEIni=ie4check.ini
WFCClean = setupwfcclean.exe
readme = readmevs.htm
pid = setup.ini
MSDN = setup.exe
Acme = acmboot.exe
AcmeId = vs98ecd1.inf
STF = setupvs98ent.stf
DCOM98 = dcom98dcom98.exe
MSDNID = msdn3?1.inf
NtSpUrl = ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/
IeUrl = http://www.microsoft.com/ie/ie40/download/
UsrUrl = http://msdn.microsoft.com/vstudio/register/default.htm
RegUrl = http://www.microsoft.com/isapi/redir.dll?Prd=vstudio&Pver=98&Ar=register
VmPath=
  • You must also edit the ‘SETUP.EXE’ properties. Go to the context menu of the file (right click as default), select properties, and got to the ‘compatibility’ tab. Check that you have selected:
    • Compatibility mode: execute as ‘Windows XP (Service Pack 3)’.
    • Configuration: ‘execute this program as administrator’.

3.- Execute the wizard installer

  1. Open the context menu of ‘SETUP.EXE’ and choose ‘run as administrator’.
  2. Don’t install ‘Source Safe’, as it fails.
  3. When we get to ‘choose the installation mode’ select ‘Custom’. Then follow these steps:
  • Do not install (as they fail):
    • Microsoft Visual FoxPro 6.0
    • Microsoft Visual InterDev 6.0
    • Microsoft Visual SourceDafe 6.0
    • ActiveX (obsolete version, generates conflict with the current version)
  • Install the unicode libraries: from the custom main menu, select the text ‘Microsoft Visual C++ 6.0’, and the button ‘Change option’ on the right side will be set as active. Click on it and follow a similar process for ‘VC++ MFC and Template Libraries’ and ‘MS Foundation Class Libraries’. Finally select all these options:
    • Static libraries
    • Shared libraries
    • Static libraries for Unicode
    • Shared libraries for Unicode
    • Browser database
    • Source code
  • Install the database: from the main ‘Custom’ menu, click on the ‘Data Access’ text , and the button ‘Change option’ on the right side will be set as active. Click on it and make sure that ‘ADO, RDS and OLE DB Providers’ is not selected. You will get a warning message saying that this component is esential for the application, but you should ignore it, as it will crash on Windows 10. Do select only the following options:
    • Microsoft ODBC Drivers
    • Remote Data Objects and Controls
    • Data environment
  • Install the tools: from the main ‘Custom’ menu, click on the ‘Enterprise Tools’ text, and the button ‘Change option’ on the right side will be set as active. Check that ‘Visual Studio Analyzer’ is not selected. Therefore, select only:
    • Aplication Performance Explorer
    • Repository
    • Visual Component Manager
    • Visual Basic Enterprise Components
    • VC++ Enterprise Tools
    • Microsoft Visual Modeler
  • As the last step, before pressing on ‘Finish’, do not let the program configure the environment vars.
    • If you have waited more than 5 minutes and the program is still ‘configuring the system’, you can assume something has gone wrong and the install has been frozen somewhere. Cancel it, clean up (see the first section on top of this post) and start all over again, reading carefully the steps.
    • If there is an error message about the Java machine you can ignore it. At that point you should be able by then to run ‘Visual Basic’ without the MSDN help package, so you get the bare bones yet fully functional experience.

4.- Execute the application

Run it always in administrator mode (right click on Visual Basic 6.0, and select ‘run as administrator’). Then, here it is, ready to run and debug ancient DLLs.

Visual Studio 6 on windows 10

After so many trial and errors, here it is: Visual Basic 6.0

❗️ If you want it the program to run using a Microsoft Office 2010 instance, you will need to load some dependencies. Go to ‘Project/References’ and select:

  • Visual Basic for Applications
  • Visual Basic runtime objects and procedures
  • Visual Basic objects and procedures
  • OLE Automation
  • Microsoft Excel 15.0 Object Library
  • Microsoft Word 15.0 Object Library

5.- References

My sources should get the credit they deserve for their help:

  • Installing Visual Basic/Studio 6 on Windows 10 | danbrust.net: the blog
  • Install Visual Studio 6.0 on Windows 10 — CodeProject

I made this script a while ago because I was having trouble with the installers and fixes I found around the internet. It incorporates all the tricks and tips that I found around the internet into one powershell script.

To run the script you will need to following:

  • VB6 Installer
  • Service Pack 6
  • Mouse Wheel Fix (Optional, set -SkipMouseWheel switch to skip.)

Each of the above should be placed in its own folder. If you save (and then dot-source) the script in a folder that contains these three folders it’ll auto-detect everything for you. You can also set your current location in powershell to this folder and copy the script directly to you session and it’ll detect everything as well.

Once the script is dot-sourced or pasted in an elevated powershell instance you can run it by calling Install-VB6.

It also has the following parameters if you want to override any default behaviour:

Parameter Type Usage
Vb6InstallerPath String Path of main VB6 Installer folder
SP6InstallerPath String Path of Service Pack 6 Installer folder
SkipMouseWheel Switch Skip installing the Mouse Wheel Fixer folder
MouseWheelPath String Path of Mouse Wheel fixer. Ignored if -SkipMouseWheel is specified
Regsvr32Path String Path to regsvr32.exe. Uses ‘%SYSTEMROOT%SysWoW64regsvr32.exe’ if not specified
RegEditPath String Path to regedit.exe. ‘%SYSTEMROOT%regedit.exe’ if not specified
OrganizationName String Sets the organization name in the VB6 installer

Notes:

  1. The VB6 and SP6 installer don’t like being run from a network drive, so the script will stop if it detects one of the install folders is not on a local drive.
  2. I’ve only tested this with VB6 Pro, not VB6 Enterprise.
  3. It doesn’t install MSDN.

Install-VB6.ps1

#Requires -RunAsAdministrator
#Requires -Version 3

<#
.SYNOPSIS
Installs VB6 to the computer.

.DESCRIPTION
Installs VB6 ide with Service Pack 6 and (optional) Mouse Wheel Fix to the local computer.

.PARAMETER Vb6InstallerPath
The path to the VB6 installer folder.

.PARAMETER SP6InstallerPath
The path the the Service Pack 6 installer folder.

.PARAMETER SkipMouseWheel
Skip installing the Mouse Wheel fix.

.PARAMETER MouseWheelPath
The path the Mouse wheel fix folder.

.PARAMETER Regsvr32Path
The path to RegSvr32.exe

.PARAMETER OrganizationName
The organization name

.PARAMETER RegEditPath
The path to regedit.exe
#>
Function Install-VB6{
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$false)]
        [string]$Vb6InstallerPath,
        [Parameter(Mandatory=$false)]
        [string]$SP6InstallerPath,
        [Parameter(Mandatory=$false)]
        [switch]$SkipMouseWheel,
        [Parameter(Mandatory=$false)]
        [string]$MouseWheelPath,
        [Parameter(Mandatory=$false)]
        [string]$Regsvr32Path,
        [Parameter(Mandatory=$false)]
        [string]$OrganizationName,
        [Parameter(Mandatory=$false)]
        [string]$RegEditPath
    )


    # Tests if the path is a local path. The installer doesn't like network paths.
    function Test-LocalDrive{
        [CmdletBinding()]
        [OutputType([bool])]
        param(
            [Parameter(Mandatory=$true,
                        Position=0)]
            [string]$Path
        )
        begin{
            $localDrives = Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType<>4" -Property "DeviceID" | Foreach-Object {$_.DeviceID.Replace(":", "")}
        }
        process{
            if(!([bool](Test-Path -Path $Path))){
                return $false
            }

            $item = Get-Item -Path $Path
            $drive = $item.PSDrive

            if($null -eq $drive){
                return $false
            }

            return ($localDrives -contains $drive.Name)
        }
    }

    function Search-ForFile{
        [CmdletBinding()]
        [OutputType([System.IO.FileInfo])]
        param(
            [Parameter(Mandatory=$true,
                        Position=0)]
            [string]$File,
            [Parameter(Mandatory=$true,
                        Position=1)]
            [string]$CurrentLocation,
            [switch]$IncludeSubDirectory
        )
        process{
            $newPath = $currentLocation
            if($IncludeSubDirectory.IsPresent){
                $newPath = Join-Path -Path $newPath -ChildPath "*"
            }
            $newPath = Join-Path -Path $newPath -ChildPath $file

            $item = @(Get-Item -Path $newPath)

            if($null -eq $item -or $item.Count -eq 0 -or $null -eq $item[0]){
                throw ("Could Not find the {0} file." -f $file)
            }

            return $item[0]
        }
    }

    

#region Setting Up File Paths
    $currentLocation = $PSScriptRoot
    if([System.String]::IsNullOrWhiteSpace($currentLocation)){
        $currentLocation = (Get-Location)
    }
    if([System.String]::IsNullOrWhiteSpace($currentLocation)){
        throw "Unable to determine current location"
    }

    if(!$PSBoundParameters.ContainsKey("Vb6InstallerPath") -or [System.String]::IsNullOrWhiteSpace($Vb6InstallerPath)){
        if(!(Test-LocalDrive -Path ($currentLocation))){
            Write-Error "The script cannot be ran from a network share."
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }
        $installerInfo = Search-ForFile -File "SETUP.EXE" -CurrentLocation $currentLocation -IncludeSubDirectory
        $installFolder = $installerInfo.DirectoryName
    }
    else {
        if(!(Test-LocalDrive -Path ($Vb6InstallerPath))){
            Write-Error "The VB6 Installer Path cannot be a share."
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }
        $installFolder = $Vb6InstallerPath
        $installerInfo = Search-ForFile -File "SETUP.EXE" -CurrentLocation $installFolder
    }

    $installer2Info = Search-ForFile -File "ACMSETUP.EXE" -CurrentLocation $installFolder -IncludeSubDirectory

    $installLocation = $installerInfo.FullName
    $install2Location = $installer2Info.FullName

    if(!$PSBoundParameters.ContainsKey("SP6InstallerPath") -or [System.String]::IsNullOrWhiteSpace($SP6InstallerPath)){
        if(!(Test-LocalDrive -Path ($currentLocation))){
            Write-Error "The script cannot be ran from a network share."
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }
        $SP6Info = Search-ForFile -File "setupsp6.exe" -CurrentLocation $currentLocation -IncludeSubDirectory
        $SP6Folder = $SP6Info.DirectoryName
    }
    else {
        if(!(Test-LocalDrive -Path ($SP6InstallerPath))){
            Write-Error "The SP6 Installer Path cannot be a network share."
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }
        $SP6Folder = $SP6InstallerPath
        $SP6Info = Search-ForFile -File "setupsp6.exe" -CurrentLocation $SP6Folder
    }

    $SP6Location = $SP6Info.FullName

    if(!$SkipMouseWheel.IsPresent){
        if(!$PSBoundParameters.ContainsKey("MouseWheelPath") -or [System.String]::IsNullOrWhiteSpace($MouseWheelPath)){
            if(!(Test-LocalDrive -Path ($currentLocation))){
                Write-Error "The script cannot be ran from a network share."
                Write-Host -NoNewLine 'Press any key to continue...';
                $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
                return
            }
            $MouseWheelDllInfo           = Search-ForFile -File "VB6IDEMouseWheelAddin.dll" -CurrentLocation $currentLocation -IncludeSubDirectory
            $MouseWheelRegistryInfo      = Search-ForFile -File "VBA Mouse Wheel Fix.reg" -CurrentLocation $currentLocation -IncludeSubDirectory
        }
        else {
            if(!(Test-LocalDrive -Path ($SP6InstallerPath))){
                Write-Error "The Mouse Wheel Path cannot be a network share."
                Write-Host -NoNewLine 'Press any key to continue...';
                $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
                return
            }
            $MouseWheelDllInfo           = Search-ForFile -File "VB6IDEMouseWheelAddin.dll" -CurrentLocation $MouseWheelPath
            $MouseWheelRegistryInfo      = Search-ForFile -File "VBA Mouse Wheel Fix.reg" -CurrentLocation $MouseWheelPath
        }

        $MouseWheelDll           = $MouseWheelDllInfo.FullName
        $MouseWheelRegistry      = $MouseWheelRegistryInfo.FullName
    }

    if(!$PSBoundParameters.ContainsKey("Regsvr32Path") -or [System.String]::IsNullOrWhiteSpace($Regsvr32Path)){
        $regSvrPath = "$($env:systemroot)SysWoW64regsvr32.exe"
    }
    else{
        $regSvrPath = $Regsvr32Path
    }

    if(!$PSBoundParameters.ContainsKey("RegEditPath") -or [System.String]::IsNullOrWhiteSpace($RegEditPath)){
        $RegEditPath = "$($env:systemroot)regedit.exe"
    }
#endregion Setting Up File Paths

#region Test Required Installer Paths Exist

    if(!([bool](Test-Path -Path $regSvrPath))){
        Write-Error ("Unable to find '{0}'.`r`nThe exe must exist." -f $regSvrPath)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

    if(!([bool](Test-Path -Path $RegEditPath))){
        Write-Error ("Unable to find '{0}'.`r`nThe exe must exist." -f $RegEditPath)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

    if(!$SkipMouseWheel.IsPresent){
        if(!([bool](Test-Path -Path $MouseWheelDll))){
            Write-Error ("Unable to find '{0}'.`r`nThe 'MouseWheel' Folder must be in the same directory as the install script and the file must exist." -f $MouseWheelDll)
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }

        if(!([bool](Test-Path -Path $MouseWheelRegistry))){
            Write-Error ("Unable to find '{0}'.`r`nThe 'MouseWheel' Folder must be in the same directory as the install script and the file must exist." -f $MouseWheelRegistry)
            Write-Host -NoNewLine 'Press any key to continue...';
            $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
            return
        }
    }

    if(!([bool](Test-Path -Path $installFolder))){
        Write-Error ("Unable to find '{0}'.`r`nThe 'Installer' Folder must be in the same directory as the install script." -f $installFolder)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

    if(!([bool](Test-Path -Path $installLocation))){
        Write-Error ("Unable to find '{0}'.`r`nThe 'Installer' Folder must be in the same directory as the install script and the file must exist." -f $installLocation)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

    if(!([bool](Test-Path -Path $install2Location))){
        Write-Error ("Unable to find '{0}'.`r`nThe 'Installer' Folder must be in the same directory as the install script and the file must exist." -f $install2Location)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

    if(!([bool](Test-Path -Path $SP6Location))){
        Write-Error ("Unable to find '{0}'.`r`nThe 'SP6' Folder must be in the same directory as the install script and the file must exist." -f $SP6Location)
        Write-Host -NoNewLine 'Press any key to continue...';
        $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
        return
    }

#endregion Test Required Installer Paths Exist

#region Installer Compatibility
    # The installer doesn't auto-elevate to run as an administrator.
    # We are setting the required keys in the registry to force the installers to run as administrator
    # Same as running the 'troubleshoot compatibilty' wizard and selecting the exe's to run as admins.
    Write-Host "Setting compatibility mode on setup files."
    $layersPath = "REGISTRY::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers"
    if(![bool](Test-Path -Path $layersPath)){
        New-Item -Path $layersPath -Force | Out-Null
    }

    $registryPath = Get-Item -LiteralPath $layersPath
    if($null -eq $registryPath.GetValue($installLocation, $null)){
        New-ItemProperty -Path $layersPath -Name $installLocation -Value "^ WINXPSP3" -PropertyType "String" -Force | Out-Null
    }

    if($null -eq $registryPath.GetValue($SP6Location, $null)){
        New-ItemProperty -Path $layersPath -Name $SP6Location -Value "^ WINXPSP3" -PropertyType "String" -Force | Out-Null
    }
#endregion Installer Compatibility

#region Previous Install Cleanup
    # Locations and keys where old vb6 installs can live.
    Write-Host "Cleaning up previous install."

    $itemsToDelete = @(
        "C:Program Files*Microsoft Visual StudioCommon",
        "C:Program Files*Microsoft Visual StudioMSDN",
        "C:Program Files*Microsoft Visual StudioMSDN98",
        "C:Program Files*Microsoft Visual StudioVB98",
        "C:Program Files*Microsoft Visual StudioVC98",
        "C:Program Files*Microsoft Visual Studio*.HTM",
        "C:Program Files*Microsoft Visual Studio*.TXT",
        "C:Program Files*Common FilesMicrosoft SharedMSDesigners98",
        "C:Program Files*Common FilesMicrosoft SharedMSDN",
        "C:Program Files*Common FilesMicrosoft SharedVS98",
        "C:Program Files*Common FilesMicrosoft SharedWizards98",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftDevStudio",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftHTML Help Collections",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftMSVSDG",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Basic6.0",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Component Manager",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Modeler",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareMicrosoftVisualStudio6.0",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftDevStudio",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftHTML Help Collections",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftMSVSDG",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Basic6.0",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Component Manager",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Modeler",
        "REGISTRY::HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisualStudio6.0",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftDevStudio",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftMSVSDG",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftVisual Basic6.0",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftVisual Modeler",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftVisualFoxPro",
        "REGISTRY::HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio6.0"
    )

    $itemsToDelete | Where-Object { Test-Path -Path $_ } | Remove-Item -Force -Recurse | Out-Null
#endregion Previous Install Cleanup

#region Installer Registry Permissions
    # The installer needs to be able to write to 'HKEY_CLASSES_ROOTRDSServer.DataFactoryClsid'
    # but since the installer isn't built for windows and we have to force it to run as an administrator
    # we have to give explicit permissions for your computers Administrators group to write to this key (and all its children)
    Write-Host "Setting required permissions for installing user on registry."

    $registryPermissionPath = "REGISTRY::HKEY_CLASSES_ROOTRDSServer.DataFactoryClsid"
    Write-Host "`tSetting Up required information."
    $acl = Get-ACL -Path $registryPermissionPath
    $oldOwner = [System.Security.Principal.NTAccount]::new($acl.Owner)
    $administratorIdentity = [System.Security.Principal.NTAccount]::new("Administrators")

    Write-Host "`tGiving the script required permissions."
    $import = '[DllImport("ntdll.dll")] public static extern int RtlAdjustPrivilege(ulong a, bool b, bool c, ref bool d);'
    $ntdll = Add-Type -Member $import -Name NtDll -PassThru
    $privileges = @{ SeTakeOwnership = 9; SeBackup =  17; SeRestore = 18 }
    foreach ($i in $privileges.Values) {
        $null = $ntdll::RtlAdjustPrivilege($i, 1, 0, [ref]0)
    }

    Write-Host "`tGettting The registry key."
    $regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("RDSServer.DataFactoryClsid", 'ReadWriteSubTree', 'TakeOwnership')

    # We force the Administrators group to be the owner on the key so we can then add required the permissions.
    Write-Host "`tSetting Owner."
    $acl.SetOwner($administratorIdentity)
    $regKey.SetAccessControl($acl)

    Write-Host "`tSetting Permission."
    $permission = [System.Security.AccessControl.RegistryAccessRule]::new($administratorIdentity, "FullControl", "ContainerInherit", "InheritOnly", "Allow")
    $acl.AddAccessRule($permission)
    $permission2 = [System.Security.AccessControl.RegistryAccessRule]::new($administratorIdentity, "FullControl", "Allow")
    $acl.AddAccessRule($permission2)
    $regKey.SetAccessControl($acl)

    # Reset the owner to clean-up
    Write-Host "`tResetting Owner."
    $acl.SetOwner($oldOwner)
    $regKey.SetAccessControl($acl)

#endregion Installer Registry Permissions

#region Install
    Write-Host "`tStarting Install."
    $tempPath = [System.IO.Path]::GetTempPath()
    $tempFolder = Join-Path -Path $tempPath -ChildPath ([System.Guid]::NewGuid().ToString("n"))
    New-Item -Path $tempFolder -ItemType Directory -Force | Out-Null
    $KeyFile = Join-Path -Path $tempFolder -ChildPath ("{0}.dat" -f [System.Guid]::NewGuid().ToString("n"))
    $keyFileText = @"
REGEDIT4

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio6.0SetupMicrosoft Visual BasicSetupWizard]
"aspo"=dword:00000000

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftVisualStudio6.0SetupMicrosoft Visual BasicSetupWizard]
"aspo"=dword:00000000
"@
    $keyFileText | Set-Content -Path $keyFile -Force

    & $RegEditPath /S $KeyFile
    
    [string[]]$installerArguments = ("/T", "VB98PRO.stf", "/S", $installFolder, "/n", ($env:USERNAME), "/k", "0000000000", "/b", "1", "/qn1")

    if($PSBoundParameters.ContainsKey("OrganizationName") -and ![System.String]::IsNullOrWhiteSpace($OrganizationName)){
        $installerArguments += "/o"
        $installerArguments += $OrganizationName
    }
    Start-Process -FilePath $install2Location -wait -NoNewWindow -ArgumentList $installerArguments
    Start-Process -FilePath $SP6Location -wait -NoNewWindow -ArgumentList ("/qn1")

    Write-Host "Setting Vb6 Compatibility"
    $vb6ExeLocations = @(Get-Item -Path "C:Program Files*Microsoft Visual StudioVB98VB6.EXE" | Select-Object -ExpandProperty FullName)
    $registryPath = Get-Item -LiteralPath $layersPath
    foreach($vb6ExeLocation in $vb6ExeLocations){
        if($null -eq $registryPath.GetValue($vb6ExeLocation, $null)){
            New-ItemProperty -Path $layersPath -Name $vb6ExeLocation -Value "^ WINXPSP3" -PropertyType "String" -Force | Out-Null
        }
    }

    if(!$SkipMouseWheel.IsPresent){

        Write-Host "Installing Mouse Wheel"
        & $regSvrPath /s $MouseWheelDll
        & $RegEditPath /S $MouseWheelRegistry

        $registryHeaderText = @"
Windows Registry Editor Version 5.00


"@

        $registryItemFormat = @"
        [{0}SOFTWAREMicrosoftVisual Basic6.0AddinsVB6IDEMouseWheelAddin.Connect]
        "FriendlyName"="MouseWheel Fix"
        "LoadBehavior"=dword:00000003
        "CommandLineSafe"=dword:00000000
"@

        $users = Get-ChildItem -Path "REGISTRY::HKEY_USERS" | Where-Object {$_.Name -notlike "*_Classes"} | Select-Object -ExpandProperty Name
        $content = $registryHeaderText

        # Install for every user.
        foreach($user in $users){
            $content += ($registryItemFormat -f $user)
        }

        $MouseWheelApplyRegistry = Join-Path -Path $tempFolder -ChildPath ("{0}.reg" -f [System.Guid]::NewGuid().ToString("n"))

        $content | Set-Content -Path $MouseWheelApplyRegistry -Force
        Start-Process $RegEditPath -wait -NoNewWindow -ArgumentList ("/S", $MouseWheelApplyRegistry)

        Write-Host "You will still need to enable Mouse Wheel fix in the VB6 IDE." -BackgroundColor Black -ForegroundColor Red
        Write-Host "Open a Visual Basic project and go to 'Add-Ins' -> 'Add-In Manager...' " -BackgroundColor Black -ForegroundColor Red
        Write-Host "Select 'MouseWheel Fix' and click 'Loaded/Unloaded' and 'Load on Startup'"  -BackgroundColor Black -ForegroundColor Red
    }

    Remove-Item -Path $tempFolder -Force -Recurse | Out-Null
#endregion Install

    Write-Host "Install Complete"
    Write-Host -NoNewLine 'Press any key to continue...';
    $null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
}

Dragokas


  • #1

Вот инструкция по установке дистрибутива VB6 на современные системы Windows (от Vista и выше):

1) Скачиваете дистрибутив* (не портативный, не патченный, не кривой), желательно английскую версию (в русской бывают баги, если названия файлов модулей будут написаны на русском языке).

* Дистрибутив VB6 обычно называется Microsoft Visual Studio 6.0 или Visual Basic 6.0 IDE.

У читателей иногда возникает такой вопрос, поэтому кратко опишу, что означают эти термины, и как определить, какой у Вас дистрибутив.

«Кривой» — подразумеваю, что дистрибутив может недокачаться, скачаться с ошибкой и т.д. (в таком случае можно попробовать его перекачать).
Также Вы можете скачать сборку, в описании к которой будут указаны разные «улучшения», дополнения и т.д. Не рекомендую. По моему мнению, лучше взять чистый оригинальный дистрибутив и доустанавливать только нужные Вам дополнения на свой вкус.

«Патченный» — автор сборки мог обновить и перепаковать дистрибутив. За корректность работы такой сборки никто не отвечает. Внимательно читайте описание того, что Вы скачиваете.

«Портативный» (или «portable») — опять же за корректность работы такой сборки Microsoft не отвечает. Если Вы планируете использовать VB6 не на 1 раз, лучше выполнить обычную нормальную установку.

Во всех случаях почитайте отзывы людей, которые использовали дистрибутивы из того же источника.

Если Вы скачали образ (например, файл с расширением .iso), смонтируйте его с помощью программы Daemon Tools или другого эмулятора дисков.
Затем двойной клик по диску в «Моем компьютере».

2) Запускается установщик. На вопрос «Помощника о совместимости программ» отвечаете кнопкой «Запуск программы».

* Если установщик даже в этом случае не запускается -> заходите на диск (правой кнопкой по диску «Открыть»).
Затем запускаете файл Setup.exe.

Дальше ввод серийного кода, места установки и т.п.

3) Когда прогрессбар установки дойдёт до 100%, установщик возможно зависнет (замечено на Windows 10). В этом случае зайдите в «Диспетчер задач» и завершите процесс установщика VB6.exe

После установки перезагружаете систему. При загрузке ОС возможно появится окно об ошибке INI, не обращаете внимания.

4) В меню пуск «Microsoft Visual Basic 6.0», ярлык от VB6 нажимаете правой кнопкой мыши и выбираете пункт «Запуск от имени Администратора».

Это действие нужно проделать один раз, так как системе потребуется зарегистрировать все необходимые компоненты при первом запуске среды.

Последнее редактирование: 30 Июн 2016

  • Home
  • VBForums
  • Visual Basic
  • Visual Basic 6 and Earlier
  • Installing the VB6 IDE on Windows 10 — 64 bit.

  1. Aug 25th, 2017, 08:22 AM


    #1

    (last edited 11/25/2020)

    Before Starting

    If you have previously attempted and failed to install the VB6 IDE on your computer, you may want to take a look at

    Dan Brust’s blog. It has a fairly comprehensive list of all the places (including the registry) where the VB6 IDE places critical things.

    Quickly look over the Glossary part of this thread (next post).

    You should be logged into your computer with an account that’s a local administrator.

    During the installation, you may want to turn off UAC in your registry. However, turning it off in Control Panel may be adequate. If you wish to completely disable the UAC (via registry),

    this post by one of our moderators instructions you on how to do it. That post was written with reference to Windows Vista, but it still works for Windows 10. Just as a further FYI on this one, some claim that there is no need for this, and that Windows 10 will install the VB6 IDE just fine without tampering with the UAC settings (see post #28 below).

    During the installation, you may also want to disable any virus scanner (including Windows Defender). If you’re nervous about your particular copy of the VB6 IDE, I’d highly recommend that you scan all the individual files before starting the installation. However, I’ve never known of any virus type problems with the VB6 IDE that came off of legitimate copies of the Microsoft CDs.

    You will want to make a zero-byte file named MSJAVA.DLL and then copy it to your C:Windows folder. This is a very old DLL that hasn’t been used for many years, but the VB6 IDE install disks still attempt to install it. It’s entirely unnecessary. Also, apparently, not all versions of the VB6 IDE have this Java issue. However, during installation you should be sure to un-check the «Update Microsoft Virtual Machine for Java» checkbox. That option is entirely unnecessary. (Also, as an alternative, you may want to look at

    Krool’s post #65 in this thread.)

    Getting Started with Installation

    When you get to the «Options», you should always select «Custom». Once there, you should always highlight the «Data Access» option and click the «Change Options» button. Once in that section, select the «ADO, RDS, and OLE DB Providers» option, and click «Change Options» again. Once into that level, un-check the «ADO and RDS» option. There is absolutely no need for this, as contemporary data accessing options are pre-installed on Windows 10. Also, selecting this option causes certain other problems.

    As far as I know, all the other options can be installed at your discretion.

    With respect to the MSDN, I haven’t heard of any problems getting it installed. It’s your discretion whether or not you install it. However, if you don’t, your F1 help within the IDE will not be available.

    After VB6 IDE is Initially Installed

    Once the VB6 IDE is initially installed, you should immediately install the VB6 Cumulative Service Pack 6 (SP6). It’s still available from Microsoft and can be

    downloaded here. As a note, SP6 is a «cumulative» update. As such you need not be concerned with SP5 or any earlier VB6 service pack.

    There are differing opinions regarding the shims (compatibility settings) that are needed to execute the VB6 IDE for development purposes. Some say to use the «Windows Vista (Service Pack 2)» compatibility, and also check the «Run as Administrator» box. However, Dilettante has

    discussed these issues in detail on this thread. It’s worth a read. And, you may need to know that the actual VB6.EXE executable is found in the C:Program Files (x86)Microsoft Visual StudioVB98 folder.

    Some have also reported problems with a TypeLib named msdatsrc.tlb. On Windows 10 64-bit, this should be found in the C:WindowsSysWOW64 folder. The way I’ve solved this problem is to open a Command window (Run, CMD), navigate to this C:WindowsSysWOW64 folder, and then register this TypeLib with a command similar to the following: regtlib msdatsrc.tlb (Just as an FYI, this msdatsrc.tlb should be found in the C:WindowsSystem32 folder on 32-bit Windows systems.) Other discussions of this msdatsrc.tlb file can be found

    here and here.

    Another problem (and nice fix) is as follows. On later versions of Windows, you occasionally get a «Method ‘~’ of object ‘~’ failed» message when starting the IDE. This is just a glitch that sometimes happens and can virtually always be ignored with no harm. However, if you get tired of it, you can go into the

    C:Program Files (x86)Microsoft Visual StudioVB98 folder and rename (or delete) the file named DATAVIEW.DLL. This is an old way to view old databases from within the VB6 IDE, and is extremely seldom used in contemporary development. This isn’t the only thing that causes the «Method ‘~’ of object ‘~’ failed» message, but my guess is that it’s responsible for more than 90% of them, and this simple rename completely stomps out the issue.

    VB6 IDE Limitations/Problems
    (This list is limited to problems introduced with Windows 10, mostly.)

    Actually, this first problem has existed ever since mouse-wheels were introduced. The VB6 IDE doesn’t natively support the mouse-wheel. However, there are a few different systray type programs that fix this problem. The

    X-Mouse Button Control is a particularly good solution to this. (Thanks to Dilettante for this find.) Set up a «Layer» for VB6 with «Scroll Method: Method 1» and you’re good to go (and works perfect in a split code window). Other options are listed below (and elsewhere in these forums).

    When in design mode, the control resize handles don’t necessarily work correctly. This is particularly true when multiple controls are selected. However, it’s also sometimes true for single controls. Also, for some strange reason, the exact behavior of these control handles doesn’t seem to always be consistent from one VB6 IDE execution to the next. And the handles (small squares) are placed on the desktop rather than confined to the VB6 forms. And related, the selection rectangle also doesn’t always work correctly; specifically, it’s just sometimes gone.

    When loading a very large project (and sometimes on smaller ones too), the VB6 IDE will hang during the project’s loading process. Typically, killing the IDE from task manager and then re-loading the project will work fine. Fortunately, once a project is loaded, the VB6 IDE seems to be quite stable (unless, of course, you’re using API calls incorrectly or ending during subclassing, but those things have given the IDE problems regardless of the OS version).

    Additional Resources for Installing the VB6 IDE

    Giorgio Brausi’s VB6 IDE installer.
    Article by Derek Wirch.
    Raymond’s page on installing VB6 on Windows 10

    Contributors
    (VbForum handles)

    VB6 Programming, DataMiser, Arnoutdv, TysonLPrice, AAraya, Dilettante, Spooman, SamOscarBrown, Victor Bravo VI.

    Last edited by Elroy; Nov 25th, 2020 at 02:47 PM.

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  2. Aug 25th, 2017, 08:23 AM


    #2

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    A Short Glossary

    Integrated Development Environment (IDE): This is just the VB6 development program (what you’re installing). Experienced programmers tend to call it the VB6 IDE, or just the IDE.

    Different IDE Versions: There are several versions of the VB6 IDE: Learning, Professional, & Enterprise. Also, there is Visual Studio 6, which includes VB6. The version you most want to stay away from is the Learning edition, as it does not allow the compiling of your project into an executable. Also, if you’re working with Visual Studio 6, it has a slightly different version of the cumulative Service Pack 6. At present, I don’t have a link for this Visual Studio 6 service pack.

    Local Administrator (or just Administrator): On a stand-alone computer, there are two types of accounts: 1) Standard User, and 2) Administrator. To install the VB6 IDE, you should be logged in with an Administrator account. If the computer is on a network, things get more complex. When on a network, there are levels to what an administrator can do. In the simplest of terms, you can thing of a Local Administrator and/or a Network Administrator. A Local Administrator is basically an administrator on the local computer. That’s what we need to install the VB6 IDE.

    Elevated: This is just another way of saying to «Run as Administrator». I’ve got no idea why there’s dual language, but even Microsoft seems to be using this «Elevated» language. Within Windows itself, the terminology seems to mostly be «Administrator» rather than «Elevated».

    User Account Control (UAC): This is a system that was implemented in Windows Vista. It is an attempt by Windows to keep certain (possibly malicious) files from getting installed onto your system, or possibly modifying existing files on your system. However, this UAC system will often get in the way of a good installation of the VB6 IDE. And, under some circumstances, it may get in the way of the VB6 IDE running correctly.

    Shim Infrastructure (or just «shim»): This is Window’s compatibility infrastructure that allows older programs to execute on the latest versions of Windows. They are called «shims» because they are small pieces of code that insert themselves between executables (such as the VB6.EXE), and Windows. There are many of them, but groups of them are easily found (and set) by right-clicking any executable, clicking «Properties», and then clicking the «Compatibility» tab.

    Manifest: This is an advanced topic for which understanding isn’t needed to get a good installation of the VB6 IDE.

    Systray: This is the small area on the lower-right of your computer screen. It contains small icons that do special chores.

    Context Menu: This is the «drop-down» menu that you often get when you right-click something.

    Last edited by Elroy; Aug 30th, 2017 at 06:20 PM.

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  3. Aug 25th, 2017, 08:41 AM


    #3

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    I’d recommend Gibra’s utility for installing VB6 on Windows 7,8 and 10
    http://nuke.vbcorner.net/

    And also Derek Wirch’s article
    https://www.fortypoundhead.com/showc…sp?artid=23993


  4. Aug 25th, 2017, 08:57 AM


    #4

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    The Enterprise version does not have the java issue.
    Just need to custom install and under data access uncheck the ado/ole/rds option
    once installed set the IDE to run as admin
    should work fine

    On other version once past the java message should be the same as above.


  5. Aug 25th, 2017, 09:03 AM


    #5

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    I’m all with DataMiser, but used the Professional edition.
    Then installed MSDN CD1, CD2
    All as administrator

    About the Service Packs, I believe I only installed SP6 (B) Vs6sp6B.exe [2005-11-03, 27.165KB]
    It seems the latest is located here:
    https://www.microsoft.com/en-us/down…s.aspx?id=7030

    I run the IDE as administrator and no shims or whatsoever.

    Last edited by Arnoutdv; Aug 25th, 2017 at 09:11 AM.


  6. Aug 25th, 2017, 09:22 AM


    #6

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Thanks for starting this Thread. As an aside, please be sure to describe for newbies (as MOST questions on how to get VB6 working come from the inexperienced) terms used. Like UAC, shim, manifest, or other not-so-obvious terms. Not only define, but HOW TO would be helpful for many.

    Again, thanks for starting this.


  7. Aug 25th, 2017, 09:30 AM


    #7

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    @Sam: Will do. As I’m editing, I’m thinking about those things. I’ll eventually describe everything in a fairly high-level of detail. I just wanted to get the ball rolling. Eventually, I’ll outline specific steps for most things. However, we do have to draw a line somewhere. For instance, I don’t feel inclined to explain what a local administrator is, or how to navigate to different folders.

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  8. Aug 25th, 2017, 09:32 AM


    #8

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by SamOscarBrown
    View Post

    Thanks for starting this Thread. As an aside, please be sure to describe for newbies (as MOST questions on how to get VB6 working come from the inexperienced) terms used. Like UAC, shim, manifest, or other not-so-obvious terms. Not only define, but HOW TO would be helpful for many.

    Again, thanks for starting this.

    This is a good example of that:

    Code:

    However, during installation you should be sure to un-check the ado/ole/rds option.

    Un-checking that requires drilling down a menu at a certain point. You can see that in this link:

    https://www.raymond.cc/blog/install-…hine-for-java/

    I’m thinking we should keep it in the contruct of:

    Installing the VB6 IDE on Windows 10 — 64 bit — For Dummies

    I also thank you for starting the thread.

    Please remember next time…elections matter!


  9. Aug 25th, 2017, 10:44 AM


    #9

    AAraya is offline


    Hyperactive Member


    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    To get the mouse wheel working in the IDE follow these steps:
    https://answers.microsoft.com/en-us/…38700a5?auth=1

    It’s for an older version of Windows but works great on Win10, 64 bit.


  10. Aug 25th, 2017, 11:29 AM


    #10

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    I wouldn’t rely on any of the OS «Compatibility Modes» because these bags of shims contain little that the VB6 IDE needs and OS version-lie shims you do not want.

    Version-lies are pointless if you are writing a new program. They just block your ability to use lots of new APIs and can even break new behaviors in older APIs.

    The VirtualizeDesktopPainting shim however is very useful in avoiding most of the IDE Designer problems caused by the Desktop Window Manager which can’t be turned off anymore («disable Aero»).

    You may also want the DPI Aware shim if you are serious about coping in the modern world.

    See Win10 AppCompat VB6 IDE

    Last edited by dilettante; Aug 25th, 2017 at 11:36 AM.


  11. Aug 25th, 2017, 01:59 PM


    #11

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Elroy

    Agreed.
    Great idea for a CodeBank thread.

    BTW, re AA’s mouse-wheel issue..
    I got mine to work,

    except in the Locals Window .. boo.

    EDIT-1:

    As for Sammi’s suggestion ..

    As an aside, please be sure to describe for newbies (as MOST questions on how to get VB6 working come from the inexperienced) terms used.

    .. please add this to the list: bork.

    Spoo

    Last edited by Spooman; Aug 25th, 2017 at 02:04 PM.


  12. Aug 25th, 2017, 03:03 PM


    #12

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Hi Spoo,

    Ohhh, so you like my «borked» word? I particularly like UrbanDictionary’s definition for «borked» (not «bork»). I’d give it here, but these forums are cleaner than UrbanDictionary.

    Also, when I feel the OP is relatively complete, I’ll just ask the moderators to move the entire thread into the VB6 FAQ area. I think that’s a better place for it than the codebank.

    Happy Friday,
    Elroy

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  13. Aug 25th, 2017, 03:11 PM


    #13

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by Elroy
    View Post

    @Sam: Will do. As I’m editing, I’m thinking about those things. I’ll eventually describe everything in a fairly high-level of detail. I just wanted to get the ball rolling. Eventually, I’ll outline specific steps for most things. However, we do have to draw a line somewhere. For instance, I don’t feel inclined to explain what a local administrator is, or how to navigate to different folders.

    Then how would gennnnnnna ever figure it out? ~smile~


  14. Aug 26th, 2017, 09:37 AM


    #14

    emp1953 is offline


    New Member


    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    I have one quick question, I must assume that some if not all of you have successfully installed this on Win10. Are we just talking about VB6 or VS6. My installation disks are VS6 Enterprise.

    If you were successful with your installation did you have any issues running the IDE or deploying the executables to other WIN10 PC’s.

    This is a great thread. Hopefully I can make some discoveries and add to the exchange.


  15. Aug 26th, 2017, 12:36 PM


    #15

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    No problems with VS 6.0 EE. I use it.
    All my VS6Installer 4.x videos (english and italian language) was made using exactly the VS 6.0 EE (both english and italian version).
    See my sign…


  16. Aug 26th, 2017, 12:44 PM


    #16

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    emp

    Good question.
    I for one am at least talking about VB6.
    I’m not sure about VS6 (which I assume is Visual Studio). I’m not sure what the distinction is.

    But seeing as you got me going, I can mention that I’ve had a problem loading SP6.
    While the app that I wrote on my XP box and copied to my Win10 box works just fine, I have this
    on my Win10 box:

    Name:  vb6.png
Views: 45751
Size:  8.1 KB

    On my XP box, the top line reads

    Microsoft Visual Basic 6.0 (SP5)

    I thought for sure that I had SP6, but you induced me to put on my glasses, and it’s only SP5.

    I wonder if that is why my attempt on my Win10 box doesn’t show ANY SP.
    Do I need to get SP5 before trying to get SP6?

    Spoo


  17. Aug 26th, 2017, 12:52 PM


    #17

    emp1953 is offline


    New Member


    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    somebody further up in the thread talks about installing SP5. In my experience on older windows versions SP5 was needed.

    When I run VS6 (yes its Visual Studio 6) in Win7 I must run in compatibility mode and do a whole lot of stuff as administrator. I have not successfully deployed an executable built on one Win7 machine to another without moving and registering the .ocx’s mentioned above, then still I cannot call it a complete success.


  18. Aug 26th, 2017, 01:01 PM


    #18

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    No, SP6 is a cumulative service pack, no need to install older versions first
    And please don’t clutter this thread with the discussion of anything else but installing VB6 on Windows 10 64bit


  19. Aug 26th, 2017, 01:12 PM


    #19

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Arno

    Do you consider questions regarding installing SP6 to be «off topic»?

    Spoo


  20. Aug 26th, 2017, 01:31 PM


    #20

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    @Arnoutdv…IF you are referring to someone’s VS6, then that should be on topic…as VB6 can be shipped with VS6 (the one I own is part of VS6). And SP6, which SHOULD be used for VB6, is also not off topic, as that is one piece needed (IMHO). But, I don’t want to start/continue an argument…but I would think the VS6 and VB6 should be included as one IF the person is planning on only using the VB6 portion of that installation. I Install all of Visual Studio 6.0, but only use VB6 at present.
    Just sayin’.

    Sammi


  21. Aug 27th, 2017, 01:51 AM


    #21

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Sam, but then VS deserves it’s own thread.
    Spoo, no the service packs are part of VB


  22. Aug 27th, 2017, 06:19 AM


    #22

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by Elroy
    View Post

    Once the VB6 IDE is initially installed, you should immediately install the VB6 Cumulative Service Pack 6 (SP6). It’s still available from Microsoft and can be

    downloaded here

    .

    Quote Originally Posted by Arnoutdv
    View Post

    According to this thread, that VB6 SP6 Cumulative Update should be avoided.

    EDIT

    Quote Originally Posted by Victor Bravo VI
    View Post

    Here is an alternative way of bypassing the MS JVM requirement:

    Normally, the installation cannot proceed unless the Java checkbox is ticked.

    However, if the Next button is forcibly enabled (using whatever tool at your disposal),

    the installer will pop up this message after the now enabled Next button is clicked.

    Just click OK to dismiss the message and installation can now continue.

    EDIT

    Here’s some code you can compile beforehand in case you don’t have any utility that can enable/disable arbitrary windows:

    Code:

    Option Explicit 'In a standard (.BAS) module
    
    Private Declare Function EnableWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal bEnable As Long) As Long
    Private Declare Function FindWindowExW Lib "user32.dll" (Optional ByVal hWndParent As Long, Optional ByVal hWndChildAfter As Long, Optional ByVal lpszClass As Long, Optional ByVal lpszWindow As Long) As Long
    
    Private Sub Main()
        Dim hWnd As Long, sText As String
    
        sText = InputBox("Enter Window Title:", , "Installation Wizard for Visual Studio 6.0 Enterprise Edition")
        If LenB(sText) = 0& Then Exit Sub
    
        hWnd = FindWindowExW(, , StrPtr("#32770"), StrPtr(sText))
        If hWnd = 0& Then Exit Sub
    
        sText = InputBox("Enter Button Caption:", , "&Next >")
        If LenB(sText) = 0& Then Exit Sub
    
        hWnd = FindWindowExW(hWnd, , StrPtr("Button"), StrPtr(sText))
        If hWnd = 0& Then Exit Sub
    
        EnableWindow hWnd, -True
    End Sub

    Last edited by Victor Bravo VI; Feb 18th, 2021 at 08:05 AM.


  23. Aug 27th, 2017, 06:31 AM


    #23

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by Arnoutdv
    View Post

    Sam, but then VS deserves it’s own thread.

    No more argument. Have a great Sunday!


  24. Aug 27th, 2017, 09:07 AM


    #24

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by Arnoutdv
    View Post

    Spoo, no the service packs are part of VB

    Ditto Sammi.


  25. Aug 27th, 2017, 09:14 AM


    #25

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by Victor Bravo VI
    View Post

    According to this thread, that VB6 SP6 Cumulative Update should be avoided.

    VB

    Good link, especially post #19 by dilletante
    Hopefully he’ll hop on board this thread

    Post #17 .. well, that’s another matter ..

    Spoo


  26. Aug 27th, 2017, 10:22 AM


    #26

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Ok, checking in just for a second before I take a day-trip.

    Here’s a change I made to the OP:

    As a note, SP6 is a «cumulative» update. As such you need not be concerned with SP5 or any earlier VB6 service pack.

    Also, of my several licenses, one is VS6. I’ve used it somewhat recently, but not on Win10. However, from everything I can remember, it works precisely the same way that VB6 installations do. If there are any special notes I need to add regarding VS6 (as opposed to VB6), I’d be delighted to add them. However, I think everything we say about VB6 will be precisely the same for VS6.

    Best Regards,
    Elroy

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  27. Aug 30th, 2017, 04:48 PM


    #27

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Just bumping this thread a bit to get some final comments before asking to have it moved to the FAQ section.

    Also, one point I don’t have perfect clarity on with respect to installing the VB6 IDE on Win10-64bit is the UAC.

    • Do people feel the UAC should be turned off in the registry during installation, or is turning it off in control panel adequate?
    • When running the VB6 IDE, what setting should we use for the UAC?

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  28. Aug 30th, 2017, 04:59 PM


    #28

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    There is no reason to mess with UAC at all.

    Just run the installation process elevated, and then sure that the IDE itself always runs elevated.

    There is really only one thing new about installing and using VB6 in Windows 10 compared to Vista, and the advice about elevation is what Microsoft published back in 2006.

    If anything installing on 64-bit Windows is easier now. In Windows 7 they added a heuristic that recognizes the 16-bit bootstrapper used by the VB/VS 6 packages and silently substitutes a 32-bit ACME unpacker. For Vista 64 you had to go to a 32-bit machine and unpack the installer yourself then carry those files to the 64-bit machine.


  29. Aug 31st, 2017, 03:54 AM


    #29

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    When it is elevated to FAQ, will «Reply to Thread» posts be possible?

    My guess is NO (looking at other FAQ entries)
    It seems to me that some feedback feature would be useful as other users encounter variations of issues covered.

    Spoo


  30. Aug 31st, 2017, 08:51 AM


    #30

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    @Elroy

    I’m not sure if you’ve understood my (rather terse) post #22 perfectly, so I’ll try it again. As was discussed in the thread I’ve linked to in my previous post (which you happen to have participated in, BTW), your link to VB6’s Service Pack 6 is incorrect. It should be https://www.microsoft.com/en-us/download/details.aspx?id=5721.


  31. Aug 31st, 2017, 10:38 AM


    #31

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    @Victor: Thanks for the correction. I’ve adjusted the OP.

    Take Care,
    Elroy

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  32. Aug 31st, 2017, 03:08 PM


    #32

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Elroy

    If you haven’t already seen it, this thread may be of merit:
    http://www.vbforums.com/showthread.p…55#post5208955

    Spoo


  33. Sep 1st, 2017, 04:53 AM


    #33

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Please remember next time…elections matter!


  34. Sep 1st, 2017, 07:36 AM


    #34

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by TysonLPrice
    View Post

    That is the thread that «spawned» this thread

    D’oh ..


  35. Sep 1st, 2017, 07:52 AM


    #35

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    ACTUALLY….post #6 of THIS THREAD: http://www.vbforums.com/showthread.p…n-VB6-on-Win10, spawned this one. ~smile~


  36. Sep 19th, 2017, 09:04 AM


    #36

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    I just installed Vb6 on a new Windows 10 Pro machine [creators update version]
    Ran setup as admin, selected custom, unchecked ADO/RDS
    Ran SP6 setup as admin

    No issues

    Only problem I had was remembering how to get the mouse wheel fix on it. I had forgotten about the manual registration step but is working now.

    I also installed part of the MSDN 2001, opting not to install the documentation for VC, VFP and other unrelated options.
    Only time will tell but everything seems fine at the moment.


  37. Sep 19th, 2017, 09:36 AM


    #37

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by DataMiser
    View Post

    I just installed Vb6 on a new Windows 10 Pro machine [creators update version]
    Ran setup as admin, selected custom, unchecked ADO/RDS
    Ran SP6 setup as admin

    No issues

    Only problem I had was remembering how to get the mouse wheel fix on it. I had forgotten about the manual registration step but is working now.

    I also installed part of the MSDN 2001, opting not to install the documentation for VC, VFP and other unrelated options.
    Only time will tell but everything seems fine at the moment.

    Did you already have a zero byte MSJAVA.DLL on the machine? When it is missing the installation tends to hang at the end.

    Please remember next time…elections matter!


  38. Sep 19th, 2017, 12:30 PM


    #38

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Quote Originally Posted by TysonLPrice
    View Post

    Did you already have a zero byte MSJAVA.DLL on the machine? When it is missing the installation tends to hang at the end.

    Nope.
    I am using the VB6 Enterprise edition ISO so no MSJava issue with it.


  39. Feb 8th, 2019, 09:34 AM


    #39

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Thanks for the guide

    Just installed VB6 onto Windows 7 64 bit ultimate using a similar procedure to the above, creating a zero byte java DLL, registering some DLLs manually, copying the whole installation onto a folder and then copying the contents of the setup sub-folder and placing it in that same folder. Running ACMBOOT in that folder from an elevated window and the thing installed. Additional download and registration of some missing DLLs/OCXs and VB6 runs like a dream.

    I am stunned that VB6 is still so usable. The last time I opened my 50,000 line project was 2006 which I started in 1992/3 using QB4.5 migrating to VB6 when it came out. The machine I was using then was probably a top of the line 233mhz Dell Pentium laptop which 10-15+ times slower than the (admittedly old) core2duo (2.7ghz) with hybrid drives that I am testing it out on now. Compilation times are 3-5 seconds compared to what I remember being minutes to complete. It makes the whole development environment seem blisteringly fast.

    When I abandoned the project due to the dropping of VB6 for VB.NET and the experience of migration and slowness of the VBExpress IDE I really thought I’d never re-open my projects ever again. I’ve just done so and it is a revelation! VB6 is still usable, it produces fast EXEs and my programs fly. The whole thing has been turbo-charged. Rapid development or what?

    I managed to get my old project working within one day of rejigging.

    So impressed. The biggest hurdle I had to surmount through the whole process was the personal bypassing of my fear/loss of trust due to the total lack of support from MS, that lack of trust is what caused me to abandon VB6 in the first place. I suppose MS has been absent for so long, VB6 is still running that it does not really matter now.

    My project is running again. I’ve made some progress. It will never be commercial, which was the original aim so I can come to terms with that, dump that idea and move on.

    VB6 installs on Win7 no problem. Next test is an installation of VB6 on my Win10 lappie (quad core AMD) after that the latest version of ReactOS on virtualbox.

    Last edited by yereverluvinuncleber; Feb 8th, 2019 at 09:37 AM.

    Reason: extras added


  40. Feb 8th, 2019, 09:54 AM


    #40

    Re: Installing the VB6 IDE on Windows 10 — 64 bit.

    Hi yereverluvinuncleber,

    Yes, it just so happens, I installed VB6 on a Win-10-64 system last Tuesday. It literally just took me a few minutes. Here’s all I did:

    • Put a zero-byte MSJAVA.DLL in the C:Windows folder.
    • Copy my folder named «Files from Root of CD», from a VB6-Pro CD.
    • Execute the Setup.exe from above folder.
    • Do «Custom» install, and make sure the «ADO and RDS» option was unchecked.
    • (I skipped the MSDN step on this install.)
    • When that’s done, I unzipped and installed the Vs6sp6B.exe package.
    • I took my VB6_IDE_Shims.sdb file and placed it into C:Program Files (x86)Microsoft Visual StudioVB98 folder.
    • Also copied a file I’ve got named Install_Shims.cmd into that folder.
    • Drug the VB6_IDE_Shims.sdb onto the Install_Shims.cmd file.
    • Right-clicked the VB6.exe, and, on the compatibility tab, made sure the «Run As Administrator» was checked.

    And voila, everything worked perfectly. I sometimes have trouble with that msdatsrc.tlb file, but I didn’t this time. I’ve attached a zip with the VB6_IDE_Shims.sdb and Install_Shims.cmd files, but they are also discussed rather thoroughly above (and in referenced links).

    I get a tremendous amount of work done with VB6, and am absolutely thrilled that it continues to run on the most contemporary Windows OSs.

    Take Care,
    Elroy

    Any software I post in these forums written by me is provided �AS IS� without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. Please understand that I�ve been programming since the mid-1970s and still have some of that code. My contemporary VB6 project is approaching 1,000 modules. In addition, I have a �VB6 random code folder� that is overflowing. I�ve been at this long enough to truly not know with absolute certainty from whence every single line of my code has come, with much of it coming from programmers under my employ who signed intellectual property transfers. I have not deliberately attempted to remove any licenses and/or attributions from any software. If someone finds that I have inadvertently done so, I sincerely apologize, and, upon notice and reasonable proof, will re-attach those licenses and/or attributions. To all, peace and happiness.


  • Home
  • VBForums
  • Visual Basic
  • Visual Basic 6 and Earlier
  • Installing the VB6 IDE on Windows 10 — 64 bit.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules


Click Here to Expand Forum to Full Width





4 Years Ago



rproffitt



1 Tallied Votes



3K
Views

Yes, you’ve been told it’s dead, gone and to move off this old beast of a system from 1998 but here you are, tasked with fixing an old legacy app so let me share that I’ve been there and how I got around some of the issues. These are:

  1. Install issues on Windows 10.
  2. A workaround to code that seemed fine but failed.
  3. What may never work again.

Installing VB6

Installing Visual Studio 6.0 from 1998 is a challenge. Be sure to have your media ready and if need be, print out the instructions so you can follow them step by step.
I used this search for how to isntall -> https://www.google.com/search?q=Install+Visual+Studio+6.0+on+Windows+10

This seems to work but badly and you have to deal with the install appearing to fail but I was able to pick up the pieces by copying the missing dao35.dll from my Visual Studio 6.0 CD (or VB6 Media) to the folder where the VB6.EXE is. This might be C:Program Files (x86)Microsoft Visual StudioVB98 on a stock install.

Before you try to run VB6, be sure to install Service Patch 6.

When you run VB6 for the first time it may cough up errors and complaints but plow ahead and when it’s done, quit and try again. Here it stoped complaining on the second run.

Be sure to experiment with the Compatibility Tab on the VB6.EXE file. For me the usual sluggish behavior in dragging items around vanished when I set compatibility to Vista Service Pack 2.

An odd workaround

Our old app uses images for some buttons and VB6 would complain the images couldn’t be found. The images were there but the fix was simple but unintuitive. The current directory appeared to be somewhere else and I have yet to find out why CurrDIR() returns what we expected yet the following code was required. Let’s hope this helps a few out there.

Debug.Print CurDir()    ' Show in IDE
Debug.Print App.Path    ' Show in IDE
ChDir (App.Path)        ' Set the CurDir()

What may never work again

So that’s the basics to get VB6 up and running again and the odd issue I bumped into and now to what we had to forget about. What I can’t seem to find a fix for is the old SQL interface system. That’s in DAO but that doesn’t seem to have a patch or fix so if you rely on any SQL you need to inform your management that it’s dead.

Member Avatar


ddanbe

2,724



Professional Procrastinator



Featured Poster


4 Years Ago

Yes, conservative, afraid to change anything managments.
That is why COBOL is also still around, I guess.

Member Avatar


rproffitt

2,382



«Nothing to see here.»



Moderator


4 Years Ago

Microsoft issued the following at https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/visual-basic-6-support-policy

Executive summary

The Visual Basic team is committed to «It Just Works» compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:

Windows 10
Windows 8.1
Windows 7
Windows Server 2016
Windows Server 2012 including R2
Windows Server 2008 including R2

«The Visual Basic team’s goal is that Visual Basic 6.0 applications continue to run on supported Windows versions. As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of supported Windows versions, which is five years of mainstream support followed by five years of extended support.»

While the support for the development system is gone and there are issues, the runtime and if you know what you are doing, you can keep your app running for a very long time.

What is gone and I can’t find a fast workaround is SQL support. Also known as DAO.

Hope this helps if someone tells you it’s dead. While I think it’s unacceptable for a new project, just like Cobol, it lives.

Member Avatar

4 Years Ago

I already installed vb6 on windows 10 and no problems occur


Reply to this topic

Be a part of the DaniWeb community

We’re a friendly, industry-focused community of developers, IT pros, digital marketers,
and technology enthusiasts meeting, networking, learning, and sharing knowledge.









Reply to this Topic

This topic is old!
No one has contributed to this discussion in over 4 years.
Are you sure you have something valuable to add to revive the existing conversation?
Consider starting a new topic instead.
Otherwise, please be thoughtful, detailed and courteous, and adhere to our posting rules.


  • Edit


  • Preview

Insert Code Block

Skip to content

VB6 installs just fine on Windows 7, Windows 8 and even Windows 10 with a few caveats.

Just follow instructions bellow to make VisualBasic 6 IDE (VisualStudio) works on your system.

Here is how to install VB6 on Windows 7/8/10

  • Before proceeding with the installation process below, create a zero-byte file in C:Windowscalled MSJAVA.DLL. 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.
  • Turn off UAC.
  • Insert Visual Studio 6 CD.
  • Exit from the Autorun setup.
  • Browse to the root folder of the VS6 CD.
  • Right-click SETUP.EXE, select Run As Administrator.
  • On this and other Program Compatibility Assistant warnings, click Run Program.
  • Click Next.
  • Click “I accept agreement”, then Next.
  • Enter name and company information, click Next.
  • Select Custom Setup, click Next.
  • Click Continue, then Ok.
  • Setup will “think to itself” for about 2 minutes. Processing can be verified by starting Task Manager, and checking the CPU usage of ACMSETUP.EXE.
  • On the options list, select the following:
    • Microsoft Visual Basic 6.0
    • ActiveX
    • Data Access
    • Graphics
    • All other options should be unchecked.
  • Click Continue, setup will continue.
  • Finally, a successful completion dialog will appear, at which click Ok. At this point, Visual Basic 6 is installed.
  • If you do not have the MSDN CD, clear the checkbox on the next dialog, and click next. You’ll be warned of the lack of MSDN, but just click Yes to accept.
  • Click Next to skip the installation of Installshield. This is a really old version you don’t want anyway.
  • Click Next again to skip the installation of BackOffice, VSS, and SNA Server. Not needed!
  • On the next dialog, clear the checkbox for “Register Now”, and click Finish.
  • The wizard will exit, and you’re done. You can find VB6 under Start, All Programs, Microsoft Visual Studio 6. Enjoy!
  • Turn On UAC again

What to do after VB6 installation on Windows 7/8/10

You might notice after successfully installing VB6 on Windows 7 that working in the IDE is a bit, well, sluggish. For example, resizing objects on a form is a real pain.

  • After installing VB6, you’ll want to change the compatibility settings for the IDE executable.
  • Using Windows Explorer, browse the location where you installed VB6. By default, the path is C:Program FilesMicrosoft Visual StudioVB98
  • Right click the VB6.exe program file, and select properties from the context menu.
  • Click on the Compatibility tab.
  • Place a check in each of these checkboxes:
  • Run this program in compatibility mode for Windows XP (Service Pack 3)
    • Disable Visual Themes
    • Disable Desktop Composition
    • Disable display scaling on high DPI settings
    • If you have UAC turned on, it is probably advisable to check the ‘Run this program as an Administrator’ box

After changing these settings, fire up the IDE, and things should be back to normal, and the IDE is no longer sluggish.

As I’ve worked my way through the various oddities of Windows 10, I’ve found that most applications work great. For the most part, anything that worked on Windows 7 works on Windows 10. Visual Basic 6 (VB6) has been one of the few exceptions, so far.

Why install Visual Basic 6? It’s a long-dead program, after all. Well, like many companies out there, mine has a few proprietary programs that were written, long ago, in VB6. The apps work great, so it just hasn’t made sense to spend the time and/or money it would take to upgrade them to VB.Net. Yet, we still need to be able to make minor changes to the programs now and then.

We could keep an old XP machine around just for VB6, or set up a virtual instance of XP, or go for either of those options with Windows 7 (VB6 installed on Win7, though not perfectly). Instead of going those routes, though, I decided to look into getting VB6 properly installed on Windows 10. These notes should work for the Pro and Enterprise editions of both Visual Basic 6 and Visual Studio 6.

Note that this tutorial is really geared toward getting Visual Basic 6 up and running. I do not know whether any of the other Visual Studio applications will work after the steps below have been followed.

Also note that this process will not allow you to install the Data Access components. They just don’t work with Windows 10.

Remove Any Remnants of VB6/VS6

If you’re like me, you probably tried to install Visual Basic 6 on your computer the old fashioned way. When the install failed, you were then left with bits and pieces of VB laying around, and no uninstaller. Luckily, Microsoft wrote up an article about removing Visual Studio manually (How To Manually Uninstall Visual Studio with MSDN Library). I do not believe searching your hard drive for some of the files, as they mention, is necessary. Here are the most important steps to follow:

  • Delete the installation folders for any Visual Studio products. Note that the following are the default locations; the actual locations may be different on your system if you did a custom installation or if you are on a 64-Bit computer:
    • Program FilesMicrosoft Visual Studio
    • Program FilesCommon FilesMicrosoft SharedMSDesigners98
    • Program FilesCommon FilesMicrosoft SharedMSDN
    • Program FilesCommon FilesMicrosoft SharedVS98
    • Program FilesCommon FilesMicrosoft SharedWizards98
  • Delete the installation folders for any MSDN Libraries (the previous step may have deleted these if they were installed to the default location). The default folders are as follows:
    • Program FilesMicrosoft Visual StudioMSDN98 (for the MSDN Library for Visual Studio 6.0)
    • Program FilesMicrosoft Visual StudioMSDN (for the MSDN Quarterly Library releases)
  • Use Regedit.exe to delete the following Registry keys if they exist:
    • HKEY_LOCAL_MACHINESoftwareMicrosoftDevStudio
    • HKEY_LOCAL_MACHINESoftwareMicrosoftMSVSDG
    • HKEY_LOCAL_MACHINESoftwareMicrosoftHTML Help Collections
    • HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Basic6.0
    • HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Component Manager
    • HKEY_LOCAL_MACHINESoftwareMicrosoftVisual Modeler
    • HKEY_LOCAL_MACHINESoftwareMicrosoftVisualStudio6.0
    • HKEY_CURRENT_USERSoftwareMicrosoftDevStudio
    • HKEY_CURRENT_USERSoftwareMicrosoftMSVSDG
    • HKEY_CURRENT_USERSoftwareMicrosoftVisual Basic6.0
    • HKEY_CURRENT_USERSoftwareMicrosoftVisual Modeler
    • HKEY_CURRENT_USERSoftwareMicrosoftVisualFoxPro
    • HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio6.0
  • If you’re on a 64-Bit system, check here, as well:
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftDevStudio
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftMSVSDG
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftHTML Help Collections
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Basic6.0
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Component Manager
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisual Modeler
    • HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftVisualStudio6.0
  • Use Regedit.exe to delete any instance of the key for Visual Studio or MSDN Library under the following keys. Since you don’t have an uninstaller, you probably won’t find anything here. It’s worth looking through the keys, anyway, to see if you find any mentions of Visual Studio or MSDN. WARNING: Do not delete the “Uninstall” key; only delete MSDN or Visual Studio keys listed within it.
    • HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall
    • 64-Bit systems only: HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall

Prepare Your Files

Now, we need to get all of our files in place. The tool we’re going to use for the installation can actually read off the CDs, but I find it much quicker to have already copied the necessary files to my hard drive. In my case, I setup everything in C:Visual Studio 6.

  • First, copy the contents of all Visual Basic/Studio 6 and MSDN CDs to the folder you’ve chosen.
  • Next, download and extract the Visual Studio SP6 patch (https://www.microsoft.com/en-us/download/details.aspx?id=9183). Place the extracted contents in a folder named VS6SP6.
  • You should end up with a set of directories that look like those shown below. The names aren’t important, as long as you know what’s what.

We’re going to use a handy tool put together by Giorgio Brausi to complete our installation. It takes care of some of the trickier parts of getting Visual Basic/Studio 6 installed on a Windows 10 computer.

  • Download Giorgio’s installation program from his website, nuke.vbcorner.net (http://nuke.vbcorner.net/Articles/VB60/VisualStudio6Installer/tabid/93/language/en-US/Default.aspx).
  • The program does not need to be installed. Simply extract the contents of the zip file and run vs6installer.exe.
  • The first thing we need to do is setup the program’s working folder. This is where the installer program will copy it’s working fileset to. I suggest using a folder you know the program will have permission to access. Something in your Documents folder should work.
  • Click the “Set Root folder” button.
    VS_installer_set_root_folder
  • Browse to where you want to create the root folder, then click Make New Folder. Using the tool to make the folder will ensure that it has the necessary permissions. Click “Yes” to confirm that it is the correct location.
  • If you want to install the various graphic files included with VS6, then make sure that option is checked.
  • Make sure the “Disable Data Access” option is chosen. It should already be selected, by default, on Windows 10 systems.
  • Select the edition you will be installing. In my case, I chose Visual Studio 6 Professional Edition. You should choose whatever matches the CDs you are using for the installation. Your options should look similar to this:
    VS_installer_options
  • Click the “Step 1” button. The program will now have you select the source location for Visual Basic/Studio’s files. The files can be on CDs, or on your hard drive (as I previously recommended). Select the set of files referenced at the top of the selection window, confirm that the copy procedure is correct, then wait as the necessary files are copied to the new root location.
    VS_installer_step_1VS6_step_1_select
  • Click “Step 2” and select the MSDN files. Technically, you don’t need to install MSDN, but it doesn’t hurt. You will need to select both CDs for this step. After CD1 has finished copying, you will be prompted to select CD2.
    VS_installer_step_2
  • On to “Step 3”. This will prepare the Service Pack 6 files. Browse to and select the files you previously extracted to the VS6SP6 directory.
    VS_installer_step_3
  • You may run into an issue here if you are installing the Professional Edition of VB6/VS6. The Service Pack 6 files that are still available on the Net are actually for the Enterprise Edition. I have, so far, been unable to source a Pro version of SP6. If you get an error about missing files (see below), then simply move on with the installation. We’ll manually install SP6, later.
    VS6_SP6_error

Install Visual Basic/Studio

Now that our files are in place, it’s time to begin installing the program.

  • Click the first Install button.
    VS_installer_vs6
  • Click “Yes” to confirm you wish to continue with the installation.
  • The standard installer will now launch. Make your way through it, entering your Serial Number as necessary.
  • Make sure to choose the standard Install option, NOT the Server Applications option.
  • Keep clicking Next, Continue, OK, etc., until you get to this screen. Click the Custom button.
    VS6_custom_button
  • The installer tool will have already made the appropriate selections based upon what you chose before launching the installer, so there should be no need to make any changes here. I believe you can install the options besides Visual Basic 6, but they were unnecessary for me. Some of the items under “Data Access” are incompatible with Windows 10. They should already be disabled if you left the “Disable Data Access” option checked in the installer tool.
  • If your version of Visual Studio/Basic has a SourceSafe option, then it is probably wise to uncheck that option.
  • Here’s how my installation options looked:
    vs6_install_options
  • Click Continue and the program will install.
  • Click OK when you get the Success message.
  • You may need to Restart your system at this point. If so, wait for the restart to finish, then pick up where you left off.
  • The MSDN installer will now launch. Make sure to UNCHECK the “Install MSDN” option, then click Next.
    VS6_install_MSDN
  • Click “Yes” to the message warning you about not installing MSDN, click Next to skip any additional installers, then UNCHECK “Register Now” and click Finish.
  • If you were to check Programs and Features now, you would see that you now have a proper Visual Basic/Studio 6 uninstaller.

Install the MSDN Library

Time to install the MSDN Library. This step is optional, but I recommend it as Visual Basic 6 Help files are only going to get harder to find on the Net as time goes by.

Install Service Pack 6

There are two ways to install Service Pack 6. If you have the proper service pack files for your installation, then you will be able to use the installer tool to launch the installation. If not, then you’ll need to launch the installer manually.

Note that Service Pack 6 only contains updates for Visual Studio, Visual C++, and Visual Basic, and Visual SourceSafe. If you installed any other programs (FoxPro or InterDev), then you should first install Service Pack 5. I find it hard to justify installing those programs, so won’t go over that scenario here.

  • If you were able to find the right version of SP6 for your installation, then you can click the third Install button.
    VS_installer_sp6
  • Click “Yes” to confirm you want to install SP6.
  • If you were unable to find the correct version of SP6, then find the folder you previously extracted the SP6 files to (during this step), right click on the setupsp6.exe file, and choose “Run as administrator”.
  • From here on, the installation of SP6 will be the same for both scenarios.
  • Click “Continue”, then click “I Agree”.
  • If you get an option to click a “Complete” button, then do so.
  • Click “OK” once installation has finished.

A Few More Steps

Just a few more steps until we’re done. These steps will take care of a few errors/annoyances you may encounter.

  • Go to the Options tab in the Visual Studio 6 Installer program and click “Create Desktop shortcut”.
    VS_installer_shortcut
  • Run the newly created shortcut from your Desktop.
  • If you get an “Automation error”, then close VB6, return to the installer tool, and click the “Run As Administrator” option.
  • Relaunch VB6, and the error should be gone.
  • You can now return to the installer tool and click the “Run As Administrator” option again to turn off that setting. It is not needed after the necessary registrations have been completed.
  • We have just one more setting to change. VB6, when run on Windows 10, will experience a delay whenever you draw, move, or resize objects on a Form in the VB IDE. To correct this issue, click the “Set Vista SP2 compatible” button.
    VS_installer_vista_compatible
  • If the “Set Vista SP2 compatible” button does not work, then you may need to set that option manually. To do so, navigate to where VB6 is installed (most likely C:Program Files (x86)Microsoft Visual StudioVB98).
  • Right click on VB6.exe and choose “Properties”.
  • Go to the Compatibility tab, check the “Run this program in compatibility mode for” option, and choose “Windows Vista (Service Pack 2)”.
    VB6_properties
  • Click OK, then try running the program again. You should now find that controls can be manipulated without issue.

And you’re done! Visual Basic 6 should now run just as well as it ever did. Now then, time to get back to work on converting those VB6 apps to VB.Net 😉

RRS feed

  • Remove From My Forums
  • Question

  • Hi All,

    Can someone help me how to install VB6 (32bit) on Windows 10 64 bit O/S?

    Thanks in advance,

    Manoj Kumar

Answers

    • Proposed as answer by
      MeipoXuMicrosoft contingent staff
      Wednesday, March 23, 2016 7:00 AM
    • Marked as answer by
      Kate LiMicrosoft employee
      Wednesday, March 30, 2016 2:10 AM

All replies

    • Proposed as answer by
      MeipoXuMicrosoft contingent staff
      Wednesday, March 23, 2016 7:00 AM
    • Marked as answer by
      Kate LiMicrosoft employee
      Wednesday, March 30, 2016 2:10 AM
  • This is the solution:

    https://www.raymond.cc/blog/install-visual-basic-6-vb6-in-windows-7-without-microsoft-virtual-machine-for-java/

Понравилась статья? Поделить с друзьями:
  • Как установить the bat на windows 10
  • Как установить vas 5054a на windows 10
  • Как установить tgz python на windows
  • Как установить valorant на windows 11
  • Как установить tftp сервер на windows 10