1

I posted this on stackoverflow, but probably it's more intopic here.

My company, a small manifacturing industry, uses a custom ERP built in Visual Basic 6, made of a single desktop application installed on every client (about 10 PCs), using a MS Access database (all clients connect to a single mdb file in a shared folder). It's an old architecture, but it's not worth to rebuild it from skratch in a more modern way. Migrating to a commercial product is not a viable solution, since the program is specifically tailored on the way the company works. However, we have the whole source code, so some adjustments can be done.

We are facing some problems, for example:

  • the client has a lot of dependencies, mostly old libraries for building reports or custom controls. Installing on a new PC is always a pain.
  • sometimes new Windows versions break some functionalities, and probably it will happen more and more frequently in the future.
  • I need a fast recover in case a pc fails.
  • I need a reliable backup solution for the database.
  • Some clients are connected to label printers or barcode scanners (by lan)

Do you think that a solution based on virtual machines for the client application could be suitable in this scenario? In this case, do you suggest to run VMs on a server (on premise or in the cloud) and connect to them with a remote desktop, or it could better to run them locally (i.e. virtualbox)?

Thank you,

Carlo

Carlo S.
  • 11
  • 1
  • 1
    This sort of app design was bad practice when these technologies were new 20 years ago. Keeping them alive is insane. Especially since it will probably be much cheaper to, as you say, build a completely new application from scratch (and hopefully design it to be a little more future proof). – Michael Hampton Jan 27 '21 at 19:30

1 Answers1

1

This is literally what App-V is for, at least for the client pain-points that you want to kick down the road.

https://docs.microsoft.com/en-us/windows/application-management/app-v/appv-getting-started

Backups for the database - other than forcing clients to disconnect so you can get a good backup, you're going to want to migrate to SQL to solve that (very important) issue.

Michael's comment is correct, that you should definitely rewrite this for this century. Since you have the source code, your company has little excuse to defer this cost. Considering this is a core asset of your company, why leave it so fragile?

mfinni
  • 35,711
  • 3
  • 50
  • 86
  • Thank you mfinni and Michael. I had never heard of App-V, i'll investigate about it. We are considering a complete rewrite, but, as you can imagine, it's a long term project, it needs a lot of field tests and, even starting todays, it could take many months to go live. – Carlo S. Jan 28 '21 at 11:09
  • Always remember the basics. "windows application virtualization" in Google, the first non-ad result for me is Microsoft docs on App-V. – mfinni Jan 28 '21 at 16:11