Information processing device, control method, and program
Patent Information
- Application Number
- JP2021201545
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2021-12-13
- Publication Date
- 2024-12-16
- Estimated Expiration
- 2041-12-13
AI Technical Summary
Existing device driver installation methods often require users to manually determine whether to restart the OS, which can lead to improper system operation due to lack of knowledge, resulting in incomplete updates or unnecessary reboots, especially when the fast startup function is enabled.
A program that determines whether a restart is necessary based on installation conditions and notifies users appropriately, including periodic reminders through resident applications to ensure proper driver updates even with the fast startup function enabled.
Ensures proper installation and updating of device drivers by informing users when a restart is required, preventing incomplete updates and minimizing unnecessary reboots.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technology of installing device drivers.
Background Art
[0002] When performing the installation process of a device driver, as a safe means to operate the device driver normally, it is common to restart the OS (Operating System) and let the OS perform the system initialization process. Also, in Patent Document 1, regarding the method of reducing unnecessary restarts by determining whether a restart is necessary according to the update content when installing a device driver on a computer, it is described.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There is a need for a technology to install software appropriately.
[0005] Therefore, an object of the present invention is to install software appropriately.
Means for Solving the Problems
[0006] A program according to one aspect of the present invention is a program for installing software on a computer, characterized in that the computer functions as a first acquisition means for acquiring first information indicating whether a restart of the computer is necessary when installing the software; a second acquisition means for acquiring second information indicating whether the fast startup function of the computer is enabled; and an execution means for executing a specific process based on the first information and the second information. [Effects of the Invention]
[0007] According to the present invention, software can be properly installed. [Brief explanation of the drawing]
[0008] [Figure 1] This is a diagram of the system configuration. [Figure 2] This is an example of a hardware configuration diagram for an image processing device. [Figure 3] This is an example of a hardware configuration diagram of an image processing device and connected devices. [Figure 4] This is an example of a software configuration diagram for an image processing device. [Figure 5] This figure shows an example of a UI screen displayed by an application. [Figure 6] This figure shows an example of a message box displayed by an application. [Figure 7] This figure shows an example of a pop-up displayed by a background application. [Figure 8] This is a flowchart showing the overall processing flow of the application. [Figure 9] This flowchart shows the flow of the application restart notification process S802. [Figure 10] This is a flowchart showing the overall flow of a resident application. [Figure 11] This is a software configuration diagram for an image processing device. [Figure 12]This figure shows an example of a malfunction history. [Figure 13] This diagram shows the driver malfunction level and the corresponding response level. [Figure 14] This is a flowchart showing the overall processing flow of the application. [Figure 15] This flowchart shows the processing flow for determining the appropriate level. [Figure 16] This is a flowchart showing the driver installation process. [Figure 17] This flowchart shows the process for informing users about the restart procedure. [Modes for carrying out the invention]
[0009] Preferred embodiments of the present invention will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the scope of the present invention as defined in the claims. Furthermore, not all combinations of features described in these embodiments are necessarily essential to the solutions of the present invention.
[0010] Before describing this embodiment, let's explain the conventional device driver installation process. When a device driver is installed, it is common and safe to restart the OS to allow the OS to initialize the system in order for the device driver to function correctly. In this case, it is conceivable to display a selection screen (see Figure 6(a)) on the computer screen at the end of the installer, allowing the user to choose whether to restart immediately or later.
[0011] When the user wants to avoid restarting, after the necessary processing is completed, the user gives a selection instruction to the computer via the aforementioned selection instruction screen to restart, so as not to cause a restart after the installation process. Such a situation is, for example, when installing a device driver for a computer that is running all day long, and when the installation process ends, it is desired to avoid restarting as much as possible. On the other hand, in the installation of device drivers, there are also cases where the operation of the system is guaranteed without restarting depending on the conditions.
[0012] However, the system in which the device driver is installed uniformly displays a fixed restart instruction input screen without determining whether a restart is necessary. Therefore, there is a problem that the user has to judge for himself whether a restart of the system is necessary or not. Also, in order to judge whether a restart of the system is necessary or not, specialized knowledge such as the OS, device drivers, or services provided by the system is required, and it is difficult for general users to make an independent judgment.
[0013] Furthermore, if the user cannot appropriately judge whether a restart is necessary and operates the computer, there is a risk that the system will not operate properly as a result of not restarting even though a restart is necessary. Also, conversely, even when a restart is not necessary, there is a risk that the user cannot judge this and will perform an unnecessary restart of the system.
[0014] Furthermore, Windows® operating systems have included a feature called Fast Startup since Windows 8®. Enabling Fast Startup allows Windows PCs to enter a hibernation state instead of a complete shutdown (a complete power cut-off) when shutting down. By putting the PC into hibernation, it can start up faster the next time it's turned on. Note that if Fast Startup is not enabled and a shutdown operation is performed, a complete shutdown will be executed.
[0015] However, in an OS environment where fast startup is enabled, if the user refuses the immediate PC restart offered by the installer and instead performs a shutdown operation, the installed drivers may not be updated. This is because, as mentioned above, when the fast startup function is enabled, a complete shutdown is not performed even if a shutdown operation is performed. Note that even when the fast startup function is enabled, a complete shutdown is performed when a restart operation is performed. Therefore, in the above case, the driver updates will not be applied unless the user restarts (performs a complete shutdown) the PC.
[0016] Therefore, the following embodiment describes a method to prevent the problem of being unable to properly update and install device drivers by notifying the user that a "restart" of the PC is required when the fast startup function is enabled.
[0017] <Embodiment 1> Figure 1 is a block diagram showing an example of the configuration of a network system including an information processing device (PC101). In the system shown in Figure 1, PC101, device 102, and router 103 are connected via network 104. Each device communicates according to the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol and UDP (User Datagram Protocol). Network 104 is connected to an external network 105 via router 103. Device 102 is a peripheral device such as a printer, copier, facsimile, or scanner, or a device with combined functions thereof. PC101 can control device 102 by installing its respective drivers.
[0018] Device 102 supports the TCP / IP protocol. It also supports WSD (Web Services on Devices), a standard Windows OS network protocol that supports UPnP (Universal Plug and Play). Furthermore, it supports the LLMNR (Link-Local Multicast Name Resolution) protocol, which enables name resolution of neighboring network devices. The WSD or LLMNR function of device 102 can be enabled or disabled by the user by directly operating device 102. Router 103 has a DHCP (Dynamic Host Configuration Protocol) server function and assigns IP addresses to PC 101 and device 102.
[0019] Figure 2 is a hardware configuration diagram of PC101. PC101 comprises a monitor 201, a CPU 202, a ROM 203, a RAM 204, an auxiliary storage device 205, a keyboard 206, a pointing device 207, and a network board 208. Each component is interconnected via a bus 209. The monitor 201 displays the User Interface (UI) of an application or driver, such as application 401. The CPU 202 loads programs such as applications or drivers stored in the ROM 203 or auxiliary storage device 205 into the RAM 204 and executes the loaded programs. The ROM 203 stores basic software such as the BIOS or various programs for implementing processes executed by PC101. The RAM 204 temporarily stores software such as applications and drivers, or data they use. The auxiliary storage device 205 is, for example, a hard disk. The auxiliary storage device 205 stores software (programs) such as the OS, applications, drivers, or various modules. The drivers stored in the auxiliary storage device 205 include device drivers (such as scanner drivers, printer drivers, or facsimile drivers) that control device 102. The drivers stored in the auxiliary storage device 205 also include display control drivers that control the display on monitor 201, keyboard drivers that control keyboard 206, or pointing device drivers that control pointing device 207. Furthermore, the drivers stored in the auxiliary storage device 205 include network drivers that control communication on network board 208. The applications stored in the auxiliary storage device 205 include application 401, as shown in Figure 4. Application 401 has a TCP / IP device search function. Alternatively, application 401 may call a module that has this search function to execute those functions. Also, the search function and the information setting function may be provided in separate modules. Keyboard 206 and pointing device 207 are input devices that receive instructions from the user.The network board 208 communicates with devices via the network.
[0020] Figure 3 shows an example of a hardware configuration when device 102 is a printer. Device 102 comprises a CPU 301, ROM 302, RAM 303, communication unit 304, recording unit 305, operation unit 306, and display unit 307. The various components constituting device 102 are interconnected via a bus 308. The CPU 301 is, for example, a microprocessor.
[0021] The CPU 301 functions as the central processing unit of device 102. The CPU 301 controls the communication unit 304, recording unit 305, operation unit 306, and display unit 307 by loading programs stored in ROM 302 into RAM 303 and executing the loaded programs. ROM 302 stores various programs necessary to implement the processing performed by device 102. RAM 303 is used as the work area for the CPU 301. RAM 303 temporarily stores various data. The communication unit 304 communicates with other devices via a network. The recording unit 305 prints, for example, image data onto a recording medium such as paper.
[0022] The operation unit 306 consists of input devices such as buttons or a touch panel. The display unit 307 displays a screen for operating the device 102, or various information about the device 102. If the device 102 is a device other than a printer, the device 102 will have other components in place of, or in addition to, the recording unit 305. For example, if the device 102 is a scanner, the device 102 will have a reading unit as another component for reading images on a document.
[0023] Figure 4 is a block diagram showing the software configuration of PC101. As shown in Figure 4, PC101 includes an application 401, a driver INF file 402, a printer driver 403, a scanner driver 404, and a fax driver 405.
[0024] Application 401 is a driver installer that searches for device 102 connected to PC 101 and displays information about the detected device on monitor 201. Then, it installs the driver for the device corresponding to the information selected by the user from the displayed information onto PC 101.
[0025] The driver INF file 402 contains the model of the device corresponding to the driver (printer driver 403, scanner driver 404, or fax driver 405) that application 401 installs.
[0026] Application 401 includes a driver installation unit 406 and a restart determination unit 407. Each unit shown in Figure 4 is realized when the CPU 202 of PC 101 reads and executes application 401 stored in auxiliary storage device 205. In this embodiment, application 401 searches for devices on the same network and displays the detected devices on the monitor 201 of PC 201. On the other hand, if it is unable to find any devices on the same network, application 401 displays on the monitor 201 that no devices were detected.
[0027] The driver installation unit 406 installs the driver. Note that the driver installed by the driver installation unit 406 varies depending on the type of device. For example, if the device is a printer, application 401 installs the printer driver 403 onto PC101. If the device is a scanner, application 401 installs the scanner driver 404 onto PC101. Furthermore, if the device is an MFP (Multi-Function Printer), application 401 installs the printer driver 403, the scanner driver 404, and the fax driver 405 onto PC101.
[0028] The restart determination unit 407 determines whether a restart of PC101 is necessary during the installation of the device driver. Based on the result of the determination, it displays a notification screen prompting a restart on the PC101's monitor 201. It also communicates with device 102 to identify the types of ports that can be created on PC101. The resident application 408 is a resident application that, if the user rejects the installer's prompt to immediately restart PC101, notifies the user of the PC restart prompt at regular intervals.
[0029] Figure 5 shows an example of a UI screen displayed by application 401. The screen in Figure 5(a) is displayed when application 401 is executing the driver installation unit 406 or the restart determination unit 407. The installation screen 501 includes an internal processing status 502 that indicates the status of the internal processing. For example, when application 401 is executing the driver installation unit 406, the internal processing status 502 displays a message such as "Installing driver..." and a progress bar 503.
[0030] Figure 5(b) shows the installation completion screen 504, which is displayed when the internal processing shown in Figure 5(a) is completed. For example, when the processing of the driver installation unit 406 is completed, the installation completion message 505 is displayed on the installation completion screen 504. Note that the installation completion screen 504 may be displayed as a different screen from the installation screen 501, or the content displayed on the same screen as the installation screen 501 may be changed to make that screen the installation completion screen 504. Furthermore, when the user presses the "Finish" button 506 or the × button in the upper right corner of the screen on the installation completion screen 504, the application 401 executes the processing in the restart determination unit 407.
[0031] Figure 6 shows an example of a message box displayed by application 401. If application 401 determines, after executing the restart determination unit 407, that PC 101 needs to be restarted, it displays the PC restart selection message 601 shown in Figure 6(a). On the other hand, if application 401 determines, after executing the restart determination unit 407, that PC 101 does not need to be restarted, application 401 closes the installation completion screen 504.
[0032] Figure 6(b) shows an example of a message box displayed by application 401. Specifically, it is displayed when the PC101's fast startup function is enabled and the user presses the "No" button 603 in the PC restart selection message 601 or the × button in the upper right corner of the screen. This message is intended to inform the user that a "restart," not a "shutdown," of the PC101 is required to update to the latest drivers. In other words, this message is intended to prompt the user to perform the operation to "restart" the PC101. To put it another way, this message is intended to inform the user that the latest drivers will not be updated until the PC101 is "restarted." This message box may also include a message to inform the user that the PC101's fast startup function is enabled. This is because, on a PC where the "fast startup function" is enabled in the PC101's system settings, "shutdown" results in "hibernation," and the "complete shutdown" necessary for applying the update installation is not performed. However, "restarting" involves a complete shutdown of the PC, so the update installation is applied.
[0033] Figure 7 shows an example of a PC restart notification popup 701 displayed by the resident application 408. The PC restart notification popup 701 is a popup displayed by the resident application 408 periodically prompting the user to restart after the user presses the "OK" button or the × button in the upper right corner of the screen in the PC restart selection message 604. If the user presses the "Restart Now" button 702, the resident application 408 terminates and restarts the PC 101. If the user presses the "Restart Later" button 703 or the × button in the upper right corner of the screen, the resident application 408 closes the PC restart notification popup 701. After a certain period of time (for example, 30 minutes) has elapsed since the resident application 408 closed the PC restart notification popup 701, the resident application 408 redisplays the PC restart notification popup 701. Furthermore, if the user enables checkbox 704 and presses the "Restart Later" button 703 in the PC restart notification popup 701, the resident application 408 will not redisplay the PC restart notification popup 701 even after a certain period of time has elapsed.
[0034] Figure 8 is a flowchart showing the process from when application 401 is launched until it is terminated. This flowchart shows the processes performed by each function of application 401. Specifically, it is realized when the CPU 202 loads the program stored in the auxiliary storage device 205 of the PC 101 into the RAM 204 and executes it. In the description of each process, the symbol "S" indicates a step in that flowchart, and the same applies to Figure 8 and subsequent figures.
[0035] This flowchart is initiated when the user performs an update installation operation for a printer driver 403, scanner driver 404, or fax driver 405, etc.
[0036] In S801, application 401 displays the installation screen 501. Then, application 401 executes the driver installation process. The driver installation process is performed by the driver installation unit 406. After S801, application 401 switches the UI screen from the installation screen 501 to the installation complete screen 504. On the installation complete screen 504, if the user presses the "Finish" button or the × button in the upper right corner of the screen, the process proceeds to S802. Note that in Figure 5(a), when the driver installation process is completed, the process may proceed to S802 without displaying the installation complete screen 504 in Figure 5(b).
[0037] In S802, application 401 closes the installation completion screen 504 (or the installation in progress screen 501) and executes the restart guidance process. The detailed process of S802 will be described later in Figure 9. After S802, application 401 terminates the processing of this flow.
[0038] Figure 9 is a flowchart detailing the restart guidance process shown in Figure 8. First, in S901, the restart determination unit 407 determines whether it is necessary to restart PC101 to apply the updates after installing the drivers in the driver installation process. Here, the determination of whether a restart is necessary may be made by the restart determination unit 407 obtaining "PC restart required information" from PC101, which is created based on whether driver installation was necessary during similar update processes in the past. If it is determined that a PC restart is not necessary (determined as NO in S901), the restart determination unit 407 terminates the process shown in Figure 9. On the other hand, if it is necessary to restart PC101 (determined as YES in S901), the process proceeds to S902.
[0039] In S902, the restart determination unit 407 displays the PC restart selection message 601. In S903, if the user presses the "Yes" button 602 in response to the PC restart selection message 601, the restart determination unit 407 proceeds to S904 and performs an immediate restart of the PC 101. After S904, the restart determination unit 407 terminates this flow.
[0040] On the other hand, in S903, if the user presses the "No" button 603 or the "x" button in the upper right corner of the screen in the PC restart selection message 601, the process proceeds to S905.
[0041] In S905, the restart determination unit 407 determines whether the fast startup function of PC101 is enabled. This determination may be made, for example, by the restart determination unit 407 obtaining "fast startup function status information" from PC101, which describes the current status of the fast startup function on PC101. In S905, if the fast startup function of PC101 is disabled or unsupported, the restart determination unit 407 terminates this flow. On the other hand, if the fast startup function of PC101 is enabled in S905, the process proceeds to S906.
[0042] In S906, the restart determination unit 407 displays a PC restart reminder message 604 on the monitor 201. When the user presses the "OK" button 605 or the × button in the upper right corner of the screen in response to the PC restart reminder message 604, the restart determination unit 407 closes the PC restart reminder message 604. After the PC restart reminder message 604 is closed in S906, the restart determination unit 407 in S907 registers the current time information in the registry on the PC 101 so that the resident application 408 can periodically display a PC restart notification popup.
[0043] In S908, the restart determination unit 407 installs the resident application 408. After the installation process of the resident application 408, it starts the resident application 408 and registers it with the OS startup or as a service to achieve resident startup. After S908, the restart determination unit 407 terminates this flow.
[0044] Figure 10 is a flowchart showing the processing flow of the resident application 408 installed by application 401. This flowchart shows the processing performed by the resident application 408. Specifically, it is achieved when the CPU 202 loads the program stored in the auxiliary storage device 205 of the PC 101 into the RAM 204 and executes it.
[0045] First, resident application 408 starts on S1001. Resident application 408 starts either after application 401 installs it on S908, or through an OS function when PC101 starts up.
[0046] In S1002, the resident application 408 retrieves the time information registered by application 401 from the registry on PC 101. If no time information is registered in the registry and therefore cannot be retrieved in S1002, the process proceeds to S1010. On the other hand, if time information is registered in the registry in S1002, the process proceeds to S1003. In S1003, the resident application 408 checks the elapsed time since the time registered in the registry. If a certain amount of time (for example, 30 minutes) has not elapsed since the time registered in the registry, the process proceeds to S1010.
[0047] On the other hand, if a certain amount of time has passed since the time registered in the registry in S1003, the process proceeds to S1004. In S1004, the resident application 408 displays a PC restart notification popup 701 on the monitor 201. In S1005, if the user presses the "Restart Now" button 702 on the PC restart notification popup 701, the resident application 408 proceeds to S1006. On the other hand, if the user presses the "Restart Later" button 703 on the PC restart notification popup 701 or the × button in the upper right corner of the screen, the process proceeds to S1007.
[0048] In S1006, the resident application 408 instructs PC101 to restart immediately and proceeds to S1010. In S1007, the resident application 408 checks the status of the "Do not show notifications again" checkbox 704. That is, in S1006, if the user has checked the "Do not show notifications again" checkbox 704 and then presses the "Restart later" button 703, the process proceeds to S1009 after this step.
[0049] On the other hand, if the user does not check the "Do not show notifications again" checkbox 704 and presses the "Restart later" button 703, the process proceeds to S1008 after this step. In S1008, the resident application 408 updates the time information registered in the registry to the current time and proceeds to S1010. In S1009, the resident application 408 deletes the time information registered in the registry and proceeds to S1010.
[0050] At S1010, the resident application 408 determines whether PC101 has been shut down or restarted. If PC101 has been shut down or restarted (i.e., if the result is YES), the resident application 408 exits the loop and terminates this flow. On the other hand, if PC101 has not been shut down or restarted (i.e., if the result is NO), the resident application 408 moves to the beginning of the loop (S1001). In this embodiment, if the process proceeds from S1002, S1008, and S1009 to S1010, the determination at S1010 is NO and the process moves to S1001. On the other hand, if the process proceeds from S1007 to S1010, the determination at S1010 is YES and this flow terminates. The resident application 408 may also stop its resident startup at the end of this flow.
[0051] As described above, this embodiment allows for the successful updating and installation of device drivers. Specifically, when application 401 determines that a PC restart is necessary for the successful updating and installation of the driver, it checks whether the PC's fast startup function is enabled. This allows it to notify users who are unaware that the fast startup function is enabled that the driver cannot be updated and installed by shutting down the PC. Furthermore, even if the user refuses to restart immediately, resident application 408 or similar will periodically display a PC restart notification pop-up, preventing the user from forgetting to restart their PC.
[0052] In this embodiment, an example is shown in which a "Do not show this notification" checkbox 704 is provided in the PC restart notification popup 701, but this is not the only example. For example, a checkbox with a similar function may be provided within the PC restart reminder message 604.
[0053] Furthermore, while this embodiment shows an example of displaying the PC restart notification popup 701 from a resident application 408 bundled with application 401, it is not limited to this. For example, the notification popup could be displayed from another application already on the PC 101, or if the OS built into the PC 101 has a popup display function that allows specifying the display content or display interval, that function could be used.
[0054] Furthermore, when performing update installations of two drivers, for example, printer driver 403 and scanner driver 404, the resident application 408 may manage restart notifications related to multiple driver installations with a single launch.
[0055] Furthermore, although the above description states that S907 and S908 are executed after S906 as part of the processing of application 401, it is also acceptable for the process to terminate without executing S907 and S908. Consequently, the processing of resident application 408 shown in Figure 10 also does not need to be executed.
[0056] <Embodiment 2> According to the description of Embodiment 1, it is possible to notify users who are unaware that the fast startup function is enabled that drivers cannot be updated and installed by shutting down the PC. Furthermore, even if the user refuses to restart immediately, background applications can periodically display PC restart notification pop-ups, preventing users from forgetting to restart their PCs.
[0057] In this embodiment, the following use cases are also considered. For example, when the fault of an already installed driver is minor (e.g., missing characters in the driver's UI (User Interface) text). If the fault of an installed driver is serious (e.g., the device itself malfunctions), a PC restart is required for a successful installation, so the method of Embodiment 1 is effective. However, if the fault of an already installed driver is minor, there is no problem using the device driver even if a PC restart is not performed to properly update and install it. Also, frequently prompting the user to restart their PC with pop-ups may be annoying to some users.
[0058] In this embodiment, even in the use cases described above, a method for switching the installation sequence or the method of guiding the PC restart according to the severity of the remaining faults in the installed device driver will be explained. Note that the explanation of configurations that overlap with Embodiment 1 will be omitted.
[0059] Figure 11 is a block diagram showing the software configuration of the PC 101 that communicates with the device 102 in this embodiment. The malfunction history information 1101 is an external file that manages malfunction information that has occurred in the device driver in the past. The malfunction information is a stepwise correspondence between the severity of the malfunction (hereinafter referred to as the malfunction level), the version in which the malfunction occurred, and the content of the malfunction. The malfunction history information acquisition unit 1102 acquires the malfunction level and the version in which the malfunction occurred that are registered in the malfunction history information 1101.
[0060] The driver version acquisition unit 1103 acquires the version information of device drivers already installed on PC101. Here, the version information of installed drivers to be acquired is the same as that of the device name registered in the driver INF file 402. The compatibility level determination unit 1104 determines the compatibility level of application 401 based on the malfunction level of the installed driver, the version information of the installed driver, and the status of the PC101's fast startup function.
[0061] Figure 12 shows an example of a bug history information 1101. For example, a bug in version v1.5.70 where an error occurs only when printing on a specific paper type is listed as bug level 2.
[0062] Figure 13 shows the conditions for determining the response level, and the processing content of the application according to the response level. Figure 13(a) is a table showing an example of the conditions under which application 401 in this embodiment determines the response level of the response level determination unit 1104.
[0063] Figure 13(b) is a table showing an example of the processing content for each response level handled by application 401 in this embodiment. As shown in Figures 13(a) and (b), the response levels are set in stages based on the fault level of the installed driver and the fast startup function, and in this embodiment, they are divided into three stages. Application 401 performs processing according to the response level to address the fault.
[0064] Figure 14 is a flowchart showing the processing flow of application 401 in this embodiment from startup to termination. This flowchart shows the processing performed by each function of application 401. Specifically, it is realized when the CPU 202 loads the program stored in the auxiliary storage device 205 of the PC 101 into the RAM 204 and executes it.
[0065] This flow begins when the user launches application 401. In S1401, application 401 displays the installation screen 501 and determines the support level.
[0066] Next, in S1402, application 401 installs the device driver. Once the installation is complete, application 401 switches the UI screen from the installation screen 501 to the installation complete screen 504.
[0067] On the installation completion screen 504, if the user clicks the "Finish" button 506 or the × button in the upper right corner of the screen, application 401 closes the installation completion screen 504 and proceeds to S1403, where it executes a restart prompt for PC101. After S1403, application 401 completes the process shown in Figure 14. The compatibility level determined in S1401 is reflected in the actions taken during the driver installation process and the restart prompt process in S1402 and S1403. The detailed processing flows of the compatibility level determination process, driver installation process, and restart prompt process shown in Figure 14 will be explained below.
[0068] Figure 15 is a flowchart showing the detailed flow of the correspondence level determination process (S1401) in Figure 14.
[0069] First, in S1501, application 401 determines whether the device driver to be installed on PC101 is already installed. If the device driver is not installed, application 401 terminates the process shown in Figure 15. On the other hand, if the device driver is already installed, the process proceeds to S1502.
[0070] In S1502, the malfunction history information acquisition unit 1102 acquires malfunction information from the malfunction history information 1101. In S1503, the driver version acquisition unit 1103 acquires version information from the installed drivers installed on PC101.
[0071] Next, in S1504, S1505, and S1506, the response level determination unit 1104 determines the defect level when the version of the installed driver matches the version information included in the defect information. In S1504, if the response level determination unit 1104 determines that the defect level is 3 based on the version of the installed driver, it determines the response level to 3 in S1507 and terminates this flow. If it determines in S1504 that the defect level is not 3, it proceeds to S1505. In S1505, the response level determination unit 1104 determines whether the defect level is 2. If it determines that the defect level is 2, it proceeds to S1508. On the other hand, if it determines that the defect level is not 2, it proceeds to S1506. In S1508, the response level determination unit 1104 determines whether the fast startup function of PC101 is enabled or disabled. In S1508, if the fast startup function is enabled, the response level determination unit 1104 determines the response level to 2 and terminates the process shown in Figure 15. On the other hand, if the fast startup function is disabled in S1508, the response level determination unit 1104 determines the response level to be 1 and terminates this flow.
[0072] Furthermore, if the response level determination unit 1104 determines in S1506 that the defect level is 1, it proceeds to S1510, determines the response level to be 1, and terminates this flow. On the other hand, if it determines that there is no version of the installed driver that matches the defect level included in the defect information (determined as NO in S1506), the response level determination unit 1104 terminates this flow.
[0073] Figure 16 is a flowchart showing the detailed processing flow of the driver installation process (S1402) in Figure 14. First, in S1601, the driver installation unit 406 determines whether the result of the compatibility level determination process S1401 is compatibility level 3. If it is determined to be anything other than compatibility level 3, it proceeds to S1602; if it is determined to be compatibility level 3, it proceeds to S1603. The compatibility level used in this step is the compatibility level determined by the compatibility level determination unit 1104 in S1401 and acquired by the driver installation unit 406.
[0074] In S1602, the driver installation unit 406 installs the various drivers (printer driver 403, scanner driver 404, or fax driver 405) that are bundled with the application 401. After that, this flow terminates.
[0075] On the other hand, if S1601 determines YES, the driver installation unit 406 proceeds to S1603 and uninstalls the already installed driver. In S1604, application 401 restarts the print spooler. This is to avoid a situation where the update installation cannot be applied correctly without restarting PC101 because a driver module already installed on PC101 is holding the print spooler. After S1604, in S1602, the driver installation unit 406 installs the various drivers included with application 401. After that, this flow ends.
[0076] Figure 17 is a flowchart showing the detailed processing flow of the restart guidance process (S1403) in Figure 14.
[0077] First, in S1701, the restart determination unit 407 determines, similar to the process in S901 in Figure 9, whether it is necessary to restart the PC 101 to update the driver after the driver installation process S1402. If it determines that a PC restart is not necessary, the restart determination unit 407 terminates this flow. On the other hand, if it determines that a PC 101 needs to be restarted, the restart determination unit 407 proceeds to S1702.
[0078] In S1702, the restart determination unit 407 displays a PC restart selection message 601 on the PC 101's monitor 201. In S1703, if the user presses the "Yes" button 602 on the PC restart selection message 601, the process proceeds to S1704, where the restart determination unit 407 immediately restarts the PC 101. After that, the restart determination unit 407 terminates this flow. On the other hand, in S1703, if the user presses the "No" button 603 on the PC restart selection message 601 or the × button in the upper right corner of the screen, the process proceeds to S1705.
[0079] In S1705, the restart determination unit 407 determines whether the response level determined in the response level determination process S1401 is 2. If the response level is not 2 (determined as NO in S1705), the restart determination unit 407 terminates this flow. On the other hand, if the response level is 2 (determined as YES in S1705), the process proceeds to S1706.
[0080] In S1706, the restart determination unit 407 displays a PC restart reminder message 604 on the monitor 201. When the user presses the "OK" button 605 or the × button in the upper right corner of the screen in response to the PC restart reminder message 604, the restart determination unit 407 closes the PC restart reminder message 604.
[0081] In S1707, the restart determination unit 407 registers the current time information in the registry on PC 101 so that the resident application 408 can periodically display a PC restart notification popup. After S1707, the restart determination unit 407 installs the resident application 408. The processing in the resident application 408 is the same as in Figure 10. After S1708, the restart determination unit 407 terminates this flow.
[0082] As described above, according to this embodiment, application 401 changes the installation sequence or the method of informing the user to restart PC101 depending on the response level. With this configuration, even if there are still defects in older device drivers already installed on PC101, it is possible to prevent the user from encountering defects in the installed drivers as much as possible. Furthermore, compared to Embodiment 1, this embodiment minimizes the opportunities for the user to be re-notified via message boxes or pop-ups.
[0083] Furthermore, according to this embodiment, application 401 explains that as processing content for corresponding level 3, it will perform uninstallation of installed drivers and restart of the print spooler. However, depending on the specifications of PC 101, the display time of the installation screen 501 may be longer compared to a new installation or update installation. For this reason, application 401 may not restart the spooler and instead guide the user to restart the PC in accordance with the operating specifications of the OS. Also, if the module to be updated is not a driver module held by the print spooler, application 401 may skip uninstallation of installed drivers S1603 and spooler restart S1604.
[0084] In this embodiment, an example is shown where the defect level or response level in Figure 13 is set to three stages, but it is not limited to this. For example, the number of stages between the defect level and the response level may be increased or decreased. Also, the defect level and the response level do not have to be set to the same stage.
[0085] Furthermore, in this embodiment, an example is shown in Figure 13 where the corresponding level is linked to the processing content of application 401, but this is not the only example. For example, the processing content of corresponding levels 3 and 2 may be reversed, or they may be changed to different processing content.
[0086] Furthermore, while this embodiment shows an example where the defect history information 1101 is included in the same package as the application 401, it is not limited to this. For example, the defect history information 1101 may be managed on a web server, and the application 401 may access the server via the network to refer to or automatically download the contents and obtain the information.
[0087] <Other Embodiments> The embodiments described above describe the process during driver update installation, but are not limited to this. For example, the embodiments may also be applied to general software update installations on a PC equipped with a fast startup function. Furthermore, the embodiments described above are also valid when installing software for the first time, rather than as an update.
[0088] The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
Claims
1. A first program, An information processing device having a predetermined function for putting the information processing device into a hibernation state without completely shutting down the information processing device when a shutdown operation is performed on the information processing device, the information processing device being put into a hibernation state without completely shutting down when the shutdown operation is performed on the information processing device when the predetermined function is enabled, and the information processing device being completely shut down when the shutdown operation is performed on the information processing device when the predetermined function is not enabled, a processing step of executing a process for installing a second program different from the first program; a determination step of determining whether or not the predetermined function is enabled in the information processing device; a notification step of executing a predetermined notification for notifying a user to reboot the information processing device based on the determination that the predetermined function is enabled in the information processing device; A program characterized by executing the above.
2. The program described in Claim 1, characterized in that when it is determined that the specified function is disabled in the information processing device, the specified notification is not executed.
3. A display control step of displaying a selection screen for receiving a selection from a user as to whether or not to restart the information processing device after a process for installing the second program is executed; a restart step of executing a process for restarting the information processing device based on a selection of restarting the information processing device being made on the selection screen; Then, the predetermined notification is executed based on a selection of not rebooting the information processing device being made on the selection screen and based on a determination that the predetermined function is enabled in the information processing device.
3. The program according to claim 1 or 2.
4. The program described in Claim 3, characterized in that when a selection to restart the information processing device is made on the selection screen, a process for restarting the information processing device is executed without executing the specified notification, regardless of whether the specified function is enabled in the information processing device.
5. The program described in Claim 3 or 4, characterized in that when a selection is made on the selection screen not to restart the information processing device and it is determined that the specified function is not enabled in the information processing device, the specified notification is not executed.
6. The program described in any one of claims 1 to 5, characterized in that the specified function is a fast startup function.
7. The program described in any one of claims 1 to 6, characterized in that the specified function is a function for speeding up startup of the information processing device after a shutdown operation of the information processing device has been performed.
8. The program described in any one of claims 1 to 7, characterized in that the first program is an installer for installing the second program.
9. The program according to claim 1, wherein the second program is a printer driver.
10. The method further comprises a second processing step of executing a process for installing a third program different from the first program and the second program; 10. The program according to claim 1, wherein the predetermined notification is also executed by the third program.
11. The program described in Claim 10, characterized in that the third program executes the specified notification based on the passage of a specified time.
12. The program described in claim 10 or 11, characterized in that the screen displayed by the specified notification executed by the first program is different from the screen displayed by the specified notification executed by the third program.
13. The program described in Claim 12, characterized in that the screen displayed by the specified notification executed by the second program includes an area for accepting from the user a choice of whether or not to restart the information processing device.
14. A method for controlling an information processing device having a first program and a predetermined function for putting the information processing device into a hibernation state without completely shutting down the information processing device when a shutdown operation is performed on the information processing device, the information processing device going into a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device with the predetermined function enabled, and completely shutting down the information processing device when the shutdown operation is performed on the information processing device with the predetermined function not enabled, comprising: a processing step of executing a process for installing a second program different from the first program; a determination step of determining whether or not the predetermined function is enabled in the information processing device; a notification step of executing a predetermined notification for notifying a user to reboot the information processing device based on the determination that the predetermined function is enabled in the information processing device; A control method comprising the steps of:
15. An information processing device having a first program and a predetermined function which is a function for putting the information processing device into a hibernation state without completely shutting down the information processing device when a shutdown operation is performed on the information processing device, the information processing device going into a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device when the predetermined function is enabled, and the information processing device going into a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device when the predetermined function is not enabled, a processing means for executing a process for installing a second program different from the first program; a determination means for determining whether the predetermined function is enabled in the information processing device; a notification means for executing a predetermined notification for notifying a user to reboot the information processing device based on the determination that the predetermined function is enabled in the information processing device; 13. An information processing device comprising:
