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.
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.
COM and .NET
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.
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.
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
Learn how to migrate your data-oriented application from Visual Basic 6.0 to Visual Basic .NET.
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.
This article shows you how to build an application that downloads satellite photos of a given street address from Visual Basic 6.
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.
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.
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.
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.
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.
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.
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.
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.
Add data compression (ZIP) capabilities to existing Visual Basic 6.0 applications using the .NET Framework.
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.
Instrument your applications so that other people can look at the event logs to diagnose issues from Visual Basic 6.0 applications using .NET.
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.
Leverage these tools and solutions from our partners to assist you with a more complete migration from Visual Basic 6 to .NET.
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.
Add-in used to ensure that code meets predetermined coding standards and best practices developed by Microsoft.
Analyze your Visual Basic 6.0 projects to determine what issues you will need to address to be able to upgrade.
- Upgrade Visual Basic 6 Code Snippets
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.
- Visual Basic.NET "How Do I" Videos
Provides proven practices to reach functional equivalence while upgrading Visual Basic 6 to 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
Documentation on how to run samples included with Visual Basic 6.0
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
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.
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.
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.
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.
This article discusses the ADO Errors Collection.
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.
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.
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.
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.
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.
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.