Technology

Visual C++ & MFC Support, Migration & Modernisation
the code can move forward. The old compiler cannot.

For businesses that depend on a Windows program written in Visual C++ with the Microsoft Foundation Classes (MFC), often in Visual C++ 6.0. We assess the code and what it links to, keep it supported, move it to a current Visual Studio, and replace parts of it where that suits.

More about this service

We are an Australian team working remotely with businesses in the United States, the United Kingdom, New Zealand and Australia. Every engagement starts with a scoped technical assessment, so the estimate that follows is based on your code and your data.

  • Assessment A scoped technical review before any estimate
  • 18+ yrs Building business software
  • Independent No licence commission, no reseller agenda
  • US UK NZ AU Australian team, working remotely
Australian owned and operated

Built here. Your data stays here.

  • No offshore development. Everything is written by our own team in Australia. Nothing is subcontracted overseas.
  • Your data stays onshore. Hosted in Australia, on infrastructure you own, under Australian law.
  • Every state, not just ours. Perth, Melbourne, Sydney, Brisbane, Adelaide and everywhere between.
Visual C++ developers

Fast, close to the hardware, and built with a compiler from 1998

Visual C++ with MFC was how serious Windows software was written for years: machine control, test and measurement, design tools, point of sale, anything that had to be fast or talk to hardware. Those programs were built to last, and they have. Many are still compiled with Visual C++ 6.0, released in 1998 and out of support since September 2005.

Read more

The obstacles are practical. The compiler is long out of support, so the one computer that can still build the program becomes precious. Libraries arrived as compiled files with no source. The program is 32-bit, reaches a device through a driver written for an older Windows, and installs with a setup program nobody can rebuild. Each has a known answer.

Our Visual C++ developer service is for businesses in Perth, Melbourne, Sydney and Brisbane. It covers three kinds of work: code fixes and updates, migration to a modern technology stack, and ongoing maintenance and support.

Three ways forward for a Visual C++ and MFC application

MFC is still supported, so the second keeps most of the code.

  • Keep it and support it

    The program stays on its current compiler. We preserve the build computer as a virtual machine so it cannot be lost, fix faults, make changes, and write down every library and driver it needs. This suits a program that mainly needs somebody who can change it.

  • Move it to a current Visual Studio

    The same code is brought forward to a current Microsoft C++ compiler, where MFC is still supported. Errors from stricter language rules are fixed, old libraries are rebuilt or replaced, and a 64-bit build becomes possible. It stays a fast desktop program, on maintained tools.

  • Replace parts of it in stages

    Code that talks to hardware or does heavy calculation often stays in C++. Screens, reports and data entry are rebuilt around it, as a current desktop or web application, one part at a time.

What we do with Visual C++ and MFC applications

Six kinds of work. Most engagements are two or three of them.

  • C++ and MFC maintenance

    Faults fixed and changes made in the existing classes, dialogs and resource files, from the project source.

  • Build environment capture

    The computer that can still compile the program preserved as a virtual machine, with the steps to build it written down.

  • Dependency audit

    Every library, ActiveX control, shared Windows component and driver the program needs, listed with whether source or a current version exists.

  • Compiler migration

    Code moved from Visual C++ 6.0 or an early Visual Studio to a current one, with the option of a 64-bit build.

  • Installer rebuild

    An old setup program replaced with a signed installer that works on current Windows and registers the components properly.

  • Staged replacement

    Screens and reports rebuilt on a current stack, around the C++ that is worth keeping.

Supporting it, migrating it and replacing it are different projects

Each trades cost against how much of the old program remains afterwards.

  • Stay on the old compiler

    Lowest cost. The program is documented and can still be changed. It stays 32-bit, on a compiler Microsoft stopped fixing in 2005, and on whatever old libraries it links to.

  • Migrate to a current compiler

    Most of the code is reused and staff keep the screens they know. The program ends up on supported tools. The work is in the libraries you hold no source for, and in code the old compiler let through that a current one rejects.

  • Replace it, or parts of it

    Right when the interface is what holds the business back, or when people need to use it from a browser. Code that controls a device or does the calculations is rarely worth rewriting, so it is usually wrapped and kept. A full rewrite is the option we recommend least often.

What a Visual C++ and MFC assessment looks at

MFC is still supported. The risk is in the compiler gap, the libraries and whatever the program is wired to. The compiler and Windows facts below are from Microsoft documentation.

  • Which compiler

    Visual C++ 6.0, or the Visual C++ in Visual Studio 2003, 2005 or 2008, all out of support. Microsoft advises moving straight to the current version. Visual Studio 2022 and later no longer convert Visual C++ 6.0 project files, so an older version does that one step.

  • Whether the source is complete

    Source and header files (.cpp, .h), the resource script (.rc) that holds every dialog and menu, and the project files (.dsw, .dsp). A site with only the compiled .exe and .dll files can run the program but cannot change it.

  • Libraries without source

    Compiled libraries (.lib and .dll files) from vendors or contractors. Microsoft documents that those built with Visual Studio 2013 or earlier generally have to be rebuilt or replaced for a current compiler. Those with no source are found first.

  • COM and ActiveX

    COM is the older Windows way for programs to share components, and ActiveX controls are built on it. A 64-bit program cannot load a 32-bit component, so one old control can decide whether the program stays 32-bit.

  • Hardware and drivers

    Scales, scanners, instruments, dongles and machine controllers, reached through serial ports, vendor libraries or a driver. Current Windows loads new kernel drivers only if they are signed through Microsoft, so an old driver can tie a program to an old computer.

  • 32-bit and Windows

    A 32-bit program still runs on 64-bit Windows. Sixteen-bit programs do not, and some 1990s setup programs are 16-bit. The compiler in Visual Studio 2026 builds for Windows 10 and later, so a program that must run on Windows 7 needs an earlier one.

  • Text handling

    Older MFC programs store text in the multibyte character set, not Unicode. Current MFC still supports both, so this does not have to change in a migration. It matters for other languages, and for files shared with newer software.

  • Data files and printing

    Records the program keeps in binary files of its own design, in an Access file or in a database. Printing is usually drawn in code, so every printout is checked on paper after any change.

One old computer that is the only place the program can be built?

Call 0425 531 127 or Request a Visual C++ assessment

What the assessment needs from you

A fixed-scope piece of work with a written result: the options, the risks of each, and a staged estimate. No production data is sent by email. We agree a secure way to share it first.

  • Versions

    The Visual C++ or Visual Studio version the program was built with, and the Windows versions it runs on.

  • The source

    Whether the full project exists, where it is kept, and whether anybody has compiled it recently.

  • The build computer

    Whether a computer still exists that can build the program, and what is installed on it.

  • Libraries

    Any third-party libraries or controls you know of, and whether you hold their source and licences.

  • Hardware

    Devices the program talks to, how they connect, and whether the maker still supplies drivers.

  • Data

    What the data is stored in, its size, and what else reads it.

  • Users and machines

    How many people use it, and how it gets onto a new computer today.

  • What is hurting

    The two or three problems that started the conversation.

  • The way back

    How long the business can run on the old system if a cutover has to be reversed.

How it runs

From assessment to a supported application

Done remotely, with meeting times agreed to suit your time zone.

  1. Technical assessment

    We establish the compiler version, what source you hold, every library, component and driver the program needs, and what it connects to. You get a written list of options with the risks of each and a staged estimate.

  2. A working build

    The project is made to compile on a machine kept for the purpose, and the result is compared with what you run today. Until that works, no change is safe.

  3. Proof of concept

    One representative piece, usually one module built with a current compiler or one device link tested on current Windows, is taken end to end.

  4. Staged work

    The work is done in stages agreed from the assessment, each with its own scope and estimate, starting with whatever is hurting the business most.

  5. Comparison and user testing

    Old and new are run side by side on the same data and the same hardware, and your staff test the work they do every day.

  6. Cutover and support

    Each switch is planned with a way back. We watch the first days of live use, then maintain the program for as long as it stays in service.

What people ask us about Visual C++

Is MFC still supported?

Yes. Microsoft states that the MFC library continues to be supported, although it no longer adds features, and MFC is still an optional part of Visual Studio. What is out of support is the old compiler: Visual Studio 6.0, which included Visual C++ 6.0, since September 2005.

Will our program keep running on Windows 11?

A 32-bit program usually does, because 64-bit Windows still runs 32-bit software. Trouble comes from what surrounds it: a 16-bit setup program, a device driver, an ActiveX control that will not register. It is tested on a copy before anyone depends on it.

Can Visual C++ 6.0 code be opened in a current Visual Studio?

Not directly. Visual Studio 2022 and later no longer convert Visual C++ 6.0 project files, so the project is converted with an older version first. The code then needs changes, because the compiler is much stricter than it was in 1998. It is a project, not a file conversion.

Do we need a 64-bit version?

Often not. A 32-bit program runs on 64-bit Windows and can stay that way. A 64-bit build is needed when the program has to hold very large amounts of data in memory, or load inside other 64-bit software. It depends on every library and control having a 64-bit version.

Should it be rewritten in a newer language?

Rarely all of it. Working C++ that controls a machine or does heavy calculation is expensive to rewrite and easy to get subtly wrong. The usual answer is to move it to a current compiler, and to rebuild only the screens and reports around it if they hold the business back.

We have lost some of the source. Is that fatal?

Not necessarily. Dialogs, menus and text can usually be recovered from the compiled program. Lost program logic does not come back in a usable form, so that part is rebuilt from its behaviour. It changes the estimate. It does not end the conversation.

Do you provide Visual C++ developers in Perth, Sydney, Melbourne and Brisbane?

Yes. We are an Australian team and we take on Visual C++ work for businesses in Perth, Sydney, Melbourne and Brisbane, and elsewhere in Australia. Most of the work is done remotely, by video call and screen share, with secure access to a copy of your system. The service is the same in every city: code fixes and updates, migration to a modern technology stack, and ongoing maintenance and support.

How does this work from the United States, the United Kingdom or New Zealand?

Remotely. We are based in Australia and do not have offices elsewhere. Discovery is done by video call and screen share, with meeting times agreed to suit your time zone. Confidentiality, who can reach your systems and where your data is held are agreed in writing before work starts.

What does it cost?

The assessment is a fixed-scope piece of work with an agreed fee. The estimate for anything after it comes from what the assessment finds, in stages, so you are not asked to commit to a whole project on a guess.

Tell us about your Visual C++ program

What the program does, the compiler version, whether you hold the source, its hardware, and what is forcing the question. Include your country so we can suggest meeting times. Please do not send production data.

Prefer a quick chat? Call 0425 531 127. We answer the phone in Perth.

Kasun Wijayamanna, founder of HELLO PEOPLE

Kasun Wijayamanna, founderYou deal with Kasun from scope to delivery. No account managers and no offshore handoff.