Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, Windows 8 and Windows 8.1, Windows Server 2012, and Windows 10
Update: August 2015
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 Vista, Windows Server 2008 including R2, Windows 7, Windows 8 and Windows 8.1, Windows Server 2012 including R2, and Windows 10.
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 ( http://support.microsoft.com/gp/lifepolicy). The support bar will be limited to serious regressions and critical security issues for existing applications.
Technical Summary
Visual Basic 6.0 is made up of these key deliverables:
Visual Basic 6.0 IDE [Integrated Development Environment]
Visual Basic 6.0 Runtime -- the base libraries and execution engine used to run VB 6.0 applications
Visual Basic 6.0 Runtime Extended Files – select ActiveX control OCX files, libraries, and tools shipping with the IDE media and as an online release
The Visual Basic 6.0 IDE
The Visual Basic 6.0 IDE is no longer supported as of April 8, 2008. However, Custom Support Agreements may be available from Microsoft. Additionally, both the Windows and Visual Basic teams have tested Visual Basic 6.0 IDE on Windows Vista, Windows 7, Windows Server 2008, Windows 8 and Windows 8.1 to understand and mitigate (if appropriate) compatibility issues on 32-bit versions of Windows (see the “64-Bit Windows” section below for further information about 64-bit systems). This announcement does not change the support policy for the IDE. This announcement does not change the support policy for the IDE.
The Visual Basic 6.0 Runtime
The Visual Basic 6.0 runtime is defined as the compiled binary files originally included in the redistribution list for Visual Basic 6.0. These files were marked as distributable in the original Visual Basic 6.0 license. Examples of these files include the Visual Basic 6.0 runtime library (msvbvm60.dll), controls (i.e. msflxgrd.ocx) along with runtime support files for other major functional areas (i.e. MDAC).
The runtime is divided into the three groups:
Supported Runtime Files – Shipping in the OS: Key Visual Basic 6.0 runtime files, used in the majority of application scenarios, are shipping in and supported for the lifetime of supported Windows versions. This lifetime is five years of mainstream support and five years of extended support from the time that a given version of Windows ships. These files have been tested for compatibility as part of our testing of Visual Basic 6.0 applications running on supported Windows versions. Note: All supported Windows versions contain a nearly identical list of files and the redist requirements for applications containing these files should be nearly identical. One key difference is TriEdit.dll was removed from Windows Vista and later versions.
Supported Runtime Files – Extended Files to Distribute with your application: extended list of key controls, libraries, and tools that are installed from the IDE media or from Microsoft.com to the developer machine. Typically the VB6 IDE installed these controls to the developer machine by default. The developer still needs to redistribute these files with the application. The supported version of the files is available online on the Microsoft Download Center (http://go.microsoft.com/fwlink/?LinkID=142927).
Unsupported Runtime Files: Some files have either fallen out of mainstream support or they were never included as a part of the runtime redist (e.g. they were included in \Tools folder on the IDE media to support legacy VB4/VB5 applications or they were 3rd party controls). These files are not supported on Windows; instead they are subject to whatever support agreement applies to the media they were shipped with. This implies no warranties around support and servicing. In some instances, later versions of these libraries are supported. Details on backward compatibility or migration to supported versions are provided below.
For specific details on the files included in each support group see the “Runtime Definition” section below.
Visual Basic 6.0 Support Lifetime
Supporting and/or shipping Visual Basic 6.0 runtime binaries on supported Windows versions does not change the support policy for the Visual Basic 6.0 IDE or Visual Studio 6.0 IDE as a whole. Those products will move out of extended support in April 8, 2008.
Further details on the support policy for the Visual Basic 6.0 and Visual Studio 6.0 products can be found at http://msdn.microsoft.com/en-us/vstudio/aa718686.aspx. Details on the support lifecycle of Microsoft products can be found at http://support.microsoft.com/gp/lifepolicy. As a part of this support lifecycle, Microsoft will continue to support the Visual Basic 6.0 runtime on supported Windows versions for the support lifetime of those operating systems. This means, for example, that the Visual Basic 6.0 runtime will be supported on Windows Server 2003 until June, 2008 for Mainstream Support and June, 2013 for Extended Support.
For more details on the support lifecycle or to find out about additional support options, please visit our support page at http://www.microsoft.com/support
64-Bit Windows
Visual Basic 6.0 runtime files are 32-bit. These files ship in 64-bit Windows Operating Systems referenced in the table below. 32-bit VB6 applications and components are supported in the WOW emulation environment only. 32-bit components must also be hosted in 32-bit application processes.
The Visual Basic 6.0 IDE has never been offered in a native 64-bit version, nor has the 32-bit IDE been supported on 64-bit Windows. VB6 development on 64-bit Windows or any native architecture other than 32-bit is not and will not be supported.
Windows 7
Since the initial release of this support statement, the Windows 7 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows 7.
VB6 runtime will ship and will be supported in Windows 7 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows 7 being the same as it is for Windows Vista.
Windows 8
Since the initial release of this support statement, the Windows 8 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows 8.
VB6 runtime will ship and will be supported in Windows 8 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows 8 being the same as it is for Windows 7.
Windows 8.1
Since the initial release of this support statement, the Windows 8.1 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows 8.1.
VB6 runtime will ship and will be supported in Windows 8.1 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows 8.1 being the same as it is for Windows 8.
Windows 10
Since the initial release of this support statement, the Windows 10 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows 10.
VB6 runtime will ship and will be supported in Windows 10 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows 10 being the same as it is for Windows 8.1.
Windows Server 2008
Since the initial release of this support statement, the Windows Server 2008 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows Server 2008.
VB6 runtime will ship and will be supported in Windows Server 2008 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows Server 2008 being the same as it is for Windows Vista.
Windows Server 2008 R2
Since the initial release of this support statement, the Windows Server 2008 R2 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows Server 2008 R2.
VB6 runtime will ship and will be supported in Windows Server 2008 R2 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows Server 2008 R2 being the same as it is for Windows Server 2008.
Windows Server 2012
Since the initial release of this support statement, the Windows Server 2012 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows Server 2012.
VB6 runtime will ship and will be supported in Windows Server 2012 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows Server 2012 being the same as it is for Windows Server 2008 R2.
Windows Server 2012 R2
Since the initial release of this support statement, the Windows Server 2012 R2 operating system has been announced. This document has been updated to clarify Microsoft’s support for VB6 on Windows Server 2012 R2.
VB6 runtime will ship and will be supported in Windows Server 2012 R2 for the lifetime of the OS. Visual Basic 6.0 runtime files continue to be 32-bit only and all components must be hosted in 32-bit application processes. Developers can think of the support story for Windows Server 2012 R2 being the same as it is for Windows Server 2012.
Supported Windows Operating System Versions
This section provides additional information regarding the operating systems that offer some level of support for VB6.
Windows Operating System | Has support? | ||
VB6 Supported Runtime -Files Shipping in Windows | VB6 Supported Runtime – Extended Files to Distribute with Your Application | VB6 IDE | |
Windows 10, all 32bit editions | Yes * | Yes * | No, but Custom Support Agreements may be available. |
Windows 10, all 64bit editions (WOW only) | Yes* 32bit apps running in WOW only | Yes* 32bit apps running in WOW only | No |
Windows 8.1, all 32bit editions | Yes * | Yes * | No, but Custom Support Agreements may be available. |
Windows Server 2012 R2, all 64bit editions (WOW only)
Windows Server 2012, all 64bit editions (WOW only)
| Yes* 32bit apps running in WOW only | Yes* 32bit apps running in WOW only | No |
Windows 8.1, all 64bit editions (WOW only) | Yes* 32bit apps running in WOW only | Yes* 32bit apps running in WOW only | No |
Windows 8, all 32bit editions | Yes * | Yes * | No, but Custom Support Agreements may be available. |
Windows 8 all 64bit editions (WOW only) | Yes* 32bit apps running in WOW only | Yes* 32bit apps running in WOW only | No |
Windows 7, all 32bit editions | Yes * | Yes * | No, but Custom Support Agreements may be available. |
Windows 7, all 64bit editions (WOW only) | Yes* 32bit apps running in WOW only | Yes* 32bit apps running in WOW only | No |
Windows Vista, all 32bit editions | Yes* | Yes* | No, but Custom Support Agreements may be available. |
Windows Vista, all x64 editions (WOW only) |
Yes*
32bit apps running in WOW only
|
Yes*
32bit apps running in WOW only
| No |
Windows Server 2008 R2, all x64 editions (WOW only)
Windows Server 2008, all x64 editions (WOW only)
|
Yes*
32bit apps running in WOW only
|
Yes*
32bit apps running in WOW only
| No |
Windows Server 2008, all 32bit editions | Yes* | Yes* | No, but Custom Support Agreements may be available. |
Windows 2003 server, all 32bit editions including R2 | Yes* | Yes* | No, but Custom Support Agreements may be available. |
Windows 2003 server. all x64 editions including R2 |
Yes*
32bit apps running in WOW only
|
Yes*
32bit apps running in WOW only
| No |
* VB6 runtime support is limited by the OS support lifecycle. E.g. if the target OS is in Extended support, VB6 cannot have a higher level of support than Extended support.
Visual Basic 6.0 Runtime Usage Inside VBA and Office
Visual Basic for Applications, or VBA, is a distinct technology commonly used for application automation and macros inside of other applications, most commonly inside Microsoft Office applications. VBA ships as a part of Office and therefore the support for VBA is governed by the support policy of Office. However, there are situations where VBA is used to call or host Visual Basic 6.0 runtime binaries and controls. In these situations, Visual Basic 6.0 supported runtime files in the OS and the extended file list are also supported when used inside of a supported VBA environment.
For VB6 runtime scenarios to be supported inside VBA, all of the following must be true:
The host OS version for VB runtime is still supported
The host version of Office for VBA is still supported
The runtime files in question are still supported
Visual Basic Script (VBScript)
VBScript is unrelated to Visual Basic 6.0 and this support statement. However, VBScript is currently shipping as a part Windows Vista, Windows Server 2008 including R2, Windows 7, Windows 8, Windows 8.1, Windows Server 2012 including R2, and Windows 10 and is governed by the OS support lifecycle.
Third Party Components
Microsoft is unable to provide support for third party components, such as OCX/ActiveX controls. Customers are encouraged to contact the original control vendor for details on support for those components.
Reporting Issues with VB 6.0 Application Running on Windows Vista, Windows 7, Windows Server 2008, Windows 8, Windows 8.1, Windows Server 2012, and Windows 10
Developers planning to use Visual Basic 6.0 with Windows Vista should install Windows Vista and begin application compatibility testing using original application acceptance testing.
If you find an issue with your Visual Basic 6.0 application running on Windows Vista, Windows 7, Windows Server 2008, Windows 8, Windows 8.1, Windows Server 2012, or Windows 10 please follow your normal support channels to report the issue.
Supported and Shipping in Windows Vista, Windows Server 2008, Windows 7, and Windows 8
atl.dll asycfilt.dll comcat.dll compobj.dll dbnmpntw.dll dcomcnfg.exe dllhost.exe ds16gt.dll ds32gt.dll expsrv.dll hh.exe hhctrl.ocx imagehlp.dll iprop.dll itircl.dll itss.dll mfc40.dll mfc42.dll mfc42enu.dll msadce.dll msadcer.dll msadcf.dll msadcfr.dll msadco.dll | msadcor.dll msadcs.dll msadds.dll msaddsr.dll msader15.dll msado15.dll msador15.dll msadrh15.dll mscpxl32.dll msdadc.dll msdaenum.dll msdaer.dll msdaora.dll msdaosp.dll msdaprst.dll msdaps.dll msdasc.dll msdasql.dll msdasqlr.dll msdatsrc.tlb msdatt.dll msdfmap.dll msdfmap.ini msjtes40.dll | msorcl32.dll msvbvm60.dll msvcirt.dll msvcrt.dll msvcrt40.dll mtxdm.dll mtxoci.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbcad32.exe odbccp32.cpl odbccp32.dll odbccr32.dll odbccu32.dll odbcint.dll odbcji32.dll odbcjt32.dll odbctrac.dll oddbse32.dll odexl32.dll odfox32.dll odpdx32.dll odtext32.dll | ole2.dll ole32.dll oleaut32.dll oleaut32.dll oledb32.dll oledb32r.dll oledlg.dll olepro32.dll olethk32.dll regsvr32.exe rpcns4.dll rpcrt4.dll scrrun.dll secur32.dll simpdata.tlb sqloledb.dll sqlsrv32.dll stdole2.tlb stdole32.tlb storage.dll vbajet32.dll vfpodbc.dll |
Supported Runtime Files to Distribute with Your Application
comct232.ocx comct332.ocx comctl32.ocx comdlg32.ocx dbadapt.dll dbgrid32.ocx dblist32.ocx mci32.ocx msadodc.ocx | msbind.dll mscdrun.dll mschrt20.ocx mscomct2.ocx mscomctl.ocx mscomm32.ocx msdatgrd.ocx msdatlst.ocx msdatrep.ocx | msdbrptr.dll msflxgrd.ocx mshflxgd.ocx mshtmpgr.dll msinet.ocx msmapi32.ocx msmask32.ocx msrdc20.ocx msrdo20.dll | msstdfmt.dll msstkprp.dll mswcrun.dll mswinsck.ocx picclp32.ocx richtx32.ocx sysinfo.ocx tabctl32.ocx |
Unsupported, But Supported and Compatible Updates or Upgrades are Available
dao350.dll mdac_typ.exe mschart.ocx msdaerr.dll msdatl2.dll | msexch35.dll msexcl35.dll msjet35.dll msjint35.dll msjt4jlt.dll | msjter35.dll msjtor35.dll msltus35.dll mspdox35.dll msrd2x35.dll | msrepl35.dll mstext35.dll msxbse35.dll odbctl32.dll oledb32x.dll |
Unsupported Runtime Files
anibtn32.ocx graph32.ocx keysta32.ocx autmgr32.exe autprx32.dll racmgr32.exe racreg32.dll grid32.ocx msoutl32.ocx | spin32.ocx gauge32.ocx gswdll32.dll ciscnfg.exe olecnv32.dll rpcltc1.dll rpcltc5.dll rpcltccm.dll rpclts5.dll | rpcltscm.dll rpcmqcl.dll rpcmqsvr.dll rpcss.exe dbmsshrn.dll dbmssocn.dll windbver.exe msderun.dll odkob32.dll | rdocurs.dll vbar332.dll visdata.exe vsdbflex.srg threed32.ocx MSWLess.ocx tlbinf32.dll triedit.dll |
Localization Support Binaries
The following binaries are necessary for supporting Visual Basic 6.0 applications running on localized versions of the Windows operating system. They are supported but are not shipped in Windows. These files are required to be shipped with your application setup.
Supported Runtime Files to Distribute with Your Application
JPN | KOR | CHT | CHS |
mfc42jpn.dll scrrnjp.dll vb6jp.dll cmct2jp.dll cmct3jp.dll mscc2jp.dll cmctljp.dll cmdlgjp.dll mscmcjp.dll dbgrdjp.dll dblstjp.dll mcijp.dll msadnjp.dll adodcjp.dll mschtjp.dll msch2jp.dll mscomjp.dll datgdjp.dll datlsjp.dll datrpjp.dll dbrprjp.dll flxgdjp.dll mshfgjpn.dll htmprjp.dll inetjp.dll msmpijp.dll msmskjp.dll rdc20jp.dll rdo20jp.dll stdftjp.dll mswcrjp.dll winskjp.dll pcclpjp.dll rchtxjp.dll sysinjp.dll tabctjp.dll | mfc42kor.dll scrrnko.dll vb6ko.dll cmct2ko.dll cmct3ko.dll mscc2ko.dll cmctlko.dll cmdlgko.dll mscmcko.dll dbgrdko.dll dblstko.dll mciko.dll msadnko.dll adodcko.dll mschtko.dll msch2ko.dll mscomko.dll datgdko.dll datlsko.dll datrpko.dll dbrprko.dll flxgdko.dll mshfgkor.dll htmprko.dll inetko.dll msmpiko.dll msmskko.dll rdc20ko.dll rdo20ko.dll stdftko.dll mswcrko.dll winskko.dll pcclpko.dll rchtxko.dll sysinko.dll tabctko.dll | mfc42cht.dll scrrncht.dll vb6cht.dll cmct2cht.dll cmct3cht.dll mscc2cht.dll cmctlcht.dll mscmccht.dll cmdlgcht.dll dbgrdcht.dll dblstcht.dll mcicht.dll msadncht.dll adodccht.dll mschtcht.dll msch2cht.dll mscomcht.dll datgdcht.dll datlscht.dll datrpcht.dll dbrprcht.dll flxgdcht.dll mshfgcht.dll htmprcht.dll inetcht.dll msmpicht.dll msmskcht.dll rdc20cht.dll rdo20cht.dll stdftcht.dll mswcrcht.dll winskcht.dll pcclpcht.dll rchtxcht.dll sysincht.dll tabctcht.dll | mfc42chs.dll scrrnchs.dll vb6chs.dll cmct2chs.dll mscc2chs.dll cmct3chs.dll cmctlchs.dll mscmcchs.dll cmdlgchs.dll dbgrdchs.dll dblstchs.dll mcichs.dll msadnchs.dll adodcchs.dll mschtchs.dll msch2chs.dll mscomchs.dll datgdchs.dll datlschs.dll datrpchs.dll dbrprchs.dll flxgdchs.dll mshfgchs.dll htmprchs.dll inetchs.dll msmpichs.dll msmskchs.dll rdc20chs.dll rdo20chs.dll stdftchs.dll mswcrchs.dll winskchs.dll pcclpchs.dll rchtxchs.dll sysinchs.dll tabctchs.dll |
ITA | FRA | ESP | DEU |
mfc42ita.dll scrrnit.dll vb6it.dll cmct2it.dll mscc2it.dll cmct3it.dll cmctlit.dll mscmcit.dll cmdlgit.dll dbgrdit.dll dblstit.dll mciit.dll msadnit.dll adodcit.dll mschtit.dll msch2it.dll mscomit.dll datgdit.dll datlsit.dll datrpit.dll dbrprit.dll flxgdit.dll mshfgit.dll htmprit.dll inetit.dll msmpiit.dll msmskit.dll rdc20it.dll rdo20it.dll stdftit.dll mswcrit.dll winskit.dll pcclpit.dll rchtxit.dll sysinit.dll tabctit.dll | mfc42fra.dll scrrnfr.dll vb6fr.dll cmct2fr.dll mscc2fr.dll cmct3fr.dll cmctlfr.dll mscmcfr.dll cmdlgfr.dll dbgrdfr.dll dblstfr.dll mcifr.dll msadnfr.dll adodcfr.dll mschtfr.dll msch2fr.dll mscomfr.dll datgdfr.dll datlsfr.dll datrpfr.dll dbrprfr.dll flxgdfr.dll mshfgfr.dll htmprfr.dll inetfr.dll msmpifr.dll msmskfr.dll rdc20fr.dll rdo20fr.dll stdftfr.dll mswcrfr.dll winskfr.dll pcclpfr.dll rchtxfr.dll sysinfr.dll tabctfr.dll | mfc42esp.dll scrrnes.dll vb6es.dll cmct2es.dll mscc2es.dll cmct3es.dll cmctles.dll mscmces.dll cmdlges.dll dbgrdes.dll dblstes.dll mcies.dll msadnes.dll adodces.dll mschtes.dll msch2es.dll mscomes.dll datgdes.dll datlses.dll datrpes.dll dbrpres.dll flxgdes.dll mshfges.dll htmpres.dll inetes.dll msmpies.dll msmskes.dll rdc20es.dll rdo20es.dll stdftes.dll mswcres.dll winskes.dll pcclpes.dll rchtxes.dll sysines.dll tabctes.dll | mfc42deu.dll scrrnde.dll vb6de.dll cmct2de.dll mscc2de.dll cmct3de.dll cmctlde.dll mscmcde.dll cmdlgde.dll dbgrdde.dll dblstde.dll mcide.dll msadnde.dll adodcde.dll mschtde.dll msch2de.dll mscomde.dll datgdde.dll datlsde.dll datrpde.dll dbrprde.dll flxgdde.dll mshfgde.dll htmprde.dll inetde.dll msmpide.dll msmskde.dll rdc20de.dll rdo20de.dll stdftde.dll mswcrde.dll winskde.dll pcclpde.dll rchtxde.dll sysinde.dll tabctde.dll |