Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Migrating VB6 applications to .NET?

Migrating VB6 applications to .NET?

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptclouddatabase
52 Posts 36 Posters 45 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Sander RosselS Sander Rossel

    What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #9

    Sander Rossel wrote:

    I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort.

    You don't want a converter. There were tools that let yuo integrate .NET into a VB6 app. Interop Forms Toolkit 2.0 Tutorial[^] A company I worked for tried a rewrite, and I was specifically told not to go the "slow transition route" by the software lead because it might kill the rewrite. That decision killed the company. You rewrite critical parts. In a year, the VB6 crap will merely exist to display .NET modules. Then you start a new .NET host for those modules. Before you do that, you'd want to migrate the database to something that makes more sense. Yup, been there, got the TShirt. Go slow and steady. DB first, then VB a small victory at a time.

    Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

    J 1 Reply Last reply
    0
    • Sander RosselS Sander Rossel

      What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

      K Offline
      K Offline
      kmoorevs
      wrote on last edited by
      #10

      Having done exactly what you are asking about, here is how I approached the problem. 0: Strip all the code from your forms. 1: Use the converter from VB 2008 to upgrade the forms. (UI only) 2: Paste back in the code, proc by proc, fixing it as you go. It's a long, slow, boring process. There's also a company called mobilize.net that I've looked into that seem to do a really good job at migrating VB6 to .Net. Good luck! :)

      "Go forth into the source" - Neal Morse "Hope is contagious"

      1 Reply Last reply
      0
      • Sander RosselS Sander Rossel

        What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        A Offline
        A Offline
        Andreas Mertens
        wrote on last edited by
        #11

        Sounds like a good time to also review the overall design, make more modular, do some TDD/unit tests, etc. Sell them on positives....

        1 Reply Last reply
        0
        • D Dave Kreskowiak

          The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.

          Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
          Dave Kreskowiak

          S Offline
          S Offline
          Single Step Debugger
          wrote on last edited by
          #12

          It's safe to assume that people are not mentally challenged, and this is the first option that springs to their mind. But verry often, the time, resources and/or management's grasp of reality (or lack of) are preventing from going this path. Especially, when the purpose of the whole thing is just a small change in the current system.

          Advertise here – minimum three posts per day are guaranteed.

          D 1 Reply Last reply
          0
          • S Single Step Debugger

            It's safe to assume that people are not mentally challenged, and this is the first option that springs to their mind. But verry often, the time, resources and/or management's grasp of reality (or lack of) are preventing from going this path. Especially, when the purpose of the whole thing is just a small change in the current system.

            Advertise here – minimum three posts per day are guaranteed.

            D Offline
            D Offline
            Dave Kreskowiak
            wrote on last edited by
            #13

            Dude, all I said was moving to VB.NET isn't really a good choice because of its limited lifetime. If a conversion to .NET (anything) was going to happen, a more appropriate target would be C#.

            Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
            Dave Kreskowiak

            F C 2 Replies Last reply
            0
            • L Lost User

              Sander Rossel wrote:

              I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort.

              You don't want a converter. There were tools that let yuo integrate .NET into a VB6 app. Interop Forms Toolkit 2.0 Tutorial[^] A company I worked for tried a rewrite, and I was specifically told not to go the "slow transition route" by the software lead because it might kill the rewrite. That decision killed the company. You rewrite critical parts. In a year, the VB6 crap will merely exist to display .NET modules. Then you start a new .NET host for those modules. Before you do that, you'd want to migrate the database to something that makes more sense. Yup, been there, got the TShirt. Go slow and steady. DB first, then VB a small victory at a time.

              Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

              J Offline
              J Offline
              jschell
              wrote on last edited by
              #14

              Eddy Vluggen wrote:

              Before you do that, you'd want to migrate the database to something that makes more sens

              That would have been my suggestion also.

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                O Offline
                O Offline
                obermd
                wrote on last edited by
                #15

                My experience is to create the new dotNet VB application from scratch. Use the VB6 source as a guide to what needs to be done. In some cases, I discovered that if I copy/paste the VB6 source into the project and then fix that source it worked wonders. Gotchas: - File IO - classic VB file handling is there, but using the new StreamReader and StreamWriter classes are far more efficient - Event handlers, but at least VB.Net makes these explicit in the code. The order of event firing is different from VB6. - Error handling: You can leave in the VB6 error handling but I strongly recommend you switch to the Try Catch Finally End Try constructs. I have a few short Subs and Functions where I legitimately use On Error Resume Next, but I document why I'm using this construct.

                1 Reply Last reply
                0
                • Sander RosselS Sander Rossel

                  What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                  Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                  S Offline
                  S Offline
                  Southmountain
                  wrote on last edited by
                  #16

                  look at this post, it may give your ideas...

                  diligent hands rule....

                  1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                    M Offline
                    M Offline
                    Member_15966771
                    wrote on last edited by
                    #17

                    You are better off leaving the existing application as VB6 and just do the change to the database layer, VB6 still works perfectly and will continue to do so for a long time. Then just develop new features in .net when required. We spent about 5 man years converting one of our applications to VB.Net and now its just as (not)supported by Microsoft as VB6.

                    M Sander RosselS 2 Replies Last reply
                    0
                    • Sander RosselS Sander Rossel

                      What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                      S Offline
                      S Offline
                      Stepan Hakobyan
                      wrote on last edited by
                      #18

                      My company in a migration process from VB6 right now. First things first. I don't know anything about you application so anything said down here may not be relevant. My company have many million lines of code in VB6 and VBA compatible scripting language in the 3 main application. All of the are using the same core written in VB6. We started the migration 2.5 years ago. The process is like this. 1. Write a server side C# code and connect old UI to the new (C#, .NET Core 3.1, now upgraded to .NET 6). 1.1. Create core for "migrateable" components. 1.1.1. Connect server-side components to the old UI. 1.2. Migrate those components. 2. Create the new UI (C#, .NET 6, WPF). 2.1. Create core client-side components to show server-side components. 2.2. Migrate client-side UI components. 2.3. Create the tooling. Many processes are parallel. The smallest of the 3 main projects will be fully migrated at the end of this year. The second one is planned to be ready at the end of next year. Biggest biggest project is planned to be ready in 3 years (likely it will be 5 years). The good news is that whatever is migrated is used by the customers already.

                      1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                        U Offline
                        U Offline
                        User 13933506
                        wrote on last edited by
                        #19

                        We had to do what you have to do big time. But with todays knowledge, I would like to encourage you questioning not only VB.Net vs C#. Depending on the charactor of the application, having a Web Application might be worth thinking about. You may want to have a look at JMIX which is a Java Framework on top of Spring Boot which gives you almost the easy of good old VB6. It gifts you with all the typical features of a modern application and the sample apps they offer could be a good starting point for modifying them to cover the functionality you need. No, I am not getting paid by those folks :-) ... and I am still a strong supporter of VB (adopted it starting at Version 1.0). But now I heavily rely on JMIX and Windows getting independent from operating systems.

                        Sander RosselS 1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                          Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                          M Offline
                          M Offline
                          MSBassSinger
                          wrote on last edited by
                          #20

                          I have done this before, and how well it goes depends a lot on how good an engineer the person doing the conversion is. Put enough time and planning into the design you want to go to. Use value engineering to determine what has the most value in the conversion process. Don’t just replicate how the business rules are implemented. Migrate them using newer features where there is value in doing so. The more the VB code used OO techniques (available in VB4 - VB6), the easier your job will be. Don’t try to replicate VB procedural programming design in C#. Are your users desktop or browser? Determine the relative SDLC costs between WinForms and Blazor. Development time is less and performance is better with WinForms than any web-based GUI, but deployment costs may be higher. If you choose a web-based GUI, go with Blazor, not the Javascript-based approach. You’ll have less development time, better performance, and fewer headaches. Don’t farm out the work to consultants, H1-B developers, or offshore developers. The end result will need a lot of repair and be more expensive to maintain. Make sure to use someone in-house who is experienced in VB6 and in C#/.NET. A successful port will depend on deeply understanding both. One last thing - VB6 can host C# DLLs, including user controls for the VB6 GUI, all written in pure C#, using COM Interop. I did this a while back and it works beautifully if the developer understands both C# COM Interop and how VB6 recognizes classes, interfaces, and events. That allowed us to migrate the app from VB6 to fully C# piece by piece, without wasted code. Best of luck to you!

                          Sander RosselS 1 Reply Last reply
                          0
                          • D Dave Kreskowiak

                            Dude, all I said was moving to VB.NET isn't really a good choice because of its limited lifetime. If a conversion to .NET (anything) was going to happen, a more appropriate target would be C#.

                            Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
                            Dave Kreskowiak

                            F Offline
                            F Offline
                            frontlinegeek
                            wrote on last edited by
                            #21

                            Appropriate, sure. I am one that totally agrees with you as I once had to deal with a pile of VB6 and it is no fun at all. As for getting signoff or access to resources or getting people to actually want to be forward thinking that are the final decision makers? This is a completely different issue and the bigger the company, expect the least ideal option being selected. And no it won't make sense. And yes, you will be frustrated greatly.

                            1 Reply Last reply
                            0
                            • D Dave Kreskowiak

                              The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.

                              Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
                              Dave Kreskowiak

                              B Offline
                              B Offline
                              BryanFazekas
                              wrote on last edited by
                              #22

                              Is VB.NET the target? The OP isn't clear regarding that, although his statement can be taken that way. The wording indicates .NET Framework, not a newer version. That said, I agree, C# is a better choice for the reasons you stated. At the time, VB.NET was a panacea for the extensive VB community, but as time has passed, so has the need for VB.NET, and MS has done less and less with it. I'd target Framework 4.8.1 instead of a CORE release. Why? Lifecycle. Framework has a lifespan as long as Windows contains it, which is 2029 for Win10, and I'm haven't checked for Win11. Even versions (v6, v8) of CORE have a 3 year lifespan, while odd versions (v7) have an 18 month lifespan. That places an excessive burden on IT to update applications for which there is no business reason to update.

                              D 1 Reply Last reply
                              0
                              • Sander RosselS Sander Rossel

                                What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                U Offline
                                U Offline
                                User 10646402
                                wrote on last edited by
                                #23

                                >

                                Quote:

                                Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money

                                Well, do it right the first time, or you will spend more time and more money to do the rewrite of the rewrite, or worse, the rewrite of the converted mess. Speaking from personal experience.....

                                K 1 Reply Last reply
                                0
                                • Sander RosselS Sander Rossel

                                  What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                                  Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                  M Offline
                                  M Offline
                                  MikeCO10
                                  wrote on last edited by
                                  #24

                                  You answered your own question. Re-write. Whether you need to go to web-based is a solution analysis; there are very valid reasons that desktop apps may provide a better solution than web-based or a hybrid mix of both may be the solution. We started with a large conversion that was going to be all desktop but ends up having some web-based modules where they made sense. Those are mostly parts having existing functionality on the web where some redesign can make the apps usable for in-house applications. Convert? We moved Access to Postgres in the original VB6 code using ODBC as the first step. I wouldn't spend any time looking at "converters". First, none will do a decent job converting VB6 to VS22. The best you'd get is having to do a multistep conversion that will still leave a lot of broken functionality. If native printing was used in VB6, and I think most did, there can be a lot of work recreating documents to VS. Depending on the size and budget, that may be a place to look at a paid tool to do that function or play with an html2pdf in VS or as a web service, locally or cloud. I would also look into the chance that some existing SaaS products can replace and integrate functionality. If it's feasible, I would phase the transition by moving functions to your new platform while leaving others in VB6 for now. A lot of that depends on your client's ability to work with that and if you do end up moving to the web/cloud for some or all of the project. That serves to spread the money out over time which may help. Depending on the codebase and your available resources, it could be a long road.

                                  1 Reply Last reply
                                  0
                                  • Sander RosselS Sander Rossel

                                    What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                    R Offline
                                    R Offline
                                    robertburgh
                                    wrote on last edited by
                                    #25

                                    My company is currently taking our primary VB6 app (serves 100s of clients via RDS RemoteApps) and is converting to .net6 backend / vue frontend. We first looked at all the tools that have been mentioned so far. We would have been happy to stay a desktop app if we could have converted from VB6. In each case the use use of 3rd party controls (grids, drop downs, calendars, etc.) pretty much killed each of those options. I am bringing it up as a warning, so you are aware of a possible impediment. We could have attempted to convert and recoded to an updated front end, we chose not to after testing. For us the rough calculation didn't make sense to attempt to convert. VB6 and Crystal Reports were often used together. You didn't mention if CR is part of your project. We also use Crystal Reports for about 125 reports. About 15 of them are complex enough that we can't easily depracate CR. We came up with a way to host CR in container to save having a separate .net framework VM.

                                    1 Reply Last reply
                                    0
                                    • M Member_15966771

                                      You are better off leaving the existing application as VB6 and just do the change to the database layer, VB6 still works perfectly and will continue to do so for a long time. Then just develop new features in .net when required. We spent about 5 man years converting one of our applications to VB.Net and now its just as (not)supported by Microsoft as VB6.

                                      M Offline
                                      M Offline
                                      MikeCO10
                                      wrote on last edited by
                                      #26

                                      Interesting answer. Really depends on a system analysis but you could be right. That said, VB6 is slated to possibly bite the dust in 10 or so years. Better long-term planning might be to gradually move it to some other platform. It's pretty easy to maintain DB compatibility with multiple platforms. I don't see VB.net "just as not supported by MS" at all. I'm not saying I wouldn't choose something different, but VB support in VS22 seems to be pretty solid.

                                      1 Reply Last reply
                                      0
                                      • Sander RosselS Sander Rossel

                                        What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?

                                        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                                        J Offline
                                        J Offline
                                        JohnDG52
                                        wrote on last edited by
                                        #27

                                        I had to migrate several projects from 6 to .NET back when. I found re-writing was pretty straightforward, the only thing that really slowed me up was not being able to use arrays of controls (which the VB6 projects used extensively). Worked out a work-around (which needed much more coding, but ran eventually). Good luck.

                                        1 Reply Last reply
                                        0
                                        • U User 10646402

                                          >

                                          Quote:

                                          Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money

                                          Well, do it right the first time, or you will spend more time and more money to do the rewrite of the rewrite, or worse, the rewrite of the converted mess. Speaking from personal experience.....

                                          K Offline
                                          K Offline
                                          KLPounds
                                          wrote on last edited by
                                          #28

                                          Haha spoken as if OP has the power to make the decision between "Do it right" and "Do it right now". OP says VB6 dev is retiring. Therefore, there is a clock on the project and handoff. I suspect the decision makers will be more likely to take the straightest path, not necessarily the wisest path. I guess if I were involved, I would want it to be clear on whether this is purely a lift and shift migration project or a modernization project.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups