Good News for VB6 Migration

Today I’m pleased to announce the re-launch of our VBRun developer center for VB6 developers and a free partner tool offer. If you haven’t been there before VBRun is all about providing the best migration strategies, tools, support info, and training to help you on your gradual path from VB6 to .NET. The biggest addition to the new developer center is the featuring of a partner page that provides free and recommended tools (details about this below). We’ve also taken steps to bring the VBRun and VBasic developer centers closer together – starting by adding the VB6.0 tab (links to VBRun) right off of the VBasic developer center.


The first partner to be featured on the new VBRun is Artinsoft with their Visual Basic Upgrade Companion [VBUC] tool. We have worked together to bring you a completely FREE version of the enterprise-strength Artinsoft VBUC tool that supports up to 10,000 lines of code conversion per solution (you can purchase higher editions of the product to convert more lines of code). You can think of VBUC as being the evolution of the former VB Upgrade Wizard that shipped in Visual Studio 2008 and earlier.  In many ways it is a true evolution of the code Artinsoft helped us with circa 2002.

Download your FREE version of VBUC with code ‘MSDN’

There are several improvements with the VBUC tool:

Drastic reduction in errors, warnings, and bugs caused by the tool’s inability to understand and upgrade your code. The goal was to get much closer to full functional equivalence to your VB6 code so you can instead focus on innovating on your .NET code as appropriate to your business. Of course no migration tool will be able to migrate 100% of your code without some work and testing on your side, but this tool will help you minimize the tedious effort and gotchas so you get very close.

Support for VS2010 and 9 languages – just as you’d expect we have added full support for the best version of Visual Studio yet – VS2010. Additionally we thought it would be important to enable the VBUC tool in the same locales as the version of Visual Studio you’re using. The version of VBUC you can get to today supports English, Japanese, and German. In a few weeks we plan to publish an update to add support for Chinese Simplified and Traditional, French, Spanish, Italian, and Korean languages.

Support for conversion to VB.NET and C# – you can choose the language that best fits the skills of your team.

Deep configuration of code conversion rules. Artinsoft embraces the iterative nature of migration and they provide way to customize code conversion rules. To modify these you want to check out the Profile Manager in the tool.

Better handling for late bound code. We’re all either smart or guilty for using late bound code depending on how you look at it. Unlike previous tools this version can detect late binding and automatically fix conversion issues and generic types that do not behave well in .NET.

Assessment features – in the past you’d have you download the Patterns and Practices assessment tool or work with consultants to figure out how much work lays in front of you in a migration. VBUC includes a built-in assessment tool that will create configurable reports about your code, dependencies, difficult controls/code, etc. so you can better estimate your costs and risks. To run the assessment tool just hit F4 in the tool. A cool side thing is the results are reported in HTML pages and Excel spreadsheets so it’s easy to read and tweak for your own report.

Check out this VBUC download landing page for more details about what you can do with this tool (remember to type in the code MSDN to get the $799 version for free).

We expect to continue posting our best migration strategies, best new partner tools, support policies, updated version of Interop Forms Toolkit 2.1 (adding .NET forms and user controls to VB6 apps), and guidance on the VBRun site so you should check back often. There is also a lively VB6 migration and interop forum where experts on my team and expert MVPs hang out.

If you’re facing VB6 migration challenges, I hope you check out this site and find the tools will be of use to you.


[Edit: fixed image URL’s]

Comments (7)

  1. Johann says:

    I've already converted my 350,000 lines from VB6 to VB.NET, but am not releasing the 'new' version, because no matter how much I change the algorithms in the program and use the features of the new environment, the performance is miserable.

    VB.NET is a very poor performer, and converting to it is not an upgrade from the end users' perspective.  The IDE is slightly richer, yes, but it's dog slow – even though I'm running it on a computer with far more than ten times the power I used for VB6.

    "Visual Fred" is an extreme failure from my perspective.  Utterly incompatible, massive pointless effort absorber, extreme costs for no results.  Towering example of "change for change's sake."

    Microsoft's grade on Visual Basic evolution: F-

  2. Kyle says:

    This is a common problem with software porting.  The lines of code that were optimized for the previous language are no longer optimized in the new language.  It has absolutely nothing to do with the speed of your PC, if you do not properly refactor your code to take advantage of the .Net framework it will perform badly.  The goal of automated code porting is to get your code into the new format such that you can profile it, optimize and refactor.  Instead, you've chosen to throw your hands up and blame VB.Net itself for being slow.  Not an indication of a knowledgable developer (but then again nor is sticking with VB6 a decade into its obsolescence)

  3. countach says:

    VB and VB.NET should be discontinued. These languages are torture for the programmers who started with C/Pascal (also terribly bloated, no matter how much they try to revamp it).

  4. Tony M says:

    I have converted to Delphi 7, has the power of C with the ease of VB6, thanks Microsoft for pushing me in that direction. (Also any version above .NET FrameWork 2.0 (VB8) is absolute bloatware with a capital B)

    As a sole developer I was spending most of my time trying to figure out VB8 and spending thousands of dollars in books and R&D. (that is probably what MS wants), now with Delphi I can build any applications in fraction of the time, with anything I need on line, with the best community I have come accross. Now I understand what other developers ment by "VB is a bad language to start learning with". Unfortunately I was one of those that got caught up in the Microsoft marketing hype.

  5. Paul Yuknewicz says:

    Johann, I'd like to learn more about your solution and the specific performance issues you're seeing.  I would appreciate it if you could mail me at (swapping domain to of course) and we can see how we might be able to help.  I can also tell you about some of the specific migrations I've seen that have lead to good ROI and tips n' tricks that kept the costs down.  

  6. Mike Sabatier says:

    This looks like it may encourage me to "take the leap" into .NET.

    I like the price.


  7. Johann says:

    In response to Kyle's comment "Not an indication of a knowledgable developer."

    I've been doing this professionally, full time, since 1978.  I've done assembler on PDP-11, RSTS, VAX, programmed for a decade in Java and another one in C++ on UNIX.  I wrote a TECO in C for MS-DOS.  I've written 4 different languages (template processing languages predating ASP and suchlike, and one time-sharing script interpreter that made an MS-DOS machine run 30 virtual users.)  I guess I'm just a lame amateur beginner, no meaningful opinion here, doubtless far less experienced than the Mighty Kyle.

    As for Kyle's other comment, "if you do not properly refactor your code to take advantage of the .Net framework it will perform badly" – I spent a year refactoring the code, the VB6 compatibility layer for data access is completely redone using ADO.NET, all user controls were rewritten in VB.NET, the algorithms and data structures were modified to take advantage of VB.NET, and after that, the application runs 50% the speed of the VB6 app.

    Kyle, I take offense at your arrogance.