Abstract:
A method, apparatus and computer program product for controlling the installation of device driver software which is executed on computerThe method includes the step of displaying an installation procedure for the device driver softwareand installing the driver softwareonto the computer.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a method, system, apparatus and computer program product for controlling installation of software. And more particularly to a method and computer program suitable for installing drivers for peripheral devices.  
         [0003]     2. Discussion of the Background  
         [0004]     Recently, the number of people using digital equipment instead of an analog device is increasing. For instance, many people now use a digital still camera instead of a film camera. Such digital equipment is often connected to personal computer for a several purposes. In a case of a digital still camera, a digital still camera may be connected to personal computer by a USB (Universal Serial Bus) cable for playing a taken picture on computer screen, storing into a recoding media, such as a hard disk, CD-R/RW, DVD-R/RW, or the like, or printing. Before executing these operations on or with the computer, software such as image viewer and/or a device driver must be installed in the personal computer. However, some people are not familiar with personal computers. Therefore, they often do not know how to install drivers or other related software into personal computer and/or cannot understand how to install this software even if they read a manual of the equipment. Additionally, if a user tries to install software and fails, it is very hard for the user to fix the problem. To support such users, manufacturer may run a support center with an operator in the support center answering user&#39;s question or teaching a user by telephone on how to install the driver or related software. However, this is often a frustrating experience for the user. Also, the more people that use a vendor&#39;s digital equipment, the more users need support, and therefore the cost of running a support center increases.  
         [0005]     Additionally, Japanese patent laid open no.: 2001-109617, corresponding to U.S. Pat. No. 6,822,753, discloses a computer readable media, anyone can setup easily for using printer without failure. However, these references preempt the installation wizard that may exist in the computer to which the printer/peripheral is being installed. By preempting the computer&#39;s native installation wizard, hardware authentication errors and other installation errors may occur.  
         [0006]     Thus, as discovered by the present inventors, what is desirable is an ability to have a method, apparatus, and computer program product for presenting additional information while a computer&#39;s native installation wizard is stepping a user through an installation or troubleshooting procedure. Also, it is desirable to have an ability to check a registry of drivers and delete unknown, unwanted, out-of-date, or corrupted device drivers.  
       SUMMARY OF THE INVENTION  
       [0007]     In view of the foregoing, it is an object of the present invention to provide a method for controlling installation of software and to provide a program for executing the method so that can a user of a peripheral device of computer can easily and correctly install a device driver of the peripheral device even if the user is not familiar with a computer.  
         [0008]     These and/or objects of the invention may be provided by a method for controlling installation of a device driver software which is executed on computer having an interface to a peripheral device and controls connection between the computer and the peripheral device, the method includes the step of indicating installation procedure of a device driver software for the peripheral device into a basic software of the computer in a different manner to indication by the basic software and separately from the indication by the basic software.  
         [0009]     In addition to the novel method for controlling installation of software just described, this patent specification may be implemented in many other specific forms, including in method or computer program, as will be apparent to those skilled in the relevant art(s), without departing from the spirit or scope of the invention.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:  
         [0011]      FIG. 1  is a block diagram of a personal computer in which installer software according to one embodiment of the present invention is installed.  
         [0012]      FIG. 2A -G are dialog boxes of the installer software which are displayed on a display device of the personal computer as shown in  FIG. 1 .  
         [0013]      FIG. 3  is a display device view where the dialog boxes are displayed in order not to overlap to a dialog box which is displayed by operating system.  
         [0014]      FIG. 4  is a flow chart of installation procedure by the installer software according to one embodiment of the present invention.  
         [0015]      FIG. 5A -G are dialog boxes of USB connection trouble shooting software which are displayed on the display device o of the personal computer as shown in  FIG. 1 .  
         [0016]      FIG. 6  is a flow chart of installation procedure by the USB connection trouble shooting software according to one embodiment of the present invention.  
         [0017]      FIG. 7  is an explanatory diagram of a registry before detecting unknown devices.  
         [0018]      FIG. 8  is an explanatory diagram of a registry after detecting unknown devices. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0019]     In describing preferred embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology selected and it is to be understood that each specific element includes all equivalents that operate in a similar manner.  
         [0020]      FIG. 1  shows a block diagram of a personal computer having installer software of the present invention, and a digital still camera connected to the personal computer. According to one embodiment of the present invention, the installer is control software for installing software into the personal computer  100 . The installer runs on the personal computer  100 . The personal computer includes a display device  1 , a body  2 , a keyboard  3  and a mouse  4 . The body  2  includes a CPU (Central Processing Unit) board  2   a,  a storage device  2   b  like a hard disk, a optical disk drive like a CD-ROM drive, a program memory  2   d  and USB device  2   e.  The CPU board  2   a  reads software from the program memory  2   d  and executes a procedure described in the software. The CPU board  2   a  also detects user operation on the keyboard  3  or the mouse  4 , reproduces image data on the display device  1 , transfer digital image data from a peripheral device like a digital still camera into the storage device  2   e.  Generally, software operates these hardware via operating system, i.e., basic software.  
         [0021]     A CD-ROM is often used for storing an image viewer, which shows a catalogue of stored digital images, a USB device driver, which controls communication between the digital still camera  5  and the USB device  2   e,  and installer software, which controls installation of these software. The installer software reads this software from a CD-ROM by the CD-ROM drive  2   c  and expands the software into the storage device  2   b  for this software running on the personal computer  100 . Software expanded into the storage device  2   b  is read and stored into the program memory  2   d,  and executed by the CPU of the CPU board  2   a.  According to one embodiment of the present invention, when the installer software is executed, registry information  2   f  in the personal computer  100  is checked. Registry check is executed by following procedure: 
        checking registry information corresponding to an installed USB device driver, and     deleting descriptions in the registry about an unknown USB device driver.        
 
         [0024]     Next, application software, such as image software, image transferring software or the like in CD-ROM, is installed into the personal computer, in other words, extent and stored in a Hard disk of the personal computer. And, a USB driver is installed into the personal computer, in other words, extent and stored in a Hard disk of the personal computer.  
         [0025]     After installing this software, the camera indicates the installation is complete and asks a user on display device screen  1  whether the user want to test transferring image data from the camera to the personal computer. If the user chose “yes,” the camera indicates an instruction of transferring image data from the camera on the display device screen  1 . The instruction make the user execute transferring image data easily even if the user is not familiar with a personal computer.  
         [0026]     Additionally, recent operating system has a function called “Plug and Play”. A “Plug and Play” function is executed at connecting a personal computer  100  and a peripheral device like a digital still camera and displays a dialog box called “Wizard” for helping a user installing a device driver of the peripheral device. In description below, such a version of operating system is described as a version of operating system having a function displaying “Wizard.” However, “Wizard” function of operating system displays a versatile message for consistent with any device. Therefore, the message displayed by “Wizard” function is often not enough for a user unfamiliar with a personal computer.  
         [0027]     Thus, according to one embodiment of the present invention, the installation software detects the version of operating system. To detect the version of operating system may be executed by using a function prepared as a function of operating system. For instance, on Windows (registered trademark), “GetVersionEx” function can be use for detection of the version. And the detection can be achieved by embedding information, about versions of operating system having a function displaying “Wizard” message, in the installation software. If the version of operating system is a version having “Wizard” function, the installation software displays dialog box showing a setting message specialized for a digital still camera during displaying process of testing transferring digital image data. This specialized message helps a user to operate a personal computer for installing software even if the user is not familiar with a personal computer. This specialize message is displayed separately from a message of “Wizard.” 
         [0028]      FIG. 2A -G show dialog boxes displayed in the display device  1  by the installer software.  FIG. 4  shows a flow chart of procedure of the installer software. Detail action of the installer software is explained by using  FIGS. 2 and 4 .  
         [0029]     First, a CD-ROM storing the installation software is set in the CD-ROM drive of the personal computer  100 , and operating system automatically starts the installation software based on auto-run information. Then the installer software displays a dialog box as shown in  FIG. 2A , at step S 1 . Next, the installation software waits for a mouse  4  clicked by a user, at step S 2 . If a user clicks a “Quit” button in the dialog box, the installer software erases the dialog box and the finish installation procedure. On the other hand, if a user clicks an “Install” button in the dialog box, a route of S 2 , the installation software starts an installation procedure. In a third step, S 3 , the installer software checks registry in the personal computer  100 . If the installer software finds registry information corresponding with a device ID is unknown, a NG route of S 3 , the installer software deletes the unknown device from the registry, at step S 4 . In addition, unwanted, out-of-date, or corrupted device drivers may be detected and deleted. In one embodiment, the checking and deleting of the registry is preceded by a prompt to a user. For instance, in  FIG. 7 , “Device 3” and “Device 4” are unknown before checking registry, and in  FIG. 8 , these devices are deleted after checking. If the installer software does not detect an unknown device, an OK route of S 3 , the installer software installs image viewer software, a digital image data transferring software and a USB device driver, at step S 5 . For instance, these software is stored into a folder “C:\program files\Ricoh\Xp” in a storage device  2   b  like a hard disk.  
         [0030]     In a sixth step, the installer software displays a dialog box “Do you want to test transferring image data from the camera?” at step S 6 , and waits a “Yes” button or a “Quit” button in the dialog box clicked by a user, at step S 7 . If a user clicks the “Quit” Button, the installer software finishes the procedure. If a user clicks a “Yes” button, the installer software displays a dialog box “Please take a picture by a camera.” as shown in  FIG. 2C , at step S 8 . After a user taking a picture by camera, when a user clicks a “Yes” button in the dialog box, at step S 9 , the installer software displays a dialog box “Please connect a camera and a personal computer by USB cable. If a camera and a personal compute have already connected, please disconnect once and re-connect,” as shown in  FIG. 2D , at step S 10 . Then, if a user clicks an “OK” button in the dialog box, at step S 11 , the installer software checks whether a version of operating system, on which the installer software is running, is a version having a function for displaying “Wizard.” Describing more detail, the installer software executes “GetVersionEx” function, which is prepared in “Windows” as described above, and checks a return value from the function, at step S 12 .  
         [0031]     If the function returns a value which is not corresponding to a version having a function for displaying “Wizard,” the installer software displays a dialog box “Have you finished connecting?” as shown in .E, at step S 13 . Then the operating system in the personal computer  100  detects that a digital still camera  5  connection via a USB cable, and starts installing a USB device driver by “Plug and play.” Additionally, according to one embodiment of the present invention, digital image data is transferred automatically from the digital still camera  5  to a storage device in the personal computer  100  after installation of the USB device driver is finished. If a user clicks a “Open Web” button in the dialog box “Have you finished connecting?” shown in the step S 13 , the installation software detects the “Open Web” button is clicked, at step S 14 , and display a web page at a predetermined URL (Universal Resource Locator), at step S 15 . When a user closes the web page, the installer software finishes this procedure. On the other hand, if the installer software does not detect the “Open web” button is clicked at the step of S 14 , the installer checks whether a “Close” button in the dialog box is clicked. When the installer software detects the “Close” button is clicked, at step S 16 , and finishes this procedure, at step S 16 . Otherwise, the installer software goes back to the step of S 14 .  
         [0032]     If the function returns a value which is corresponding to a version having a function for displaying “Wizard,” the installer software displays a dialog box “‘Found New Hardware’ Wizard will start. Select [Install from a list or specific location (Advanced)] and then click [Next],” as shown in  FIG. 2F , at step S 18 . In this step, the installer software displays the dialog box in the upper left of the display device  1  so that the dialog box does not overlap to a dialog box displayed by the operating system. Then the installer software wait until a user clicks a “Next” button in the dialog box, at step S 19 . When the installer software detects a user clicks the “Next” button, the installer software displays a dialog box “Select [Search for the best driver in these locations], check [Include this location in the search], click [Browse], choose ‘C:\Program Files\Ricoh\XP’, and then Click [Next],” as shown in  FIG. 2G  in the upper left of the display device  1 , at step S 20 , and wait until a user click a “Next” button, at step S 21 .  
         [0033]     When the installer software detects a user clicks the “Next” button, the installer software go to the step of S 13 . After the step of S 13 , the installer software execute a similar procedure with the case of a version having no function for displaying “Wizard” described above.  
         [0034]     As described above, according to one embodiment of the present invention, the installer software displays a detail setting procedure corresponding to a “Wizard” dialog box displayed by operating system in response with a kind of operating system. Therefore a user can easily installs software, such as a USB device driver, by tracing a detail setting procedure displayed by the installer software, even if the user is not familiar with a digital device and/or a personal computer. And a user can also make sure that digital image data is correctly transferred from a digital still camera to a personal computer. Therefore, the present invention can reduce frequency of a user asking a digital still camera manufacturer about transferring a digital still camera to a personal computer, and reduce support cost of a manufacturer, such that salary, communication fee of toll free dial. Additionally, according to one embodiment of the present invention, the installer software can be browse a web page, and a user can be see more information about question, problem or the like in install procedure. In the above description, the installer software installs an application and a USB device driver, and tests transferring digital image data after installation. However, it can be achieved by preparing installer software only installing an application and/or a USB device driver, test software testing transferring digital image data and an executing software run the installer software and the test software serially.  
         [0035]     According to another embodiment of the present invention, a USB connection trouble shooting software runs on a personal computer  100  as shown in  FIG. 1 , and troubleshoots on the USB connection. In this embodiment, a CD-ROM stores the USB connection trouble shooting software, an image viewer software, which shows a catalogue of stored digital images, an image transferring software, which transfers digital image data from a digital still camera  5  to the personal computer  100 , a USB device driver, which controls communication between the digital still camera  5  and the USB device  2   e,  and a installer software, which controls installation of these software.  
         [0036]     The installer software reads this software via CD-ROM drive and expands and stores this software into a storage device  2   b,  i.e. a hard disk, for executing this software on the personal computer  100 . In other words, the installer software installs this software into the personal computer  100 . Software stored in the storage device  2   b  is sent into a program memory  2   d  and executed by a CPU on a CPU board  2   a.  In this embodiment, the installer software reads the USB connection trouble shooting software, the image viewer software, the image transferring software and the USB device driver, and expands and stores this software into the storage device  2   b,  i.e. installs this software.  
         [0037]     A way to troubleshoot, in the case that a user connect the digital still camera  5  to the personal computer  100  but cannot transfers digital image data is explained below. The trouble can be occurred, for instance, when a user connects the digital still camera  5  to the personal computer  100  before installing software necessary for transferring digital image data, and continues installation in “Plug and play” without placing a CD-ROM in a CD-ROM drive, and the digital still camera is rejected as an unknown device.  
         [0038]     In such situation, a user executes the USB connection trouble shooting software. First, the USB connection trouble shooting software checks registry information  2   f  in the personal computer  100  for searching a device ID whose registry information is unknown. If the USB connection trouble shooting software finds a device ID whose registry information is unknown, deletes the registry information. Next, the USB connection trouble shooting software asks a user whether a user wants to test transferring digital image data from the digital still camera  5  to the personal computer  100 , by displaying a dialog box on the display device  1 . If a user selects transferring test, the USB connection trouble shooting software display a procedure to transferring digital image data. A user can easily transferring digital image data from the digital still camera  5  to the personal computer  100  by following the displayed procedure, even if the user is not familiar with a digital device and/or a personal computer.  
         [0039]     Additionally, operating system of some versions displays a “Wizard” dialog box by “Plug and play” when the digital still camera  100  and the personal computer  5  are connected. However, “Wizard” function of operating system displays a versatile message for consistent with any device. Therefore, the message displayed by “Wizard” function is often not enough for a user unfamiliar with a personal computer. According to one embodiment of the present invention, the USB connection trouble shooting software detects the version of operating system. To detect the version of operating system may be executed by using a function prepared as a function of operating system. For instance, on Windows (registered trademark), “GetVersionEx” function can be use for detection of the version. And the detection can be achieved by embedding information, about versions of operating system having a function displaying “Wizard” message, in the USB connection trouble shooting software.  
         [0040]     If the version of operating system is a version having “Wizard” function, the USB connection trouble shooting software displays dialog box showing a setting message specialized to install a USB device driver for a digital still camera during displaying process of testing transferring digital image data. This specialized message helps a user to operate a personal computer for installing software even if the user is not familiar with a personal computer. This specialize message is displayed separately from a message of “Wizard.” 
         [0041]      FIG. 5A -G shows dialog boxes displayed in the display device  1  by the USB connection trouble shooting software.  FIG. 6  is a flow chart of procedure of the USB connection trouble shooting software. One embodiment of the present invention is explained in detail by referring FIGS.  5 A-G and  6 .  
         [0042]     First, the USB connection trouble shooting software displays a dialog box shown in  FIG. 5A , at step S 31 . Next, the installation software waits for a mouse  4  clicked by a user, at step S 32 . If a user clicks a “Quit” button in the dialog box, the USB connection trouble shooting software erases the dialog box and the finish installation procedure. On the other hand, if a user clicks a “Install” button in the dialog box, a route of S 32 , the installation software starts checking registry in the personal computer  100 , at step S 33 . If the USB connection trouble shooting software finds registry information corresponding with a device ID is unknown, the USB connection trouble shooting software deletes the unknown device from the registry, at step S 34 . For instance, in  FIG. 7 , “Device 3” and “Device 4” are unknown before checking registry, and in  FIG. 8 , these devices are deleted after checking.  
         [0043]     If the USB connection trouble shooting software does not detect an unknown device, the USB connection trouble shooting software installs a USB device driver, at step S 5 . For instance, these software is stored into a folder “C:\program files\Ricoh\Xp” in a storage device  2   b  like a hard disk. Then, the USB connection trouble shooting software checks whether an unknown device is deleted, at step S 36 . If no device is deleted, the USB connection trouble shooting software finishes this procedure. If an unknown device is deleted in the step of S 36 , the USB connection trouble shooting software displays a dialog box “Do you want to test transferring image data from the camera?,” at step S 37 , and waits a “Yes” button or a “Quit” button in the dialog box clicked by a user, at step S 38 . If the USB connection trouble shooting software detects a user clicks the “Quit” Button, the USB connection trouble shooting software finishes the procedure.  
         [0044]     If a user clicks an “OK” button, the USB connection trouble shooting software displays a dialog box “Please take a picture by a camera.” as shown in  FIG. 5C , at step S 39 . After a user taking a picture by camera, when the USB connection trouble shooting software detects a user clicks a “Yes” button in the dialog box, at step S 40 , the USB connection trouble shooting software displays a dialog box “Please connect a camera and a personal computer by USB cable. If a camera and a personal compute have already connected, please disconnect once and re-connect,” as shown in  FIG. 5   d,  at step S 41 . Then, if a user clicks an “OK” button in the dialog box, at step S 42 , the USB connection trouble shooting software checks whether a version of operating system, on which the USB connection trouble shooting software is running, is a version having a function for displaying “Wizard.” Describing more detail, the USB connection trouble shooting software execute “GetVersionEx” function, which is prepared in “Windows” as described above, and checks a return value from the function, at step S 43 . If the function returns a value which is not corresponding to a version having a function for displaying “Wizard,” the USB connection trouble shooting software displays a dialog box “Have you finished connecting?” as shown in  FIG. 5E , at step S 44 . Then the operating system in the personal computer  100  detects that a digital still camera  5  connection via a USB cable, and starts installing a USB device driver by “Plug and play.” 
         [0045]     Additionally, according to one embodiment of the present invention, digital image data is transferred automatically from the digital still camera  5  to a storage device in the personal computer  100  after installation of the USB device driver is finished. If the USB connection trouble shooting software detects a user clicks a “Open Web” button in the dialog box “Have you finished connecting?” shown in the step S 44 , the installation software detects the “Open Web” button is clicked, at step S 45 , and display a web page at a predetermined URL, at step S 46 . When a user close the web page, the USB connection trouble shooting software finishes this procedure. On the other hand, if the USB connection trouble shooting software does not detect the “Open web” button is clicked at the step of S 45  the installer checks whether a “Close” button in the dialog box is clicked. When the USB connection trouble shooting software detects the “Close” button is clicked, at step S 47 , and finishes this procedure, at step S 16 . Otherwise, the USB connection trouble shooting software goes back to the step of S 45 .  
         [0046]     If a version of operating system is a version having a function for displaying “Wizard” at the step of S 43 , the USB connection trouble shooting software displays a dialog box “‘Found New Hardware’ Wizard will start. Select [Install from a list or specific location (Advanced)] and then click [Next],” as shown in  FIG. 5F , at step S 48 , and waits a user clicks a “next” button in the dialog box, at step S 49 . When the USB connection trouble shooting software detects a user clicks the “Next” button, the USB connection trouble shooting software displays a dialog box “Select [Search for the best driver in these locations], check [Include this location in the search], click [Browse], choose ‘C:\Program Files\Ricoh\XP’, and then Click [Next],” at step S 50 , and waits a user clicks “Next” button in the dialog box, at step S 51 . When the USB connection trouble shooting software detects a user clicks the “Next” button, the installer software go to the step of S 44 . After the step of S 44 , the USB connection trouble shooting software detects execute a similar procedure with the case that an unknown device did not deleted.  
         [0047]     As described above, according to one embodiment of the present invention, the USB connection trouble shooting software analyzes installation condition of a USB device driver and displays a detail setting procedure corresponding to a “Wizard” dialog box displayed by operating system in response with a kind of operating system. Especially, it prevents a user confused that the USB connection trouble shooting software displays a re-installation procedure of a USB device driver only when registering a digital still camera to a personal computer is failed. Therefore a user can easily installs software, such as a USB device driver, by tracing a detail setting procedure displayed by the USB connection trouble shooting software, even if the user is not familiar with a digital device and/or a personal computer. And a user can also make sure that digital image data is correctly transferred from a digital still camera to a personal computer. Therefore, the present invention can reduce frequency of a user asking a digital still camera manufacturer about transferring a digital still camera to a personal computer, and reduce support cost of a manufacturer, such as salary of operators, communication fee of toll free dial and so forth.  
         [0048]     Additionally, according to one embodiment of the present invention, the USB connection trouble shooting software can browse a web page, and a user can be see more information about question, problem or the like in install procedure. In the above description, the USB connection trouble shooting software installs an application and a USB device driver, and tests transferring digital image data after installation. However, it can be achieved by preparing an installer software only installing an application and/or a USB device driver, test software testing transferring digital image data and the USB connection trouble shooting software executing software run the installer software and the test software serially.  
         [0049]     Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of this patent specification may be practiced otherwise than as specifically described herein. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.  
         [0050]     The present invention thus also includes a computer-based product which may be hosted on a storage medium and include instructions which can be used to program a microprocessor to perform a process in accordance with the present invention. This storage medium can include any type of disk including floppy disks, optical disks, CD-ROMs, magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnetic or optical cards, or any type of media suitable for-storing electronic instructions.  
         [0051]     This patent specification is based on Japanese patent application, No. 2004-044982 filed on Feb. 20, 2004, and No. 2004-317306 filed on Oct. 29, 2004, in the Japanese Patent Office, the entire contents of which are incorporated by reference herein.