VB Upgrade Wizard

CvMarty

Newcomer
Joined
Jan 21, 2003
Messages
5
Location
Greece
Hello,
I am new in VB.NET although I have a 5 year experience with vb4,5&6. I am still playing around because I find .net very difficult and changed so I can rely my job on it yet.
I tried the upgrade wizard to upgrade my project to .net and it was a complete disaster... I have two questions.

Was the upgrade wizard upgraded with the first service pack of the .net framework ?

Is it a fact that the upgrade wizard does not upgrade user controls ? (they do not load them on the forms). Does anybody know if this will be upgraded sometime ? Must I wait until this ?

If I decide to upgrade my program to .net with existing components and upgrade wizard, I will need at least 8 months to make it work (not mention to debug it and learn everything needed and languages differences)

I have a program of 50 forms (20 of them are really complicated), using ADO and DAO in database utilities etc.....Is it a fact that the upgrade wizard does not upgrade user controls
 
Yes, it is a fact. Also, anyone you ask who knows what they are talking about will advise you NOT to ever attempt to upgrade a project to .NET. It isn't worth it.

For small-scale applications, you should rewrite. For large-scale applications, you should keep them as they are.

It just isn't worth the hassle of having the upgrade wizard generate non-standard .net code (which it does) and having to track down potential bugs caused by this.

I have heard the upgrade wizard is significantly improved in the next version of Visual Studio .NET, however. Not that I believe it will be worth converting even then, but it might cope with your usercontrols better anyway :)
 
Well,
you said exactly what I wanted to hear ! Mean while, I will continue my projects on good old VB6 until I have more spare time to get learning .net.
 
The upgrade wizard, in my opinion, is a menace :)
It may get your project up and running (if it's small and simple enough) but, as divil said, it will be filled with non-standard code. If you use the upgrade wizard as a way to "learn" VB.NET, you'll be doing yourself more harm than good as you may not learn the "right" way to do things.

As with most things, it's worth the time to learn VB.NET outside the scope of a "real" project. Once you've got the basics down you can consider an upgrade path - if you decide to go that route. With 20 large forms and 30 more "small" ones, you're probably better off keeping it as VB6. It may not be as "cool" or "fun" - and the IDE certainly seems "ancient" after you've been in VS.NET for awhile - but VB6 still works as good as it did before .NET came out.

Good luck and have fun! And as you learn VB.NET (or if you switch to C# or some other language) and have questions, let us know so we can help :)

-Nerseus
 
I was just looking in to converting a VB6 25 form project myself. Looks like you talked me out of it. I was hoping that I could deploy over the web instead of cutting CDs for 200 users across the country. Back to the drawing board :(
 
The Visual Studio.Net 2003 does have an improved upgrade wizard, user controls are upgraded. IIRC it will also upgrade VB6 web classes as well.
Still agree with the 'menace' comment though.
 
I had a small project (1000 lines), the wizard made a mess of things. Every second line used the compatibilty Library. argh!

I recently re-wrote the app in .NET and it works nicely. :)
 
It SEEMS like the crappy upgrade wizard DOES come with VB.net Standard

Hello,
First a little background on me. I am not a major VB programer, or a major programmer at all, I just make small utilities to do things I want. I learned what I know on VB6, with some help from a pretty knowledgable co-worker at my previous job.

Last week I went to the book store to get a book on programming with VB6, and saw the "Deluxe" step by step (MS) book with VB.net Standard 2003 bundled in. I thought, well, seems like more and more businesses are moving to the .net world, so maybe I should learn it. Wow.

That brings you to why I'm here. I've tried pulling up several VB6 projects in .net, and not a single one has been successful. EVERY time, I get some error while running the Upgrade Wizard. Sometimes it's that some module or form is missing (when it's not), or I get an error about missing design time licenses (i.e. for Winsock, RichTextBox, etc.).

I think it's also interesting that on the first screen of the upgrade wizard, it says it will copy form and class files and convert them. I've seen comments about the upgrade wizard not doing class files --unless I read those wrong, which is completely possible.

I'm REALLY disappointed that it sounds like, and based on my short experience, the upgrade wizard is a complete waste of hard drive space and anyone's time. Sure would have thought MS would have either made it WORK, or not include it AT ALL!

What a huge frustration to know that unless you want to rewrite all your code, you have to continue to have VB6 around. Sure seems like a big wasted effort to me. Does anyone disagree?

(stepping down off the well worn soap box).

:mad: Frustrated and Annoyed!!! :mad:
tk
 
I would bet you that if your code was EXACTLY the way MS "wants" it to be, the upgrade wiz would work much better. However, as I'm sure we've all seen, if you get 5000 different programmers in a room, you'll have 5000 differrent ways to get the same thing done. I think that is the upgrade wizard's real downfall.
 
Yeah, I disagree. Rewriting your code for .net is not a waste of time. You're perfectly free to go on using VB6 for your products, but if you want to use the (vastly) different vb.net it's only natural that you'll have to rewrite code. They're very different languages.

I believe we've already established that the upgrade wizard is a steaming pile :)
 
i think the upgrade wizard is the worst thing in .net , how are people going to learn the code if they can click a button and convert from vb to .net:-\
i only used it a couple of times and that was 2 times 2 many.
but:
if anyone does use it, you can cut down on the error's / upgrade issues by declaring your code correcly in vb , eg: instead of doing this ...
Visual Basic:
Dim i, j
do this...
Visual Basic:
Dim i As Integer
Dim j As Integer
also if you have declares using "as any" change them to an appropriate alternative and change "long" to "integer" in them
eg:
Visual Basic:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
change it to :
Visual Basic:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Integer) As Integer
this cuts down on the upgrade issues when you do convert.
 
VBerLite, there is no easy way out, a click of a button will not be the end-all solution. The wizard was there for simple tasks and nothing more. Oh and by the way, it's not written by Microsoft.
 
really?
who was it written by?
Microsoft should get a lot of programmers to work on this thing...They should see the different programming styles and try to improve this thing...
obviously that would make them lose milions of dollars but still for the convienience its useful
 
Getting a good upgrade wizard would probably be too difficult in the long run. The number of things that have changed (normally for the better in .Net) couldn't be reliably converted (ADO, File Access, winsock) due to the different arcitecture under the framework. Also a lot of API calls are now redundant - these really should be converted to .Net calls as well.

Collections / Arrays have changed, things like Queus and Stack are part of the framework now - should it also convert everybodies individual implementations of these to the framework?

Inheritance adds new scope for reuse / and design, an upgrade wizard wouldn't really know how to refactor your code to take advantage.

Personally I think a redesign of the application with .Net's capabilities in mind would ultimately give better performance AND an improved codebase.

just my two pence worth...
 
Well, I have a really good VB program going and its going well. I cannot convert it to .net and I do not have time (yet) to learn it. And even if I had time to learn it, would I make an application that took me 2 years to build from the scratch on .net ? Is this another year just to come to the version I have already made ?

I only smell problems! What do you think about this. Should I just stick back to vb6 or does anybody have any nice solution ?



ps. I started this post a lot of time ago, and now it suddenly got into life again.... :-)
 
One of the most important things with .NET is the OO programing.. I had the same problem when started using .NET after several years using VB6, but now I'll not go back to VB6, recoding an app means a lot of time and a lot of work, but if you want to upgrade to .NET this will be the best solution, using the Upgrade Wizard only will give you a big headache. If you already code using VB6 you will not have much problem going to .NET, a couple days and a good reference book (or the MSDN Library) will help you with the task. It only took me a few days to understand the whole thing and start coding in .NET
What Divil says make sense, if your app is small, rewrite it, if not leave it that way, and start thinking of a new version under .NET, no need to rewrite everything that already works fine.

Regards
 
Robby said:
VBerLite, there is no easy way out, a click of a button will not be the end-all solution. The wizard was there for simple tasks and nothing more. Oh and by the way, it's not written by Microsoft.

Robby, actually (and as Orville said to Wilbur) you're right! (haha, sorry). And, I was so frustrated about the whole situation that I completely forgot it's a 3rd party app MS throws in --why, I don't know because, as it sounds from this forum, it sure is not a value add! Someone else in this thread said maybe MS should take it over and do it right and I agree, but then another person said because the two languages are so different, it would not be practical. Too bad, because it would sure make it easier and give more confidence for more VB6'rs to make the leap. It almost sounds like you have to more or less re-learn VB if you choose to make the leap to .net.


CvMarty said:
ps. I started this post a lot of time ago, and now it suddenly got into life again.... :-)
Yes, and it's because I did a search in the forum on the information I was looking for, and thought it better to respond to a previous thread instead of starting a new one. I thought this was the most relevant thread, so I felt some value in reviving it. Thanks for starting it in the first place!

Thanks to everyone for their comments,
tk
 
If it was possible to code a wizard that could convert VB6 to .NET without error, don't you think that MS would pay tens of millions of dollars for.
Such a product cannot be created!
 
Back
Top