How to make old programs work on Windows 7
21st Jan 2011 | 11:48
Get old software and games running again
How to make old programs work on Windows 7
Every new version of Windows breaks some existing applications, and Windows Vista and Windows 7 are no exception. It's nobody's fault, but that doesn't help if you desperately need to use one particular application.
You can always turn on compatibility mode, which tells a program it's running under Windows XP rather than 7, for example. But if that doesn't work – and it often doesn't – there are no other built-in options. If the program's author has no solutions, you may be tempted to abandon the problem application entirely.
There may be another possible solution though – the Application Compatibility Toolkit (ACT). This powerful utility provides many more options and tweaks than compatibility mode alone, so there's a better chance of making old programs run on your new PC.
It's easy to use, too, figuring out itself what the problems might be and how they can be fixed.
What's more, the ACT isn't only for ageing apps. You can also use it to tweak the latest programs to remove Windows irritations.
Are you tired of seeing a UAC prompt every time you load a trusted application, for instance? The Application Compatibility Toolkit can help you turn off the prompts for just a few programs, while keeping them for everything else. Again, it's all very easy to use.
The Application Compatibility Toolkit is available for download on the Microsoft site (choose 'ApplicationCompatibilityTookit Setup.exe'). It's free, and unusually for this kind of Microsoft tool, it's only 12.2MB in size, so it shouldn't take long to download on the most lethargic of internet connections.
Run the downloaded file to begin the installation. There are no complex options to consider, so just accept all the default settings (except perhaps the installation location if you need to use some other drive or folder) and the program's various components will be installed in a few seconds.
With the ACT set up, think for a moment about any old programs that you run on your Vista or Windows 7 PC. Are there some that cause problems occasionally, or launch as normal but then misbehave from time to time? The ACT includes a tool called the Standard User Analyzer that will monitor that program, keep track of what it's doing, alert you to potential problems, and even apply the appropriate fixes for you.
To try this, click 'Start > All Programs > Microsoft Application Compatibility Toolkit > Developer and Tester Tools > Standard User Analyzer'. When the SUA appears, click 'Browse', then navigate to and select the executable file for your old application.
There's an option to add command-line parameters if the app needs them, but otherwise click 'Launch' to fire up the program. Click 'Yes' to confirm that it's OK for existing AppVerifier logs to be deleted, and unless you have reason to do otherwise, check 'Always delete the logs without asking me again in the future' to ensure you're not bothered by this question again.
Your problematic program should now launch. If you need to carry out a particular actions to cause it to misbehave, then do so. Otherwise, run the program as normal for a while. When you've finished, close it down and you can move to the next step.
As you were using your program, Microsoft's Application Verifier was running in the background, logging details of your app's activities. When the Standard User Analyzer detects that you've closed the program, it will load and analyse that log.
This could take a few moments, so be patient – just watch the 'Debug info' box for status updates. When it's finished, you'll see a 'Done' message and a prompt telling you that you can go to the other tabs to view issues detected by SUA.
The tabs referred to here are at the top of the SUA window, and they highlight potential problems across areas of the program: file accesses, Registry use, INI files and more. If all of these have a zero next to them, the SUA has found no problems and can't help.
If some tabs have detected errors, they'll be highlighted here ('Other Objects (4)', for example). You can click the tab to see more information, but don't expect it to explain much – the results are very technical.
More usefully, you can just ask the SUA to create and deploy mitigations – tweaks that Windows will apply to this executable in future, which may resolve any issues. It couldn't be much easier – simply click 'Mitigation > Apply Mitigation > Apply', and the SUA will tell Windows to apply the fixes to your program.
Don't worry, these are all behind the scenes tweaks – your program code isn't touched in any way. The program should now work better, so give it a try.
If the problems are fixed, great. If they're worse (unfortunately also possible), click 'Mitigation > Undo Mitigation' to remove the tweaks and the program will work just as well (or badly) as it did before.
The only problem with this approach is that the SUA will apply its tweaks to your current Registry only. If you have the same app on other PCs, they won't be affected, and if you reinstall Windows on this PC, then the mitigations will be lost.
To minimise any hassles, you can also click 'Mitigation > Export Mitigations as MSI', and the SUA will create a file to apply these tweaks. If you have a PC with the same app, or you need to reinstall the mitigations on this system, simply run the MSI file and they'll be applied for you automatically.
The Application Compatibility Toolkit also includes the Compatibility Administrator – a utility that lets you apply a host of further fixes to your installed apps. These don't have to be applied to old programs – they can be useful in other situations, such as allowing selected, trusted applications to launch without the hassle of a UAC prompt.
Launch the program and right-click 'New Database' under 'Custom Databases', then click 'Create New > Application Fix'. Enter the name of the program to exclude from Windows UAC.
This should be a program that you trust, and that isn't exposed to security risks. It shouldn't work online, and it shouldn't be used to open files that you've downloaded or might be otherwise exploited. A tool that displays your CPU temperature would probably be fine, but one that opens PDF files really wouldn't.
Enter the name of the manufacturer, too, then click 'Browse', select the program's executable and click 'Next'.
The 'Compatibility Modes' screen provides a lengthy list of the possible compatibility mode options you can apply. Check 'RunAsInvoker', click 'Test run > OK' and watch what happens.
If the program doesn't launch or displays some kind of error, this trick isn't going to work. If the program fires up without a UAC prompt and works as normal, then the mitigation has been successful. Close the test app down, and switch back to the Compatibility Administrator.
Click 'Next' twice to see the final screen, which enables you to customise how Windows applies this mitigation. By default, this will work only with your current version of the program, but you can also tweak it to work with any executable of this name. For the moment though, click 'Finish' to accept the default settings.
With your new database highlighted, click 'File > Save as' to save it as something like 'UAC.sdb' in the 'C:\ root' folder for now. You can right-click the database and select 'Install' to install it.
There's also a more advanced command-line route that offers extra options. Click 'Start', type 'cmd', right-click the 'CMD.EXE' link and then select 'Run as administrator'. Next, at the command prompt, type sdbinst c:\uac.sdb (replacing the file name and path with whatever is appropriate for the database you've just created) and press [Enter].
You'll see a message telling you that the database has been installed, and that means the UAC fix has been applied. You should now be able to run your test program without UAC prompts.
Tweaking Windows to run one application without UAC isn't too impressive, but this is just the beginning. Now that you understand the basic principle, you can easily add other application fixes to the same database.
Use the 'Test run' button to confirm that they work when launched this way, and if they do, you can save them to the database and install this to apply your fixes to the Registry.
You can also apply many other fixes beyond the UAC tweak. The 'Compatibility Fixes' section of the 'Create New Application Fix' dialog lists a host of options. Does a game complain that you don't have a specific version of DirectX? Check 'ForceDXSetupSuccess' and the ACT will make the game think it has the version it wants. If the program really does need that version then it still won't work, but at least there's a chance.
If a program is looking in the wrong folder for a particular component or file, the 'CorrectFilePaths' fix can redirect it to the right place. If an app doesn't work with Windows Aero, using the 'DisableDWM' file will turn it off (temporarily).
If your program displays an annoying error message, but continues when you click 'OK', using the 'IgnoreMessageBox' fix can close the message box automatically.
There are plenty of other options, which you can read about by browsing the Help file (using 'Application Compatibility Toolkit > Phase 3: Testing and mitigating your compatibility issues > Known compatibility fixes'). Master them and you'll soon have most of your old apps – as well as the new ones – running at their very best.
10 more ways to make old software run on Windows 7
Whether it's a critical application or an old game you want to play again, the march of progress doesn't mean you're cut off from the past.
So what do you do to make Windows XP programs work in Windows 7? And how do you make Windows 3.1 programs or DOS apps run in Windows 7?
Follow our tips to run old software on Windows 7 and you can get your retro kicks on your ultra-modern PC.
1. Download XP mode
Most Windows software retains its compatibility with Windows 7, with the main exceptions being drivers (which you'll want to upgrade anyway), installation programs (which have an annoying tendency to assume that any operating system they don't recognise is old) and 32-bit applications in a 64-bit OS.
If you have the Professional, Enterprise or Ultimate edition of Windows 7, you can download XP Mode – which is really Virtual PC – for free.
Otherwise, grab Virtual PC 2007 from the same place. For an alternative, try VMWare Server (free) or Workstation (£143), from www.vmware.com/products/server. You'll have to supply the copy of Windows yourself though, and install it from scratch.
2. Try out a compatibility mode
Short of emulation, your only option for old Windows programs is a compatibility mode. Right-click a program, choose 'Properties' and open the Compatibility tab. This rarely seems to work, but it's worth a shot.
Set the program to run in compatibility mode for any of the supported OSes, which range from Windows 95 to Windows Vista, along with their service packs. The other options on this screen, including 'Run in 256 colors' and 'Run in 640x480 screen resolution' do exactly what they sound like, but are rarely useful these days.
3. Set up a dual-boot
If your software doesn't run directly, you can set up a dual-boot system and install both operating systems. It's not just a case of running the setup routines, though – you'll need to install them in the right order, partition your drive and have devices that each version can use.
That modern soundcard driver won't work on a ten-year-old operating system, even if it works the other way round. See this page for a full guide to dual-booting almost every major combination.
4. Downgrade Windows 7
If you have a lot of old software that you need to get running, you can't simply switch into a compatibility mode to get 32-bit programs running in a 64-bit OS. They may work, but they may not.
If you get an error message when you try to run one, your only recourse is to step back yourself. Windows 7 comes with an installation disc for its 32-bit version. You lose out overall if you have more than 2GB of memory though, so don't downgrade on a whim.
5. Use older hardware
The nuclear option is to pick up old hardware and build a new PC. Look on Ebay and in second-hand markets, or ask friends and family if they have an old clunker they're willing to donate. You can pick them up dirt cheap, but a Windows 3.1-era PC is the perfect machine for Windows 3.1 and its games and applications.
It's worth taking the emulation route first, though. Virtual machines are happy to translate for these old operating systems, letting your existing soundcard and processor do the talking. They'll be slower, but on systems that old, there'll be no shortage of power.
6. Install DOSBox
DOSBox is a great tool, especially for old games. You can just run the executable, but it won't do much. While it doesn't actually sandbox itself from your files in the same way as a virtual machine, it doesn't give itself automatic access to them either.
7. Drag and drop
To run most games or applications in DOSBox, just drag the folder containing its files onto the 'DOSBox' icon. DOSBox treats this as a drive, with the folder as the root. If you run an installer, it can't break out of there to copy any files without permission.
8. Download DOG
For more complicated applications, especially involving CDs, it's worth downloading a shell. We recommend DOG, which you can get from the main DOSBox site. You create profiles for each application, along with their specific needs, then click their name to fire them up.
9. Use hotkeys
DOSBox has many useful hotkeys, but the main ones are [CTRL]+[F11] to slow down the emulation speed, and [CTRL]+ to increase it. Press [ALT]+[F12] to turn off any limiters. Avoid [Alt]+[Tab]bing out. You can do it, but it may causes problems with colours.
10. Edit a config file
For games that won't play ball, you can hand-tweak DOSBox's settings by editing a configuration file. This is a very complicated looking document, but it's nothing more than a list of options. Visit www.dosbox.com/wiki/Configuration to see the parameters available.
First published in PC Plus Issue 300 and 303
Liked this? Then check out 85 Windows 7 tips, tricks and secrets
Sign up for TechRadar's free Weird Week in Tech newsletter
Get the oddest tech stories of the week, plus the most popular news and reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register