1. A method of transferring a computer program product from a first computer to a second computer connected to the first computer through a communications medium, comprising: (a) accessing, on the first computer, computer-executable instructions which, when run on a data processing system having an operating system with a shell that provides functionality, an application program installed under the operating system, and a class of objects related to the application program, said class of objects having an associated object class identifier, perform the steps of: (1) providing a shell extension handler for the class of objects to extend the functionality of the shell relative to the class of objects, said shell extension handler provided by the application program when the application program is installed under the operating system and being independent of the operating system; and (2) running the shell extension handler to extend the functionality of the shell for an object in the class of objects when the object class identifier is invoked through the shell; and (b) transferring the computer-executable instructions from the first computer to the second computer through the communications medium.