Visual Basic 6.0 Resource Center
While the Visual Basic 6.0 IDE is no longer supported, Microsoft's goal is that Visual Basic 6.0 applications continue to run on supported Windows versions. The resources available from this page should help you as you maintain existing applications, and as you migrate your functionality to .NET.
Visual Basic 6.0 Support Policy
The Visual Basic team's goal is that Visual Basic 6.0 applications continue to run on supported Windows versions. Key Visual Basic 6.0 runtime files, used in the majority of application scenarios, are shipping in and supported in Windows. For details, see the Support Statement for Visual Basic 6.0 on Windows.
Visual Basic 6.0 Documentation
The Visual Basic 6.0 product documentation contains language reference and how to guides for maintaining Visual Basic applications. For documentation on using Visual Studio and Visual Basic .NET, see Help for Visual Basic 6.0 Users. In addition, you can refer to a list of intrinsic and ActiveX controls shipped in Visual Basic 6.0.
VB6 Community Resources
Extend Your Visual Basic 6.0 Applications
Extend your Visual Basic 6.0 applications using the functionality of Visual Basic .NET without upgrading. These resources show you how to extend your Visual Basic 6.0 applications using Visual Basic .NET and how to take advantage of your Visual Basic 6.0 components from Visual Basic .NET.
Bring the Power of .NET to Visual Basic 6
The Interop Forms Toolkit provides tools and components that simplify the process of building forms and controls with Visual Basic .NET that can be easily consumed from Visual Basic 6.
- Read about or download the Interop Forms Toolkit.
COM and .NET
Extending Visual Basic 6 ActiveX EXEs with Visual Basic .NET and the Interop Forms Toolkit
This article discusses techniques for modernizing and upgrading Visual Basic 6 ActiveX EXEs with Visual Basic .NET.
This article covers some of the issues associated with creating and using COM objects with Visual Basic.
Use 5000 Classes from Visual Basic 6.0
In this article, you will see how anything in the .NET Framework can be utilized in Visual Basic 6.0 by creating simple wrapper classes. This can let you quickly add powerful functionality to existing Visual Basic 6.0 applications, without the need to rewrite those applications in .NET.
Best Practices to Use Visual Basic 6.0 and Visual Basic .NET Together
A Microsoft Visual Basic 6.0 application can access .NET class libraries, but to do so, it must go through an interoperability layer, known as a client callable wrapper. This wraps the desired .NET class, and exposes it so that it appears as a traditional COM object, which can be used from any environment that can consume COM objects. Learn how to create these wrappers.
Data and Services
Convert a Data-Oriented Application from Visual Basic 6 to Visual Basic .NET
Learn how to migrate your data-oriented application from Visual Basic 6.0 to Visual Basic .NET.
Using SQL Express from Visual Basic 6.0
SQL Express provides the developer power of SQL Server. This article will show how SQL Express can be used for Visual Basic 6.0 development. Best of all, it is completely free, and can be redistributed with your application.
Calling Web Services from Visual Basic 6
This article shows you how to build an application that downloads satellite photos of a given street address from Visual Basic 6.
Enhancing an Application with Windows Desktop Search and Office Outlook Integration
This article, the first in a four-part series, shows that it is not necessary to migrate a Microsoft Visual Basic 6.0 application to Microsoft Visual Basic .NET in order to take advantage of .NET functionality.
Enhancing a Visual Basic 6.0 Application with MapPoint Web Service
This article, the second in a four-part series, demonstrates how to use .NET functionality to expand and modernize a Microsoft Visual Basic 6.0 application by adding mapping capabilities via the Microsoft MapPoint Web Service API.
Enhancing a Visual Basic 6.0 Application with the ReportViewer Control
This article, the third in a four-part series, shows how to include modern, simple-to-configure Microsoft Visual Basic .NET reporting components within an existing Microsoft Visual Basic 6.0 application.
Automatic Updating of Visual Basic 6 Applications: Part I
This article shows how you can add automatic updating functionality to your existing Visual Basic 6.0 applications, using features available with the .NET Framework 2.0.
Deploying the Hybrid Visual Basic 6.0 and Visual Basic .NET Application
This article—the last in a four-part series that walks through enhancing an existing Microsoft Visual Basic 6.0 application by using functionality that is expected of modern applications—focuses solely on deployment considerations.
Launch and Control System Processes using the “Process” Class from a Visual Basic 6 Application
This article examines the functionality provided by the .NET Framework “System.Diagnostics” classes. In specific, this article looks at the very useful “Process” class, which lets you launch and control system processes, and shows how to use this class from a Visual Basic 6 application.
Using Background Threads with Visual Basic 6
Learn how to use the .NET Framework 2.0 BackgroundWorker component from Visual Basic 6 applications to perform long running operations on background threads. This article shows you how to inform the user of progress, how to allow the user to cancel the background task, and how to debug multi-threaded applications.
Adding File Compression and Encryption in Visual Basic 6.0 Using the Microsoft .NET Framework - Part 1
In this two-part article series, you’ll see how you can easily add encryption and data compression (ZIP) capabilities to existing Visual Basic 6.0 applications using the .NET Framework.
Adding File Compression and Encryption in Visual Basic 6.0 Using the Microsoft .NET Framework - Part 2
Add data compression (ZIP) capabilities to existing Visual Basic 6.0 applications using the .NET Framework.
Accessing Operating System Information and More with Visual Basic 6
This article explains how you can use Visual Basic 6 with the .NET Framework to access user and operating system information that normally would require Win32 API calls.
Accessing the Event Log from Visual Basic 6.0 using the Microsoft .NET Framework
Instrument your applications so that other people can look at the event logs to diagnose issues from Visual Basic 6.0 applications using .NET.
Access the File System with .NET Framework Classes from Visual Basic 6.0
Accessing the file system is a common application requirement, and in the spirit of Microsoft Visual Basic Fusion, this article shows how to access some of the best Microsoft .NET Framework file system functionality from existing Visual Basic 6.0 applications. Learn how to get the extension for a file, the directory portion or a path, or the file name portion of a path. Learn how to fire events every time the contents of a directory change.
Migrate Your Visual Basic 6.0 Application
While Microsoft no longer ships a migration wizard, our partners offer migration tools and solutions. Here are more resources to help answer questions on how to migrate from Visual Basic 6.0 to Visual Basic .NET.
The first step in a phased migration to .NET is to assess which upgrade strategy is right for you in order to come up with a migration plan.
- Patterns & Practices Guidance: Upgrading Visual Basic 6 Applications to Visual Basic .NET
- Visual Basic 6.0 to Visual Basic .NET Upgrade Assessment Tool
- Code Advisor for Visual Basic 6.0
- Essential Training Videos for Visual Basic 6 Developers
See how to take advantage of .NET in your current VB6 applications. Gradual phased migration is made much easier with the Interop Forms Toolkit, but if a full upgrade is right for you, then check out or partner migration tools.
Migration tools from our partners
Leverage these tools and solutions from our partners to assist you with a more complete migration from Visual Basic 6 to .NET.
Microsoft Interop Forms Toolkit 2.1
Used to enable phased migration, this free add-in for Visual Studio simplifies the process of displaying .NET forms and controls in a Visual Basic 6 application.
Code Advisor for Visual Basic 6.0
Add-in used to ensure that code meets predetermined coding standards and best practices developed by Microsoft.
Visual Basic 6.0 to Visual Basic .NET Upgrade Assessment Tool
Analyze your Visual Basic 6.0 projects to determine what issues you will need to address to be able to upgrade.
Debug and test your application compatibility and usability to make sure migration is smooth.
- Debugging Hybrid Visual Basic 6.0/Visual Basic .NET Applications
- Upgrade Errors, Warnings, and Issues
Take advantage of the full .NET platform including modern deployment, services integration, rich controls, language productivity features, and much much more.
Contains a set of controls to use in .NET forms that are familiar to Visual Basic 6 developers. It includes a DataRepeater control, Line and Shape controls, a PrintForm component, and a Printer Compatibility.
VB6 Upgrade Guidance from Patterns and Practices
Provides proven practices to reach functional equivalence while upgrading Visual Basic 6 to Visual Basic .NET.
Upgrading Microsoft Visual Basic 6 to Microsoft Visual Basic.NET
This free book is the complete technical guide to upgrading Visual Basic 6 applications to Visual Basic .NET.
Complete series of training videos that give Visual Basic 6 developers the skills to start developing on the .NET platform.
This webcast gives the framework to develop the right strategy to take advantage of the .NET Framework.
Additional Visual Basic 6.0 Resources
Visual Basic 6.0 Samples Documentation
Documentation on how to run samples included with Visual Basic 6.0
Additional Visual Basic 5.0 & 6.0 Samples
Download additional controls, componenents and samples for Visual Basic 5.0 and 6.0
Download important updates and additional code samples for Visual Basic 6
Visual Basic 6.0 Properties Descriptions and their Settings
This list of Visual Basic 6.0 form object properties along with descriptions and settings, serves as a handy reference to anyone using Visual Basic 6.0. This material is presented at the beginning of an article comparing Visual Basic 6.0 and Visual Basic .NET objects.
Text Box Defaults Add-In Project for Microsoft Publisher 2002
The Text Box Defaults project is a Visual Basic 6.0 project that can be compiled into a Microsoft Publisher 2002 add-in toolbar. This toolbar allows the user to extract property settings from an existing text box and then create new text boxes with those settings.
Creating a 404 Error Tracker with Visual Basic 6.0
This article will walk you through the steps of building a Visual Basic 6.0 ActiveX dynamic-link library (DLL) that will make it easy and efficient for you to track and prevent 404 (Not Found) errors on your site.
Use the Print method in Visual Basic to print text.
This tutorial will show you how to create a very simple program that will actually speak.
By using ADO in conjunction with OLE DB, you can talk to Access, SQL Server, or any other data source by simply using the ADO object model.
Developing Applications with the Microsoft Visual Basic 6.0 Data Object Wizard
The Visual Basic Data Object Wizard (DOW) is a Visual Basic Add In Wizard that can be used to create data Classes and User Controls that display and manipulate data.
Reacquaint Yourself with the Object Browser
This article discusses the ADO Errors Collection.
Determining the Entropy of the Values We Added
Explore data mining: an exciting technique that uses the power of databases to extract meaningful knowledge from a mountain of data.
By using the OpenSchema method, you can spy on information about any particular data source. You can easily get information about the data source, such as the tables on the server and the columns in those tables.
Getting Started with Visual Basic 6.0 and XML
Learn how to get started using XML in Visual Basic 6.0. This article provides several examples showing how you can use XML documents in Visual Basic 6.0 applications.
The WebClass Developer's Primer
This article introduces WebClasses and the WebClass development model.
The Internet Transfer control will automatically establish an FTP session the first time you execute an FTP command. This table lists the FTP commands for the control.
Programming with the Internet Transfer Control
This article describes a program called the Internet Updater, which demonstrates the use of the Internet Transfer control. The Internet Updater is used to update an application by examining each file in the application and choosing those files that have newer versions.
Getting Started: Microsoft Windows CE Toolkit for Visual Basic 6.0
This document will walk you through the creation of your first Windows CE application written in Microsoft Visual Basic. We will help you set up an emulation environment and get you up and building your first database application quickly.
Microsoft Windows CE Toolkit for Visual Basic 6.0 Guided Tour
This document will take you on a tour of the features contained in the Windows CE Toolkit for Visual Basic 6.0. You will learn how to create a simple application that is designed on a traditional Windows desktop and executed on a Windows CE device, and how to access data stored in SQL Server.