What tools/scripts are available to automate migration?
-
I'm finalizing a proposal for a potential client who wants to upgrade their VB6 application to .NET. I hate to reinvent the wheel, so I'm wondering what tools or scripts exist to automate the conversion process. I am aware of: Microsoft's Code Advisor Aivosto's Project Analyzer Microsoft's Upgrade Wizard Artinsoft's Upgrade Companion Code Architects' VB Migration Partner Great Migration's gmBasic Microsoft's VB PowerPacks Microsoft's Interop Forms Toolkit We're planning on using 1, 2 and 4. Are there any other tools, utilities, scripts, etc. to automate the conversion process?
-
I'm finalizing a proposal for a potential client who wants to upgrade their VB6 application to .NET. I hate to reinvent the wheel, so I'm wondering what tools or scripts exist to automate the conversion process. I am aware of: Microsoft's Code Advisor Aivosto's Project Analyzer Microsoft's Upgrade Wizard Artinsoft's Upgrade Companion Code Architects' VB Migration Partner Great Migration's gmBasic Microsoft's VB PowerPacks Microsoft's Interop Forms Toolkit We're planning on using 1, 2 and 4. Are there any other tools, utilities, scripts, etc. to automate the conversion process?
You've pretty much hit them all, except for your own hands and eyes. No tool is going to do a 100% perfect migration, and it's still going to be VB6 code running inside a .NET wrapper.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008 -
You've pretty much hit them all, except for your own hands and eyes. No tool is going to do a 100% perfect migration, and it's still going to be VB6 code running inside a .NET wrapper.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008Hi Dave, Thanks. Well, if you or anyone else can thing of something that I missed let me know. The Upgrade Wizard and Upgrade Companion don't do enough to make the source code more .NET-like, such as renaming variables prefixed with "lng" to "int". In VB6, it was common to prefix your variables with an abreviation to indicate data type. For example: Dim intNumber1 As Integer Dim lngNumber1 As Long In .NET, an integer is now called a short and a long is now called an integer. So the tool will upgrade that code to: Dim intNumber1 As Short Dim lngNumber1 As Integer The problem with that code is that the prefix no longer matches the data type. It should be: Dim shoNumber1 As Short Dim lngNumber1 As Integer And actually, Microsoft recommends against using Hungarian notation so it really should be: Dim number1 As Short Dim number1 As Integer The UW and VBUC do not handle changes like this. I can't be the first developer who's faced this problem. I figure that someone somewhere has already written some sort of utility or script that handles changes like this. I don't want to reinvent the wheel if I don't have to.
-
Hi Dave, Thanks. Well, if you or anyone else can thing of something that I missed let me know. The Upgrade Wizard and Upgrade Companion don't do enough to make the source code more .NET-like, such as renaming variables prefixed with "lng" to "int". In VB6, it was common to prefix your variables with an abreviation to indicate data type. For example: Dim intNumber1 As Integer Dim lngNumber1 As Long In .NET, an integer is now called a short and a long is now called an integer. So the tool will upgrade that code to: Dim intNumber1 As Short Dim lngNumber1 As Integer The problem with that code is that the prefix no longer matches the data type. It should be: Dim shoNumber1 As Short Dim lngNumber1 As Integer And actually, Microsoft recommends against using Hungarian notation so it really should be: Dim number1 As Short Dim number1 As Integer The UW and VBUC do not handle changes like this. I can't be the first developer who's faced this problem. I figure that someone somewhere has already written some sort of utility or script that handles changes like this. I don't want to reinvent the wheel if I don't have to.
There is nothing that will rename variables during the upgrade. It's just too dangerous to the functionality of the code.
emunews wrote:
I can't be the first developer who's faced this problem.
No, but you're going to end up doing what everybody else does and just re-write the code.
emunews wrote:
I figure that someone somewhere has already written some sort of utility or script that handles changes like this.
Not that I've ever seen.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008