Information processing device, control method, and program
The information processing device and method address the challenge of improper device driver installation by determining and notifying users of necessary restarts, ensuring proper updates and minimizing reboots in environments with fast startup functions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2026-01-23
- Publication Date
- 2026-04-21
AI Technical Summary
Existing device driver installation processes often require users to manually determine whether a system restart is necessary, which can lead to improper installation or non-updates due to the user's lack of specialized knowledge, especially in environments with fast startup functions.
An information processing device and method that determines the need for a restart based on the installation process and notifies users appropriately, using a hibernation state when necessary and displaying prompts to ensure complete shutdowns for updates, with periodic reminders if the user declines immediate restarts.
Ensures proper installation and updating of device drivers by informing users when a restart is required, even in environments with fast startup functions, and minimizes unnecessary reboots through automated notifications.
Smart Images

Figure 2026067944000001_ABST
Abstract
Description
Technical Field
[0006] , , , ,
[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 make the device driver operate normally, it is common to restart the OS (Operating System) and let the OS perform the system initialization process. Further, Patent Document 1 describes a 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.
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 appropriately install software.
[0005] Therefore, an object of the present invention is to appropriately install software.
Means for Solving the Problems
[0006] A program according to one embodiment of the present invention is a first program that causes an information processing device having 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 computer of the information processing device which, when a shutdown operation is performed on the information processing device while the predetermined function is enabled, enters a hibernation state without completely shutting down the information processing device, and when the shutdown operation is performed on the information processing device while the predetermined function is not enabled, completely shuts down the information processing device, to execute a first display control step which displays a first screen for receiving instructions from a user on whether or not to restart the information processing device; a first execution step which, when an instruction indicating to restart the information processing device is received on the first screen, executes the restart of the information processing device; and a second display control step which, when an instruction indicating not to restart the information processing device is received on the first screen and the predetermined function is enabled, displays a second screen different from the first screen which prompts the restart of the information processing device, and when an instruction indicating not to restart the information processing device is received on the first screen and the predetermined function is not enabled, the second screen is not displayed. [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, the installation process of a conventional device driver will be described. When performing the installation process of a device driver, it is a general and safe means to restart the OS to make the device driver operate normally and to cause the OS to perform system initialization processing. At this time, it is conceivable to display a selection instruction screen (see Fig. 6(a)) on the computer screen to allow the user to select whether to restart immediately or later at the end of the installer.
[0011] When the user wants to avoid restarting, the user selects and instructs the computer via the above-mentioned selection instruction screen to restart after the necessary processing is completed, 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 it is desired to avoid restarting as much as possible at the end of the installation process. On the other hand, in the installation of a device driver, there are 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 judging whether a restart is necessary. Therefore, there is a problem that the user has to judge whether a restart of the system is necessary entirely by himself / herself. Also, in order to judge whether a restart of the system is necessary or not, specialized knowledge such as the OS, the device driver, or the services provided by the system is required, and it is difficult for ordinary users to judge independently.
[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. Conversely, even when a restart is not necessary, there is a risk that the user cannot judge this and the system will be restarted unnecessarily.
[0014] Furthermore, in the Windows (registered trademark) operating system, a function called fast startup has been available since Windows 8 (registered trademark) and later. By enabling the fast startup function, when shutting down a Windows PC due to a shutdown operation, it is possible to put the PC into a sleep state instead of a complete shutdown (a shutdown that completely turns off the power). By leaving the PC in the sleep state, it can be started up faster than usual when the PC is started up next time. When a shutdown operation is performed with the fast startup function disabled, a complete shutdown is executed.
[0015] However, in the case of an operating system environment where fast startup is functioning, if the user rejects the immediate restart of the PC presented by the installer and performs a shutdown operation, there is a risk that the installed driver will not be updated. As described above, this is because when the fast startup function is enabled, even if a shutdown operation is performed, a complete shutdown is not executed. Even when the fast startup function is enabled, when a restart operation is performed, a complete shutdown is executed at the time of restart. Therefore, in the above case, unless the user restarts (completely shuts down) the PC, the driver update will remain unapplied.
[0016] Therefore, in the following embodiments, a method for preventing the problem that the device driver cannot be normally updated and installed by notifying the user that "restart" of the PC is required in a PC in which the fast startup function is enabled will be described.
[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, we will explain how to switch the installation sequence or the method of guiding the PC restart depending on the severity of the remaining faults in the installed device driver, even in the use cases described above. Note that we will omit explanations of configurations that overlap with Embodiment 1.
[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 defect history information 1101. For example, a defect in version v1.5.70 where an error occurs only when printing on a specific paper type is listed as defect 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. The first program is, An information processing device having 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, wherein the computer of the information processing device enters a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device while the predetermined function is enabled, and completely shuts down when the shutdown operation is performed on the information processing device while the predetermined function is not enabled. A first display control step that displays a first screen for receiving instructions from the user regarding whether or not to restart the information processing device, When an instruction to restart the information processing device is received on the first screen, a first execution step is performed to restart the information processing device, A second display control step, in which, upon receiving an instruction on the first screen indicating that the information processing device should not be restarted, and if the predetermined function is enabled, a second screen different from the first screen, prompting the restart of the information processing device, Make it run, A first program characterized in that, when an instruction is received on the first screen indicating that the information processing device should not be restarted, and the predetermined function is not enabled, the second screen is not displayed.
2. The first program according to claim 1, characterized in that the first screen is displayed after a process for installing a second program different from the first program has been performed.
3. The first program according to claim 1, characterized in that the first screen and the second screen are screens that prompt the restart of the information processing device.
4. The first program according to claim 1, characterized in that the second screen is a screen for notifying that a restart of the information processing device is required, rather than the shutdown operation, in order to apply a second program different from the first program to the information processing device.
5. The first program according to claim 1, characterized in that, if the restart of the information processing device is instructed on the first screen or the second screen, the information processing device completely shuts down and then restarts.
6. The first program according to claim 1, characterized in that the first program is a driver installer.
7. The first program according to claim 4, characterized in that the second program is a device driver.
8. The first program according to claim 1, characterized in that the second screen includes a message indicating that the predetermined function is enabled in the information processing device.
9. The first program according to claim 1, characterized in that when the computer of the information processing device receives an instruction on a third screen different from the first screen and the second screen to restart the information processing device, it further performs a second execution step of restarting the information processing device.
10. The first program according to claim 9, characterized in that the third screen is displayed by an application different from the first program after receiving user instructions for the second screen.
11. The first program according to claim 10, characterized in that the third screen is redisplayed at regular time intervals until the information processing device is restarted.
12. The first program according to claim 1, characterized in that the predetermined function is a high-speed startup function that shortens the next startup time by transitioning the information processing device to a hibernation state without completely shutting it down when the shutdown operation is performed on the information processing device.
13. The first program according to claim 9, characterized in that the third screen includes a first option for receiving a first instruction indicating to immediately restart the information processing device, a second option for receiving a second instruction indicating to restart the information processing device at a later date, and a checkbox for specifying that notifications on the third screen should not be displayed in the future.
14. The first program according to claim 13, wherein, in the third screen, with the checkbox enabled, an instruction is given by the second option to restart the information processing device later, the application displaying the third screen does not redisplay the third screen based on the passage of the certain time interval by deleting from the information processing device the information used to redisplay the third screen at certain time intervals.
15. The first program according to claim 9, wherein the application that displays the third screen registers time information indicating the time when the display of the second screen ended in the registry within the information processing device, retrieves the time information from the registry, and displays the third screen when it determines that the elapsed time from the time indicated by the time information to the current time is greater than or equal to a predetermined time.
16. An information processing device having a predetermined function which is a function for putting the information processing device into a hibernation state without completely shutting it down when a shutdown operation is performed on the information processing device, and a control method for the information processing device which, when a shutdown operation is performed on the information processing device while the predetermined function is enabled, puts the information processing device into a hibernation state without completely shutting it down, and when a shutdown operation is performed on the information processing device while the predetermined function is not enabled, completely shuts down the information processing device. A first display control step that displays a first screen for receiving instructions from the user regarding whether or not to restart the information processing device, When an instruction to restart the information processing device is received on the first screen, the execution step of restarting the information processing device is performed. A second display control step, in which, upon receiving an instruction on the first screen indicating that the information processing device should not be restarted, and if the predetermined function is enabled, a second screen different from the first screen, prompting the restart of the information processing device, It has, A control method performed by a computer, characterized in that, when an instruction is received on the first screen indicating that the information processing device should not be restarted, and the predetermined function is not enabled, the second screen is not displayed.
17. An information processing device having 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, wherein the information processing device enters a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device while the predetermined function is enabled, and completely shuts down when the shutdown operation is performed on the information processing device while the predetermined function is not enabled. A first display control means that displays a first screen for receiving instructions from the user regarding whether or not to restart the information processing device, An execution means that, upon receiving an instruction on the first screen to restart the information processing device, executes the restart of the information processing device, A second display control means that, upon receiving an instruction on the first screen indicating that the information processing device should not be restarted, and when the predetermined function is enabled, displays a second screen different from the first screen that prompts the restart of the information processing device, It has, An information processing device characterized in that, when an instruction indicating not to restart the information processing device is received on the first screen, and the predetermined function is not enabled, the second screen is not displayed.
Citation Information
Patent Citations
JP277253A