views:

822

answers:

4

I have a really large VB6 code base with a ton of 3rd party controls. Want to move it to .NET. Rewriting it is out of question - the client sees no value in spending money to get the same thing. Moving to .NET with the built-in upgrade wizard is basically a non-starter.

Has anyone tried the VB Migration Partner from http://www.vbmigration.com/ If so, what have been the experiences like?

+3  A: 

I've never worked with the VB migration guys before, however I would highly recommend against migrating the code base to .NET. It really doesn't add value.

What I've had great success doing is adding new functionality in .NET and getting at it via COM interop from the VB6 application. This is pretty effortless and is a good way of utilizing .NET in legacy applications.

...my 2 cents

Scott P
+3  A: 

The short answer is that VB6 and VB.NET (and consequently C#) are separate but related languages. There are many subtle (Integer being Int32 instead of Int16) and gross differences (graphics, form, and printing engines) between the two platforms. You need to treat this as if you are converting to a completely different platform.

I have found various migration tools not to be worth the effort except for some specific circumstances. For example a database front end using crystal reports.

As for the worth of migration. Only you and your company can make that decisions. Maintain a application long enough on a PC eventually you have to seriously consider it. Mostly to take advantage of a totally new technology (the switch from DOS to Windows for example). My applications was started in 1985 and there has been three major conversion in it's 20 years history (Workstation to DOS, DOS to Windows 3.X, Windows 3.X to 32-bit Windows and object oriented framework).

And We are considering .NET for several reasons. VB.NET is a related language, Generics and Inheritance allow much of our boilerplate code to compressed into a few lines. A richer Graphics API, and so on. Of course there is the total headache of the conversion weighing against everything. However when we switched to a object oriented framework our application became a small EXE linked through COM to several DLLs. We have the luxury of converting and testing piecemeal because of our application structure.

I strong recommend that if you intend to convert that you refactor your application in VB6 to a structure that can be converted and tested in parts. You will be able to use Active DLLs to accomplish this. If you try to do this in one go then you will find that 80% of the project will go quickly and the last 20% will be pure hell. By converting piecemeal you will be left with working software at every step.

The issues is explored more fully here

How to Switch a Large App from VB6 to VB.NET

RS Conley
+2  A: 

I am the lead author of the VB Migration Partner tool (featured at www.vbmigration.com). In general we answer very quickly to all requests coming from existing or potential customers. I am sorry if found it difficult to contact us. Please try again at http://www.vbmigration.com/contactus.aspx

We do believe that our tool is capable to tackle very large VB6 applications. Actually, most of our customers are using it to migrate applications in the range 200-500K lines of code. We are currently working on a "monster app" of over 13 millions LOCs partitioned in 1200+ projects.

As RSConley suggests, any conversion tool works best if your application can be migrated and tested in parts. We support VB6 project groups (that are converted in a single operation), batch conversions, and we support integration with source code control tools. (For example, we preserve solution/project guids from previous generation, so that your SC tool knows how to deal the newly generated code.)

Finally, we are about to release version 1.11, which can generate .NET DLLs that are binary compatible with the original COM DLLs, so that you can migrate one component at the time starting with the most basic ones that are used by all others portions of your app, without having to re-compile them. (As far as we know, VB Migration Partner is the only tool with this feature.)

Francesco Balena -- VB Migration Partner Team

A: 

Francesco,

I sent an email to you guys, got a pre-canned email answer about time zone differences, but nothing else.

AngryHacker
I am sorry, you guys did reply to me very fast as well. However, all the replies kept going to the Junk folder. One of the few false positives, I've ever seen with Gmail.
AngryHacker