VB6 Migration Advice

I know that a big question was asked regarding the migration of VB6, but I do not believe that the answer was given in my specific situation.

Basically, our company wants to transfer our critical business application VB6 Line-of-business, which is quite large, uses user libraries to communicate with other internal programs, and some dlls we do not have access to the source, no semblance of any " 'best practices' have not been used with this outdated application. In fact, almost all variables are global options, and most codes such as printing, etc., are simply copied / pasted to where necessary. Well, copy, paste and change just a little ...

The decision between VB.NET and C # .NET is up to us if we should try to migrate and they would like us to consider moving the application to a web format. Management will not spend money on external migration companies.

Another option is from our infrastructure team, which is looking at Using virtualization to save a Visual Basic 6.0 client application.

Our boss wants us to give high-level assessments and recommendations, but told us that executives would like this to be done by April 2010.

Yes, we laughed at that.

My questions:

Does anyone have the opportunity to share with virtualization, since this is a much preferable option from the point of view of developers? Did it work for you? Are there any messages you would warn about?

Despite the fact that previous system analysts, giving estimates of 1-2 years, management is constantly pushing for 2-4 months of time frames. Any advice on convincing them of this crazy?

Has anyone migrated to a large VB6 web app? One of the previous VB6 migration questions answered the topic of converting partitions to COM libraries with .NET support enabled in order to launch the VB6 application. Can this approach be used? Has anyone here tried this successfully?

+4
source share
4 answers

one piece of advice to convince them that this is crazy is to break the task down into small units as much as possible, then give an assessment and present it to management. The reason management often fails to give realistic estimates is because they do not understand the extent of the task. Therefore, if you cut and cubed tasks and let them see what actual work is required, it will be easier to convince them - or change your mind to choose a subset of tasks and have a series of releases.

with regard to "porting" it to .net, one way to do this is to rewrite the vb6 program to modules (COM) and enable functionality in a new .net application, and then gradually rewrite the module after modulation into your favorite .net language. Although the sound can be as dirty as any other approach.

+5
source

I was in the same situation a few months ago; in the end, I put together a presentation that outlines:

  • What will eventually happen if we keep the VB6 version and try to support it.
  • The hell that would be called (and the time that would be wasted) if we partially ported .NET.
  • How much faster would it be for us to port the entire application (and everything that he used) to .NET and abandon the outdated code base

Also, to help you, here is how I explained to the leaders why their 4-month timeframe will not fly:

We have been using this product for over six years; from the very beginning, it has been modified, added or otherwise worked on a regular basis. What makes you think that we can rewrite this decision in just fifteen of the time it took us to get to where we are now?

It worked!

+4
source

We still have some product / mainteinance software written in VB6, but 3/4 years ago we decided to switch to C #. This is because VB6 has many limitations, at least until you start using your own Win32 APIs (but itโ€™s not so strong as to use C ++).
.Net offers a very well-packed structure with work, using very good tools and pushing you in a strictly ordered direction (type of safe, strong input, code analysis, scalable, etc.).
We chose C # over VB.Net because the syntax is similar to C ++, Java, Javascript (C-like), but this is only our point of view.
For me, turning an app from VB6 to the Internet is like moving from a bike to vegetable soup ... Yes! You can not compare them ... completely different frameworks, completely different designs, etc.
We had some indirect experience with active-activex web solutions, but it was a nightmare ... absolutely not offered, also from an economic point of view: you may have something โ€œworthwhileโ€ in a reasonable amount of time, but you should take it as a leaning tower of Pisa (possible collapse every day).

+3
source

Microsoft has just published a worldwide case study based on the successful VB6 migration project:

http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000006181

+2
source

All Articles