Replacing Computers
Replacing a customer's old computer with a new one can be a traumatic experience. Typically, the new computer arrives with factory-installed software applications preloaded and configured differently from the old one. Except in the case of large corporate purchases, it is unlikely that the new computer even contains the same applications. As a result, one of the important tasks facing the reseller is to move or install the missing applications onto the new machine.
Installation of software remains a tedious task, requiring hours of work. While most modern applications have an unattended or scripted install capability, they require significant effort to learn and/or script. Therefore, they are most useful when a large number of installations are being done, such as on a corporate network. To the one-time installer, the effort of learning and setting up unattended or scripting installation is not worth the effort.
So there is a natural desire to look for a shortcut to solve this problem. Why can't the applications from the old machine merely be moved to the new machine?
It's a Bad Idea
Copying applications between machines is not advisable because:
A. Copying files is only the tip of the iceberg in installing applications, with the majority of the work actually requiring intense interaction with the OS to register the application and its resource requirements.
B. Implementing a "partial installation" by copying applications can result in unstable systems, which in many cases can only be rectified by a complete re-imaging process.
C. Microsoft has issued statements against circumventing standard OS installation protocol and has indicated that systems configured with such applications are, in effect, unsupportable.
Because of these issues, migration tools should not directly move application executables; they should only move the settings (customizations, options) and data files of those applications.
Most resellers have a well-defined process for deploying applications onto new machines with drive-imaging and other application-cloning tools. It is recommended that this process continue to be used to create a baseline PC image with standard corporate applications. Migration tools should be used on top of this baseline image to inject a specific user's computer personality.
The Application Setup and Installation Process
The setup process for a modern application has evolved a long way from the DOS days of copying a few files. Setup is now complex to ensure the operating system is capable of integrating the new functionality into its overall organization, as well ensuring that the application can later be safely removed.
A typical setup routine copies files, registers controls and registers uninstall.
Copying Files
An application setup still copies files from the distribution medium to the installation location. However, it no longer is a given that the install location will be a local drive. In many cases, applications are installed to network drives where they are shared by multiple users. Additionally, many newer applications do not install all the features available during the first installation. Additional modules and options may be left uninstalled until the user requests them.
Registering Controls
Much of the functionality of a modern application is broken into small pieces. Many general-purpose functions (such as spell checker) are used by many parts of an application solution, and therefore are broken out from the main application.
Some of the functionality that appears to come from the application may in fact come from part of the operating system or from an entirely different application. This can provide significant benefits to the user, but it comes at a cost. Making all these pieces work together is a major piece of work.
Registration of Uninstall
Another part of the installation process is for the application to register an uninstall capability with the operating system so there is a simple way to remove both the files and all the above linkages in a common and comprehensive approach. If an application installs without a de-install capability, then the user can only guess which files need to be deleted to remove the application. The above linkages will remain and, if this process is repeated, the user machine slowly will fill up with out of data and broken linkages etc.
Support Issues
One of the primary reasons that moving applications between machines without going through the formal install/uninstall routine is an unwise decision is that software vendors will provide no support, diagnosis or troubleshooting for their applications if they are not properly installed.
About the Author
Ken Mackin is the founder and CEO of Tranxition Corporation, a privately
held software development company based in Beaverton, Oregon that develops
cross-Windows platform PC transition solutions. Tranxition's products
enable IT service providers and corporations to transition individual user
personalities from one PC to another.
