I have just replaced my PC – well, if you count new motherboard, new CPU, new hard drive, new RAM as replacement, though it sits in the same case – and faced again the question of what to do with my Windows setup, complete with hundreds of applications.
A few years back, there was no question. You took every opportunity to do a clean install, because without it Windows gradually became unusable, as gloriously recounted by Verity Stob.
Stob’s analysis is not completely wrong today, but the matter has greatly improved. The Windows 7 64-bit installation that I use today was installed in August 2009 (run systeminfo if you want to check yours), and that was an in-place upgrade from Windows Vista 64-bit, as recorded here. That Vista install was done in January 2008, so I have preserved applications and settings for coming up to four years and two motherboard changes.
The trade-off is that in return for putting up with some cruft you get a big win in convenience. There is no need to dig out install media, downloads and licence codes, and migration to a new system is quicker.
So why complain? Well, although it can usually be done, moving Windows from one machine to another is not supported by Microsoft, unless the hardware is identical:
Microsoft does not support restoring a system state backup from one computer to a second computer of a different make, model, or hardware configuration. Microsoft will only provide commercially reasonable efforts to support this process. Even if the source and destination computers seem to be identical makes and models, there may be driver, hardware, or firmware differences between the source and destination computers.
What this means is that users who get a new computer are directed instead towards the Windows Easy Transfer application:
This is a handy tool, but it does not transfer applications. This last point can be particularly tiresome if you use software that requires activation on each machine on which it is installed, not least Microsoft’s own Windows and Office. Adobe’s Creative Suite, for example, allows installation on up to two machines, after which it will no longer install unless you specifically deactivate it:
If you trash your old PC, or it breaks, without deactivating first, then you have to call support and plead your case.
Apple’s Migration Assistant, by contrast, does move applications, making a better user experience.
If you can easily move applications, settings and data, of course, there is no need to move the entire operating system, since you have all that matters.
Why does Microsoft make this so hard? Two reasons I can think of.
One is that there are technical challenges in moving Windows to new hardware; though having said that, I suspect that Microsoft could easily have created a migration wizard that includes applications if it wished to do so.
The second, and more important, is licencing. Most consumer versions of Windows (and Office too) are OEM licences, which are not allowed to be transferred from the machine with which they are supplied. If Microsoft made it easier to move Windows or to migrate applications, less new software would be sold. Enterprises are expected to handle this in a different way, with centralised application management tools.
Virtualisation changes the game of course. The point of virtualisation is that you run the operating system on abstracted hardware that can easily be replicated on another machine. I really would like to run a virtual desktop, but I do not have a suitably high-powered server and there are niggles over fast graphics, USB devices, studio quality audio and so on. I expect all these to be solved and that a virtual desktop is in my future.
In the meantime, I have personally lost patience with the idea of reinstalling everything, and fortunately I do not use OEM Windows licences.
The wider question is interesting though. Although the desire of Microsoft and its partners to protect licence income is understandable, there are new models of application licencing that work better for users. In Google’s world you just sign on in your browser, and all your stuff is there. In Apple’s world, your iOS apps are licenced to you, not your device, and when you get a new device they all reappear. Even Microsoft’s Xbox works like this too, though that was not always the case.
This competition, in combination with virtualisation, means that Microsoft’s approach with Windows looks out of date as well as being unpleasant for users.
Windows 8 is on the horizon, and I would guess that the forthcoming Windows Store will be better in this respect, though note that at its Build conference in September Microsoft did not discuss the business aspects of the Store.
The whole premise of this is that ” Microsoft will only provide commercially reasonable efforts to support this process. [System state backup]”
In other words, they won’t guarantee that if your Old system config is absolutely unbootable on the new system that they will take a fix for Windows which would put that right (and even if they made a patch you would have a problem installing it if the original system wasn’t available)”.
As you say “it can usually be done, ” : it’s always worth trying, I would have expected you to do it, and have known the world of pain you were entering from doing an install from scratch.
Let’s face it, there are a lot of crappy programs out there. Programs which only work on version or version/Sp combo. It would be amazing if they all could be moved between systems with ease … indeed there are vendors who see preventing such moves as a key bit of anti-piracy .
Windows 8 Metro apps are tied to the Live ID. Up to 5 machines per app. (Not sure how deactivation will work.)
Why not install VMWare on your PC, install Windows and your apps to that and then you can move the image wherever you like. I’ll be honest, I haven’t tried that and I don’t know that there aren’t some sort of checks the client OS can make to see if the host is running on different hardware, but I wouldn’t be surprised to find that it works as desired.
For many apps the performance would be acceptable, especially if you are running VMWare by itself with maximum resources assigned to it.
Anyone have any experience with this?
I think a big problem with the portability of applications in Windows is the way that their settings are “sprayed” all over the registry and other places. To move the application, you need to find all of these and transfer them (and hope that they do not need to be different in the new Windows environment).
I have only recently started using OS X, but it seems that the settings for the application are stored along with it; similarly to how they used to be in Windows.
I have however come across a couple of Windows applications that “repair” their installation if they are moved to a new computer, but this requires extra effort from the developer that probably most people don’t need or won’t miss.
In OS X, you have a Library folder in your home directory (it is hidden as of Lion). There is a Preferences folder within your Library folder. Each application can use the native preferences libraries to store values in a text file in this folder. The file is a simple XML file with a .plist extension. When you move to a new machine your home folder is copied including these files which is sufficient for the vast majority of applications.