My firm develops a secondary product which is based on Win32 desktop application. That application has to be tested on multiple configuration (Windows version, service pack, installed flash version etc) hence we have to maintain a set of desktops with various setup.

3 Answers
3

Virtualization software. You can use tools like VMWare to setup virtual machines which you then run from your existing machine. You might be on a Mac, a Linux box or a Windows machine, and from it run WinXP, Win7, Win8, Win XP /w SP1, etc. IIRC even MS has a Virtual Server which you can script to turn machines on and off, which means one script to run all the different variation you may need.

As of May 2014, you can spin up instances of Windows 7 and Windows 8.1 in Azure (Microsoft's cloud service) as well as various flavors of Windows Server. You simply need an MSDN license to do so. The instances are available for development and testing of desktop applications.

If you don't have specific hardware needs for the application, you could try Amazon Web Services. They have a variety of operating system versions that you can use to provision your virtual machines, which you can keep to a once and done arrangement if you wish.

The free level of service might not be enough for you, and I don't know what the pricing is for higher service levels, but it's a way of provisioning a test lab with multiple configurations without needing a huge amount of hardware.

There are other cloud hosts as well - Amazon is the only one I've actually worked with.