Update: August 2009
The Visual Basic team is committed to “It Just Works” compatibility for Visual Basic 6.0 applications on Windows Vista, Windows Server 2008 including R2, and Windows 7.The Visual Basic team’s goal is that Visual Basic 6.0 applications that run on Windows XP will also run on Windows Vista, Windows Server 2008 and Windows 7. The Visual Basic team is also committed to the Visual Basic 6.0 development environment running on Windows Vista, Windows Server 2008 and Windows 7. As detailed in this document, the core Visual Basic 6.0 runtime will be supported for the full lifetime of Windows Vista, Windows Server 2008 and Windows 7, which is five years of mainstream support followed by five years of extended support (http://support.microsoft.com/gp/lifepolicy).
Visual Basic 6.0 is made up of these key deliverables:
The Visual Basic 6.0 IDE will be supported on Windows Vista and Windows Server 2008 as part of the Visual Basic 6.0 Extended Support policy until April 8, 2008. Both the Windows and Visual Basic teams tested the Visual Basic 6.0 IDE on Windows Vista and Windows Server 2008. This announcement does not change the support policy for the IDE.
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:
The Visual Basic 6.0 runtime has been tested for compatibility between Windows XP and Windows Vista / Windows Server 2008/Windows 7 with a goal that applications work similarly on these operating systems. As with any release of the operating system, there may be differences in functionality that will require modifications to your applications. These differences will be addressed on a case-by-case basis via normal support channels. Any issues that are found will be documented on the Visual Basic Support site (http://msdn2.microsoft.com/en-us/vbasic/ms789193.aspx).
For specific details on the files included in each support group see the “Runtime Definition” section below.
Supporting and/or shipping Visual Basic 6.0 runtime binaries on Windows Vista/Windows Server 2008/Windows 7 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://msdn2.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 Windows NT 4.0, Windows 2000, Windows XP and Windows Server 2003 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
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 is not and will not be supported.
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. Developers can think of the support story for Vista being the same as it is for Windows 7. However there are no plans to include VB6 runtime in future versions of Windows beyond Windows 7.
This section provides additional information regarding the operating systems that offer some level of support for VB6.
Windows Operating System
VB6 Supported Runtime - Files Shipping in Windows
VB6 Supported Runtime – Extended Files to Distribute with Your Application
Windows 7, all 32bit editions
Yes*, Extended support until April 2008, Custom Support after April 2008
Windows 7, all 64bit editions
Yes*32bit apps running in WOW only
Windows Vista, all 32bit editions
Windows Vista, all x64 editions
32bit apps running in WOW only
Windows XP, all 32bit editions
Windows XP, all x64 editions
Windows 2000 Professional, all editions
Windows 2000 Server, all editions
* 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 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:
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 and Windows 7 and is governed by the OS support lifecycle.
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.
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 or Windows 7 (where the same code worked as expected on Windows XP), please follow your normal support channels to report the issue.
The following binaries are necessary for supporting Visual Basic 6.0 applications running on localized versions of the Vista and Windows 7 operating system. They are supported but are not shipped in Vista. These files are required to be shipped with your application setup.