Skip to main content

Legacy Software


Plenty of businesses still run on software written twenty or thirty years ago — a custom order-entry system in Visual FoxPro, an accounting package tied to a specific ODBC driver, documents in WordPerfect, a build environment that only exists on one aging machine. The software still does its job. The problem is everything around it: the server it lives on is dying, the backups quietly stopped years ago, nobody has the source — or the source is there but nobody remembers how to compile it.

PBJ.Tech keeps these systems alive. We document them, stabilize them, move them to modern hardware, and — when the time is right — plan their replacement. Without losing a day of business in between.

A real migration, start to finish

A local manufacturer had run its entire operation — order entry, ticket printing, shop-floor labels, accounting sync — on a custom Visual FoxPro 9 application since the mid-2000s. The server hosting it was original equipment. One Sunday night, we moved everything to a new Windows 11 Pro server and had the shop open for business Monday morning.

What that actually took:

  • Reading the system first. We grepped every config file in the estate for hardcoded server names before touching anything — and found that exactly one login script needed a two-line edit. No rename dance, no DNS tricks.
  • Shared-database stability. Multi-user FoxPro data over SMB corrupts when opportunistic locking and client caching are left on. We tuned SMB on the server and every workstation, and added antivirus exclusions for the database file types.
  • Finding what was silently broken. The application’s daily backup had been dead for over two years — its target folder didn’t exist. We restored it, centralized it, and verified fresh archives actually appear.
  • The accounting bridge. The app reads the accounting system’s customers through a 32-bit ODBC DSN that no file copy migrates. Restored, converted, re-secured, and verified with the application’s own credentials.
  • A dev environment that can still build. The original IDE, service pack, and hotfix were installed in the correct order on the new server, the source tree was recovered out of a shared Downloads folder, and it’s now under version control.
  • A clean rollback plan. The old server was read-only throughout — if Monday morning had gone wrong, ten minutes of renames would have put everyone back on the old system with zero data loss.

Visual FoxPro 9 · shared DBF data · Sage 50 + Actian Zen ODBC · Windows 11 Pro · five workstations · one Sunday night

What we do for legacy systems

  • Assess & document — map where the data, configs, credentials, and scheduled jobs actually live before anything breaks.
  • Stabilize — working backups, file-locking and antivirus settings that protect shared legacy databases, credential cleanup.
  • Migrate — move the whole estate to modern hardware with a tested rollback path, over a weekend or overnight.
  • Keep the build alive — preserve the compilers, IDEs, and runtimes needed to still change the software, under version control.
  • Integrate — keep the old system talking to modern accounting, spreadsheets, and cloud services.
  • Plan the replacement — when a rewrite makes sense, we scope it around how the business actually works.

Running something old that can’t be allowed to die?

Tell us what it is — we’ve probably met something like it.