Abstract:
Conventionally, there exists a problem of incurring suspicion of a customer, if a demonstration is performed under a mismatch condition between an implemented state of a certain function in a personal computer and actual availability of the function. Therefore a program is provided executed by a computer capable of executing a first program and a second program including the steps of performing an execution decision procedure for deciding whether the first program can be executed normally, and performing an installation procedure for installing the second program, when the first program is decided to be executable normally in the decision procedure.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to an installation control program (installer) for installing application programs into a computer, and more particularly an installer for selectively introducing a demonstration program for execution, to show the functions of a personal computer exhibited to customers at the store.  
         [0003]     2. Description of the Related Art  
         [0004]     At present, when a personal computer (PC) is displayed at the store for sale, demonstration programs are executed to show the features and the functions of the PC, model by model, for customers&#39; easy understanding. The demonstrations presented to the customers by executing the demonstration programs include: displaying a message to emphasize high performance, such as high arithmetic capability or high resolution of a liquid crystal display; stressing to the customers a built-in TV view function by actually displaying on the screen, and by explaining an operation method using a moving picture; and stressing a function for creating an original DVD (digital versatile disk) by explaining, using a moving picture, a method and procedure to use DVD creation software.  
         [0005]     Each demonstration program functions as a screen saving mechanism (screen saver). Namely, when PC operation is not performed for a certain period, the demonstration is started automatically. After that, when the customer operates the PC, the demonstration is suspended. Again, if the PC operation is not performed for a certain period, the demonstration is resumed. Thus, both the demonstration and the customer operation can be performed compatibly, and efficient switchover is performed.  
         [0006]     Such demonstration programs are installed into the PC, prior to exhibition at the store, depending on the hardware provided in the PC and the preinstalled software.  
         [0007]     As preceding techniques, in the official gazettes of the Japanese Unexamined Patent Publication No. 2000-75985, there is disclosed a technique of displaying a window having preset display colors when opening the window, following the startup of an application. Also, in the official gazette of the Japanese Unexamined Patent Publication No. H9-292871, there is disclosed a technique of performing the screen save control suitable for each type of the image display device being connected to the PC.  
       SUMMARY OF THE INVENTION  
       [0008]     However, a PC having a demonstration program installed therein is not always in a suitable condition for executing the demonstration program, though both sufficient hardware and software are implemented for performing the functions to be stressed through the demonstration program execution. For example, in order to demonstrate a TV view function by use of a TV tuner built in the PC, and also a TV view application program, it is necessary to prepare a cable connection from a TV-band radio wave receiving antenna to the TV tuner, as well as channel settings proper for each regional area on the TV view application program.  
         [0009]     Assume a case that the demonstration program execution for stressing the TV view function is started without connecting the antenna cable or setting the channel settings. If the customer watching the demonstration becomes interested in the TV view function, and operates the actual PC product on display to use the TV view function by suspending the demonstration, only white-noise pattern or even nothing is displayed on the screen. This will reduce the customer&#39;s will to purchase, or undesirably lead the customer to misunderstanding or suspicion whether the TV view function is really usable.  
         [0010]     In such a way, when there is a mismatch between the implemented condition of a certain function into the PC and the actual availability of the function, there is a problem of undesirably incurring misunderstanding or suspicion of customers who actually watch and touch the product at the store.  
         [0011]     Accordingly, it is an object of the present invention to provide an installation program (installer) for use when installing a demonstration program for stressing a certain function in such a manner that the implemented condition in a PC matches actual availability of the function.  
         [0012]     As a first aspect of the present invention, the aforementioned object is achieved by providing a program executed by a computer capable of executing a first program and a second program, including the steps of performing an execution decision procedure deciding whether the first program can be executed normally, and performing an installation procedure installing the second program when in the execution decision procedure the first program is decided to be executable normally.  
         [0013]     As a second aspect of the present invention, in the first aspect, the first program records execution information into a storage unit of the computer at the time of execution, and the decision based on the execution information is performed in the execution decision procedure.  
         [0014]     As a third aspect of the present invention, in the second aspect, the execution information is managed by the computer using an identifier.  
         [0015]     As a fourth aspect of the present invention, in the second aspect, the first program is a TV view program.  
         [0016]     As a fifth aspect of the present invention, in the fourth aspect, channel setting of the TV view program is recorded in the execution information, and whether the channel setting is set correctly is decided in the execution decision procedure.  
         [0017]     As a sixth aspect of the present invention, in the first aspect, the second program is a demonstration program functioning as screen saver.  
         [0018]     As a seventh aspect of the present invention, the aforementioned object is achieved by providing a method for installing a program. The method includes: in a computer capable of executing a first program and a second program, an execution decision procedure deciding whether the first program can be executed normally; and an installation procedure installing the second program when the first program is decided to be executable normally in the execution decision procedure.  
         [0019]     As an eighth aspect of the present invention, in the seventh aspect, the first program records execution information into a storage unit of the computer at the time of execution, and the decision based on the execution information is performed in the execution decision procedure.  
         [0020]     As a ninth aspect of the present invention, the aforementioned object is achieved by providing an information processing apparatus capable of executing a first program and a second program. The information processing apparatus includes: an execution decision section deciding whether the first program can be executed normally; and an installation section installing the second program when the execution decision section decides the first program can be executed normally.  
         [0021]     As a tenth aspect of the present invention, in the ninth aspect, execution information is recorded at the time of executing the first program, and the execution decision section performs the decision based on the execution information.  
         [0022]     Further scopes and features of the present invention will become more apparent by the following description of the embodiments with the accompanied drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0023]      FIG. 1  shows a configuration diagram of an information processing apparatus  1  according to an embodiment of the present invention.  
         [0024]      FIG. 2  shows an exemplary data structure of an installation table for each type.  
         [0025]      FIG. 3  shows an exemplary data structure of an execution information reference table for each demonstration used for selecting a available demonstration program.  
         [0026]      FIG. 4  shows an exemplary data structure of an installation list.  
         [0027]      FIG. 5  shows a functional block diagram illustrating the control unit according to the embodiment of the present invention.  
         [0028]      FIG. 6  shows a flowchart illustrating the operation of an information processing apparatus according to the embodiment of the present invention.  
         [0029]      FIG. 7  shows a flowchart illustrating a step for deciding executability in detail, in the case of a TV function demonstration, as an example of the demonstration program. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0030]     The preferred embodiment of the present invention is described hereinafter referring to the charts and drawings. However, it is noted that the scope of the present invention is not limited to the embodiments described below.  
         [0031]     In the embodiment of the present invention, a case of installing a plurality of demonstration program stored in a removable portable storage medium into an information processing apparatus will be described. Here, installation is a process of copying a program and/or data, necessary for the execution of a demonstration program, into a storage unit such as a hard disk. The installation also includes storing necessary settings for such as OS (operating system) which is basic control software for controlling the information processing apparatus into the storage unit.  
         [0032]      FIG. 1  shows a configuration diagram of an information processing apparatus  1  according to an embodiment of the present invention. Information processing apparatus  1  shown in  FIG. 1  includes control unit  11 , RAM (random access memory)  12 , storage unit  13 , and drive unit  14  such as floppy disk drive, CD (compact disk) drive, DVD (digital versatile disk) drive and MO (magneto-optical disk) drive, which are interconnected via a bus  20 . Also, an input unit  17  and a display unit  18  are externally connected via an interface  15  for peripheral equipment connection connected to bus  20 , with either wired or wireless connection.  
         [0033]     In an exchangeable memory medium (ROM)  16  readable by drive unit  14 , there are stored a plurality of demonstration programs to be installed into information processing apparatus  1 ; an installation table  101  for each equipment type, having each demonstration program combined with each equipment type of information processing apparatus  1 ; and an execution information reference table  102  for each demonstration, having hardware or software execution information (information storage location) in regard to each demonstration program to be installed from now on. Hardware execution information may include equipment configuration information specifying peripheral equipment of information processing apparatus  1 , and the aforementioned equipment type information. Also, software execution information may include: initiation information generated when an application program is initiated, enabling confirmation of whether or not the program being initiated; attached information generated when a predetermined condition is satisfied after the initiation of the application program; and operation environment information settable and changeable from the OS, such as a screen resolution and audio volume.  
         [0034]      FIG. 2  shows an exemplary data structure of an installation table  101  for each type. In this installation table listed for each type shown in  FIG. 2 , a ‘type’ storing equipment type information that specifies the type of information processing apparatus  1  is stored. Also, an initial set value specifying whether or not the demonstration is to be installed is stored, on a basis of name for identifying each demonstration. As to ‘type’, type information is stored in the form of an identifier like ‘DP_T90G’, as model number representing the equipment type. In information processing apparatus  1 , the aforementioned identifier specifying each equipment type is stored in advance in storage unit  13 .  
         [0035]     Demonstrations listed in  FIG. 2  includes: ‘intensified luminance’ demonstration for stressing a high-luminance liquid crystal display being mounted; ‘train window screen saver’ demonstration for stressing a screen saver program, displaying changing scenery seen from a window of a running train; and ‘still WXGA’/‘still SXGA’/‘still XGA’ demonstration for stressing a fine liquid crystal by displaying as fine still images as possible corresponding to a resolution (WXGA, SXGA, XGA) of display unit; ‘MyMedia WXGA’/‘MyMedia SXGA’/‘MyMedia XGA’ demonstration for stressing on a resolution-by-resolution basis a ‘look-and-feel’ function, capable of controlling information processing apparatus  1  from a remote controller, like controlling home appliances. Other demonstrations include ‘TV function’ demonstration for stressing a TV view function using a built-in TV tuner; ‘twin TV’ demonstration for stressing a double-screen display function; ‘DVD creation’ demonstration for stressing recording capability of an original data onto a recordable DVD (DVD ±R/±RW, −RAM, etc.); ‘HT_WXGA’/‘HT_SXGA’ demonstration for stressing a technique of emulating two CPUs by use of a single CPU on a resolution-by-resolution basis.  
         [0036]     Now, in  FIG. 2 , initial settings that specify whether or not a demonstration program is to be installed are depicted using three different marks. A mark ‘◯’ is indicative of being ‘recommended’ to install the demonstration program corresponding to the identifier. A mark ‘X’ is indicative of being ‘improper’ to install the demonstration program corresponding to the identifier. This ‘improper’ indication corresponds to a case such that the demonstration concerned is prepared for exhibiting a function that is not mounted on the equipment type. A hyphen ‘-’ is indicative of ‘to be decided by a sales section’, which means the decision is left to the related field sales section. Handling of the demonstration is varied individually, depending on the sales strategies formed for each equipment type or in each store.  
         [0037]     In such a way, when the equipment type is specified, demonstration programs indicative of ‘recommended’ installation are selected as initial set. According to the embodiment of the present invention, an available demonstration program(s) is further selected among the initially selected demonstrations.  
         [0038]      FIG. 3  shows an exemplary data structure of an execution information reference table  102  for each demonstration, which is used for selecting an available demonstration program(s). For each demonstration name identifying each demonstration, the following information is provided correspondingly: ‘execution information’ to be referred; ‘condition’ on which the demonstration is determined executable; and ‘path’ (access information) to a storage location in which the demonstration program concerned is stored. For example, in the case of the intensified luminance demonstration, executability of the demonstration is determined by referring to a path (access information to a file or a registry) to the resolution information that stores a present resolution and judging whether the present resolution has a predetermined resolution or higher.  
         [0039]     In case of the train window screen saver demonstration, executability of the demonstration is determined by judging whether the ‘condition’ is satisfied, based on the resolution information; a screen saver initiation period, which specifies the period from a state of detecting no input signal to the information processing apparatus, to the time of initiating the screen saver; a standby transition period, which specifies a transit period to a standby mode in which less power is consumed; and audio volume information storing an audio volume set condition with which the sound is played during execution of the screen saver. For example, the conditions whether the display is set to a predetermined resolution or more, whether the screen saver function is not set to off, etc. are checked.  
         [0040]     Also, in case of the TV function demonstration, executability of the demonstration is determined based on the correspondence between the initiation information storing whether the TV view application program is initiated and the channel setting information being generated on completion of channel setting after initiating the TV view application program. For example, in case of the TV view application program, as initiation information, when the OS is Windows (R), ‘execution information’ shown in  FIG. 3  includes a path to a registry, such as the following:  
         [0000]     HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥ProgPath. Meanwhile, in case of the channel setting information, the ‘execution information’ shown in  FIG. 3  includes a path to a registry, such as the following:  
         [0041]     HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥Version¥Chtbl¥1. For example, if the channel setting has been completed for a channel number ‘1’, a registry such as HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥Version¥Chtbl¥1is existent. The number in the last digit is changed according to the change of the channel number, and by checking whether the corresponding number is existent, whether the channel setting has been completed can be determined.  
         [0042]     Now, referring back to  FIG. 1 , storage unit  13  is a nonvolatile storage means such as hard disk, optical disk, magnetic disk, and flash memory. In storage unit  13 , the following information is stored: execution information related to the hardware provided in information processing apparatus  1  and/or the software of which installation to information processing apparatus  1  has been completed (as an example,  FIG. 1  depicts the initiation information and the channel setting information of the TV view application program that enable TV display in cooperation with the TV tuner provided in information processing apparatus  1 ); type information specifying the equipment type including a model number of the information processing apparatus, equipment type number, etc.; and an installation list  103  for identifying whether the demonstration program is to be installed.  
         [0043]      FIG. 4  shows an exemplary data structure of installation list  103 . Installation list  103  is utilized to exclude non-executable demonstration program(s) from the list of demonstration programs initially selected from installation table  101  listed by type, according to each equipment type. In other words, if the entire demonstration programs are executable, then the contents of installation list  103  coincide with the contents of the demonstration program list initially selected.  
         [0044]     As shown in  FIG. 4 , a data item named ‘propriety of installation’ indicative of whether the demonstration program corresponding to the demonstration name is to be installed or not is stored. Any demonstration program corresponding to the identifier shown as ‘◯’ in the ‘propriety of installation’ item is determined executable, and accordingly the program concerned is to be installed.  
         [0045]     Referring back to  FIG. 1 , control unit  11  includes a non-illustrated CPU and controls information processing apparatus  1  by executing the OS or other programs stored in storage unit  13 . RAM  12  is a memory means for temporarily storing operation results processed by control unit  11 . Display unit  18  is a display device such as a liquid crystal display and a CRT display for displaying information to the user. Further, input unit  17  is an input device for inputting command signals input from the user through keyboard, mouse and power button, etc. into information processing apparatus  1 .  
         [0046]     Here, although not shown in  FIG. 1 , input unit  17  may be a network interface card (NIC), through which the information from other information processing apparatuses connected via a network may be input. According to the embodiment of the present invention, demonstration programs to be installed into information processing apparatus  1  are stored into an exchangeable memory medium, and provided therefrom. However, it may also be possible that a plurality of demonstration programs downloaded via the network are stored into a storage medium such as a hard disk, and provided therefrom.  
         [0047]      FIG. 5  shows a functional block diagram illustrating control unit  11  according to the embodiment of the present invention. Control unit  11  includes type discrimination section  111 , initial selection section  112 , execution decision section  113 , and installation section  114 . Type discrimination section  111  reads out type information from storage unit  13 , identifies the equipment type of information processing apparatus  1 , and supplies the identified equipment type to initial selection section  112 .  
         [0048]     Initial selection section  112  refers to installation table  101  for each type, identifies as initial selection a demonstration program(s) corresponding to the equipment type identified in type discrimination section  111 , and supplies the identifier(s) to execution decision section  113 . For example, according to  FIG. 2 , assuming that the identifier stored in the type information of information processing apparatus  1  is ‘BL_HB75G’, the following demonstrations are selected initially as ‘recommended’ demonstrations: ‘intensified luminance’, ‘train window screen saver’, ‘MyMedia XGA’, ‘TV function’ and ‘DVD creation’.  
         [0049]     Execution decision section  113  refers to the execution information reference table for each demonstration, refers to the execution information corresponding to each identifier identifying the demonstration, determines whether the ‘conditions’ in the execution information reference table for each demonstration, and determines whether the demonstration program is executable. For example, in the case of the TV view application program, the initiation of application program is confirmed by whether the initiation information (HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥ProgPath) is existent. Also, the completion of the channel setting is confirmed by whether the channel setting information (HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥Version¥Chtbl¥1), which is the attached information generated when predetermined conditions (of channel setting completion) are satisfied after the initiation of the TV view application program. Then, according to the conditions shown in  FIG. 3 , if the initiation is confirmed, and further the channel setting is completed, it is determined the TV function demonstration is executable. Thus, installation of the corresponding demonstration program is performed.  
         [0050]     Execution decision section  113  decides executability for each demonstration, and generates installation list  103  based on the above decision result. Execution decision section  113  decides that the demonstrations having been decided as executable among the demonstrations selected in initial selection section  112  are the demonstrations of which installation is to be executed (mark ‘◯’), while the demonstrations having been decided as non-executable are the demonstrations of which installation is not to be executed (mark ‘X’). Execution decision section  113  reflects above results into installation list  103 , and informs installation section  114  of the generated installation list.  
         [0051]     Installation section  114  determines the demonstration program(s) to be installed based on the generated installation list  103 , and performs installation processing of the corresponding demonstration program(s), referring to the ‘path’ in execution information reference table  102  for each demonstration. Namely, installation section  114  copies the demonstration program and necessary data from ROM  16  to a predetermined area of storage unit  13 , and performs necessary initial setting.  
         [0052]      FIG. 6  shows a flowchart illustrating the operation of information processing apparatus  1  according to the embodiment of the present invention. First, type discrimination section  111  discriminates the equipment type (S 1 ). On discriminating the equipment type, initial selection section  112  performs initial selection corresponding to the specified equipment type, based on installation table  101  for each type (S 2 ).  
         [0053]     Then, execution decision section  113  decides the executability of the demonstration for each demonstration selected in step S 2 , based on execution information reference table  102  for each demonstration, and generates installation list  103  that reflects the above decision result (S 3 ). Finally, installation section  114  determines a demonstration program to be installed, based on installation list  103 , and performs the installation processing of the demonstration program concerned (S 4 ).  
         [0054]      FIG. 7  shows a flowchart illustrating the executability decision step in detail, in the case of the TV function demonstration, as an example of the demonstration program. Here, it is assumed that an identifier (demonstration name) specifying an object demonstration for deciding the executability has been acquired in advance. Execution decision section  113  checks whether the TV view application program has been initiated (S 31 ).  
         [0055]     Execution decision section  113  refers to execution information reference table  102  for each demonstration, using the identifier having been acquired, and acquires a path to the initiation information, and then acquires the initiation information by accessing the path. For example, by executing an open command in a read mode against a registry key of HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥ProgPath, if the registry can be opened normally, the completion of initiation is confirmed.  
         [0056]     When the initiation is confirmed in step S 31  (‘Yes’ in S 31 ), then execution decision section  113  decides whether the channel setting has been completed (S 32 ). Execution decision section  113  refers to execution information reference table  102  for each demonstration, acquires a path to the channel setting information, and then acquires the channel setting information. For example, by executing an open command in a read mode against a registry key of HKEY_LOCAL_MACHINE¥Software¥company¥TVAppli¥Version¥Chtbl¥1, execution decision section  113  reads in a data defined as ChannelTune, which is a set value related to the TV tuner. If this value can be read out normally, and further if this value is other than zero, it can be decided that the channel setting has been completed for the channel number. The last digit of the aforementioned registry key corresponds to the channel number. Execution decision section  113  performs the above decision for necessary channels, and decides whether the channel setting has been completed for the channel concerned.  
         [0057]     In step S 32 , on determination that the channel setting has been completed (‘Yes’ in S 32 ), execution decision section  113  determines that the demonstration program for stressing the TV view function is executable. Execution decision section  113  then updates the ‘propriety of installation’ item corresponding to the TV function demonstration in the installation list shown in  FIG. 4  with the information indicative of installation execution (represented by the mark ‘◯’ in  FIG. 4 ).  
         [0058]     In step S 31 , if initiation of the TV view application program is not confirmed (‘No’ in S 31 ), execution decision section  113  determines that the corresponding demonstration program is non-executable. Execution decision section  113  then updates the ‘propriety of installation’ item corresponding to the TV function demonstration in the installation list by the information indicative of non-execution of installation (represented by the mark ‘X’ in  FIG. 4 ) (S 36 ). In step S 32 , when the channel setting is not completed while the initiation of the TV view application program is confirmed (‘No’ in S 32 ), an alarm message that the channel setting is not completed is displayed (S 34 ), and execution decision section  113  decides whether the demonstration program is to be installed compulsorily (S 35 ). For example, execution decision section  113  displays the alarm message in step S 34 , and at the same time, inquires of the user whether to perform compulsory installation by displaying a screen that urges the user to input a choice, and then receives an input from the user. If the input signal signifies consent to the compulsory installation (‘Yes’ in S 35 ), the process proceeds to step S 33 , and thereafter the TV function demonstration program is executed. Otherwise, if the input signal signifies disagreement to the compulsory installation (‘No’ in S 35 ), execution decision section  113  decides the program is not executable (S 36 ). Here, the decision in the step S 35  is not necessarily based on the signal input from the user. The decision may be based on flag information stored in advance in the storage unit, which is indicative of permission/non-permission of the compulsory installation. Such execution decision is performed for each demonstration in a similar way to that shown in  FIG. 7 , and installation list  103  is generated depending on the decision result of being executable (S 33 ) or non-executable (S 36 ). The process then proceeds to step S 4 , in which installation section  114  performs installation based on installation list  103 .  
         [0059]     As the embodiment of the present invention has been described, according to the embodiment, it becomes possible to install into an information processing apparatus a demonstration program for properly stressing a function which is implemented in the information processing apparatus (for example, PC) and also available, to the customer. Thus, the user becomes interested in the demonstration presented through the execution of the demonstration program, and can use the function being demonstrated correctly when operating the actual product. This eases customer&#39;s mind and improves customer&#39;s reliance on the product. Also, it becomes possible to prevent decline of purchase will that may occur conventionally.  
         [0060]     The aforementioned effects can also be obtained when the operation of the information processing apparatus is actualized in the form of either an installation method or a program that processes the function provided in the control unit.  
         [0061]     The foregoing description of the embodiments is not intended to limit the invention to the particular details of the examples illustrated. Any suitable modification and equivalents may be resorted to the scope of the invention. All features and advantages of the invention falling within the scope of the invention are covered by the appended claims.