Information processing device, control method, and program
A program determines reboot needs for device driver installation and provides timely notifications to ensure correct updates, addressing user judgment challenges and Fast Startup issues.
Patent Information
- Application Number
- JP2021201545
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-13
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2041-12-13
AI Technical Summary
Existing device driver installation methods require user judgment on system reboot necessity, which is challenging for average users and can lead to improper system operation or incomplete driver updates due to features like Fast Startup in Windows OS.
A program that determines the need for a reboot based on device driver installation and notifies users appropriately, including periodic reminders through a resident application if the Fast Startup feature is enabled.
Ensures proper installation of device drivers by informing users when a reboot is necessary, even if they decline immediate restarts, thereby preventing incomplete updates.
Smart Images

Figure 0007814907000001 
Figure 0007814907000002 
Figure 0007814907000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for installing a device driver. [Background technology]
[0002] When installing a device driver, it is common to restart the OS (Operating System) and have the OS perform system initialization as a safe means to ensure that the device driver operates normally. Patent Document 1 also describes a method for reducing unnecessary restarts by determining whether a restart is necessary depending on the update content when installing a device driver on a computer. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-277253 Summary of the Invention [Problem to be solved by the invention]
[0004] There is a need for techniques to properly install software.
[0005] Therefore, an object of the present invention is to properly install software. [Means for solving the problem]
[0006] A program according to one aspect of the present invention includes: a first program for executing a process to install a second program different from the first program on a computer of 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 in 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 being completely shut down when the shutdown operation is performed on the information processing device while the predetermined function is not enabled; a determination step for determining whether the predetermined function is enabled in the information processing device; and a notification step for executing a predetermined notification to notify a user to restart the information processing device based on the determination that the predetermined function is enabled in the information processing device. It is characterized by: [Effects of the Invention]
[0007] According to the present invention, software can be installed appropriately. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating a system configuration. [Figure 2] FIG. 1 is a diagram illustrating an example of a hardware configuration of an image processing apparatus. [Figure 3] FIG. 2 is a diagram illustrating an example of a hardware configuration of a device connected to the image processing apparatus. [Figure 4] FIG. 2 is a diagram illustrating an example of a software configuration of the image processing apparatus. [Figure 5] FIG. 10 is a diagram illustrating an example of a UI screen displayed by an application. [Figure 6] FIG. 10 is a diagram illustrating an example of a message box displayed by an application. [Figure 7] FIG. 10 is a diagram illustrating an example of a pop-up displayed by a resident application. [Figure 8] 10 is a flowchart showing the overall processing flow of an application. [Figure 9] 10 is a flowchart showing the flow of an application restart notification process S802. [Figure 10] 10 is a flowchart showing the overall flow of a resident application. [Figure 11] FIG. 2 is a diagram illustrating a software configuration of the image processing apparatus. [Figure 12] FIG. 10 is a diagram illustrating an example of defect history information. [Figure 13] FIG. 10 is a diagram showing driver defect levels and response levels. [Figure 14] 10 is a flowchart showing the overall processing flow of an application. [Figure 15] 10 is a flowchart showing the flow of a response level determination process. [Figure 16] 10 is a flowchart showing the flow of a driver installation process. [Figure 17] 10 is a flowchart showing the flow of a restart notification process. DETAILED DESCRIPTION OF THE INVENTION
[0009] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the present invention. Furthermore, not all of the combinations of features described in the present embodiments are necessarily essential to the solution of the present invention.
[0010] Before describing this embodiment, a conventional device driver installation process will be described. When a device driver is installed, a common and safe method is to restart the OS and have the OS perform system initialization to ensure that the device driver operates normally. In this case, when the installer is finished, a selection prompt screen (see FIG. 6(a)) may be displayed on the computer screen, prompting the user to select whether to restart immediately or later.
[0011] If a user wants to avoid rebooting the computer, the user can select and instruct the computer to reboot after the necessary processing is completed via the selection prompt screen described above, thereby preventing the computer from rebooting after the installation process is complete. This situation occurs, for example, when installing a device driver on a computer that runs all day, and you want to avoid rebooting the computer as much as possible when the installation process is complete. However, there are also cases where, depending on the conditions, system operation is guaranteed without rebooting the computer during device driver installation.
[0012] However, systems in which device drivers are installed uniformly display a fixed reboot instruction input screen without determining whether a reboot is necessary. This poses a problem in that users must make their own judgment on whether or not to reboot the system. Another problem is that determining whether or not a system reboot is necessary requires specialized knowledge of the OS, device drivers, or the services provided by the system, making it difficult for average users to make such a judgment on their own.
[0013] Furthermore, if a user operates a computer without properly determining whether a reboot is necessary, the system may not operate properly as a result of not rebooting the computer even when a reboot is necessary. Conversely, even when a reboot is unnecessary, the user may not be able to determine this and may end up rebooting the system unnecessarily.
[0014] Furthermore, the Windows® OS has had a feature called Fast Startup since Windows 8®. By enabling the Fast Startup feature, when a Windows PC is shut down due to a shutdown operation, it can be put into hibernation mode instead of a complete shutdown (a shutdown that completely turns off the power). By putting the PC into hibernation mode, the PC can start up faster than usual the next time it is started. However, if a shutdown operation is performed without the Fast Startup feature enabled, a complete shutdown will be performed.
[0015] However, in an OS environment where fast startup is enabled, if the user declines the immediate PC restart suggested by the installer and instead performs a shutdown operation, the installed driver may remain unupdated. 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. However, even if the fast startup function is enabled, if a restart operation is performed, a complete shutdown is performed upon restart. Therefore, in the above case, the driver update will remain unapplied unless the user restarts (performs a complete shutdown) the PC.
[0016] Therefore, in the following embodiment, a method is described for preventing the problem of device drivers not being updated and installed correctly by notifying the user that a "restart" of the PC is required on a PC with the fast startup function enabled.
[0017] <Embodiment 1> FIG. 1 is a block diagram showing an example of the configuration of a network system including an information processing device (PC 101). In the system shown in FIG. 1, PC 101, 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 external network 105 via router 103. Device 102 is a peripheral device such as a printer, copier, facsimile, or scanner, or a device with a combination of these functions. PC 101 can control device 102 by installing the respective drivers.
[0018] The 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). It also supports the LLMNR (Link-Local Multicast Name Resolution) protocol, which enables name resolution of nearby network devices. The user can enable or disable the WSD function or LLMNR function of the device 102 by directly operating the device 102. The router 103 has a DHCP (Dynamic Host Configuration Protocol) server function and assigns IP addresses to the PC 101 and the device 102.
[0019] FIG. 2 is a hardware configuration diagram of the PC 101. The PC 101 includes 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. These components are interconnected via a bus 209. The monitor 201 displays a user interface (hereinafter, UI) of an application such as an application 401 or a driver. The CPU 202 loads a program such as an application or driver stored in the ROM 203 or the auxiliary storage device 205 into the RAM 204 and executes the loaded program. The ROM 203 stores basic software such as a BIOS or various programs for implementing processes executed by the PC 101. The RAM 204 temporarily stores software such as applications and drivers, or data used by them. The auxiliary storage device 205 is, for example, a hard disk. The auxiliary storage device 205 stores software (programs) such as an OS, applications, drivers, and various modules. The drivers stored in the auxiliary storage device 205 include device drivers (such as a scanner driver, printer driver, or facsimile driver) that control the device 102. The drivers stored in the auxiliary storage device 205 also include a display control driver that controls the display on the monitor 201, a keyboard driver that controls the keyboard 206, and a pointing device driver that controls the pointing device 207. The drivers stored in the auxiliary storage device 205 also include a network driver that controls communication with the network board 208. The applications stored in the auxiliary storage device 205 include an application 401 shown in FIG. 4. The application 401 has a device search function based on TCP / IP. The application 401 may call a module having the search function and execute the function. The search function and the information setting function may be provided in separate modules. The keyboard 206 and the pointing device 207 are input devices for inputting instructions from the user.The network board 208 communicates with devices via a network.
[0020] 3 shows an example of the hardware configuration when the device 102 is a printer. The device 102 includes a CPU 301, a ROM 302, a RAM 303, a communication unit 304, a recording unit 305, an operation unit 306, and a display unit 307. The various components that make up the device 102 are connected to each other via a bus 308. The CPU 301 is, for example, a microprocessor.
[0021] The CPU 301 functions as the central processing unit of the device 102. The CPU 301 loads programs stored in the ROM 302 into the RAM 303 and executes the loaded programs to control the communication unit 304, the recording unit 305, the operation unit 306, and the display unit 307. The ROM 302 stores various programs for realizing processes executed by the device 102. The RAM 303 is used as a work area for the CPU 301. The RAM 303 temporarily stores various data. The communication unit 304 communicates with other devices via a network. The recording unit 305, for example, prints image data on a recording medium such as paper.
[0022] The operation unit 306 is composed of an input device such as a button 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 includes other components instead of or in addition to the recording unit 305. For example, if the device 102 is a scanner, the device 102 includes a reading unit that reads an image on a document as another component.
[0023] 4 is a block diagram showing the software configuration of the PC 101. As shown in FIG. 4, the PC 101 includes an application 401, a driver INF file 402, a printer driver 403, a scanner driver 404, and a fax driver 405.
[0024] The application 401 is a driver installer that searches for devices 102 connected to the PC 101 and displays information about the detected devices on the monitor 201. Then, the application 401 installs in the PC 101 a driver for a device that corresponds to information selected by the user from the displayed information.
[0025] The driver INF file 402 includes the device model corresponding to the driver (printer driver 403, scanner driver 404, or fax driver 405) that the application 401 installs.
[0026] 4 is implemented by the CPU 202 of the PC 101 reading and executing the application 401 stored in the auxiliary storage device 205. In this embodiment, the application 401 searches for devices within the same network and displays the detected devices on the monitor 201 provided in the PC 201. On the other hand, if no devices within the same network can be found, the application 401 displays on the monitor 201 a message that no devices were detected.
[0027] The driver installation unit 406 installs a driver. The driver that the driver installation unit 406 installs varies depending on the type of device. For example, if the device is a printer, the application 401 installs a printer driver 403 in the PC 101. If the device is a scanner, the application 401 installs a scanner driver 404 in the PC 101. If the device is an MFP (Multi-Function Printer), the application 401 installs a printer driver 403, a scanner driver 404, and a fax driver 405 in the PC 101.
[0028] The reboot determination unit 407 determines whether rebooting the PC 101 is necessary when installing a device driver. Then, based on the result of the determination, a guide screen urging the user to reboot is displayed on the monitor 201 of the PC 101. The unit also communicates with the device 102 to identify the type of port that can be created in the PC 101. The resident application 408 is a resident application that notifies the user of the PC reboot guide at regular intervals if the user rejects the prompt to immediately reboot the PC 101 displayed by the installer.
[0029] 5A and 5B are diagrams showing examples of UI screens displayed by application 401. The screen in Fig. 5A is displayed when application 401 is executing the processing of driver installation unit 406 or restart determination unit 407. Installation in progress screen 501 includes internal processing status 502 that indicates the status of internal processing. For example, when application 401 is executing the processing of driver installation unit 406, internal processing status 502 displays a message such as "Driver installation in progress..." and a progress bar 503.
[0030] 5(b) is a diagram showing an installation completion screen 504 that is displayed when the internal processing of FIG. 5(a) is completed. For example, when the processing of the driver installation unit 406 is completed, an installation completion message 505 is displayed in the installation completion screen 504. The installation completion screen 504 may be displayed as a screen different from the installation in progress screen 501, or the same screen as the installation in progress screen 501 may be displayed with different display content, and this screen may be used as the installation completion screen 504. Furthermore, when the user presses the "Exit" button 506 or the x button in the upper right corner of the installation completion screen 504, the application 401 executes processing in the restart determination unit 407.
[0031] FIG. 6 is a diagram showing an example of a message box displayed by the application 401. If the application 401 executes the restart determination unit 407 and determines that the PC 101 needs to be restarted, it displays a PC restart selection message 601 shown in Fig. 6(a). On the other hand, if the application 401 executes the restart determination unit 407 and determines that the PC 101 does not need to be restarted, the application 401 closes the installation completion screen 504.
[0032] FIG. 6B shows an example of a message box displayed by the application 401. Specifically, this message is displayed when the fast startup feature of the PC 101 is enabled and the user presses the "No" button 603 in the PC restart selection message 601 or the "X" button in the upper right corner of the screen. This message notifies the user that the driver update to the latest version requires a "restart" of the PC 101, rather than a "shutdown." In other words, this message prompts the user to perform an operation to "restart" the PC 101. In yet another way, this message notifies the user that the driver update to the latest version will not be performed until the PC 101 is "restarted." Note that this message box may also include a message notifying the user that the fast startup feature of the PC 101 is enabled. This is because, in a PC with the "fast startup feature" enabled in its system settings, a "shutdown" results in a "hibernation" state, and a "complete shutdown" required for applying the update installation is not performed. Note that a "restart" involves a complete shutdown of the PC, so the update installation is applied.
[0033] 7 shows an example of a PC restart notification pop-up 701 displayed by the resident application 408. The PC restart notification pop-up 701 is a pop-up that the resident application 408 periodically displays to the user to prompt the user to restart the PC after the user presses the "OK" button or the x button in the upper right corner of the screen in the PC restart selection message 604. When the user presses the "Restart Now" button 702, the resident application 408 terminates and restarts the PC 101. When the user presses the "Restart Later" button 703 or the x button in the upper right corner of the screen, the resident application 408 closes the PC restart notification pop-up 701. When a certain interval (e.g., 30 minutes) has elapsed since the resident application 408 closed the PC restart notification pop-up 701, the resident application 408 redisplays the PC restart notification pop-up 701. If the user enables check box 704 and presses the "Restart Later" button 703 in the PC restart notification pop-up 701, the resident application 408 will not redisplay the PC restart notification pop-up 701 even after a certain interval has elapsed.
[0034] 8 is a flowchart showing the processing from when application 401 is launched to when it is terminated. This flowchart shows the processing executed by each function of application 401. In other words, the processing is realized by CPU 202 expanding a program stored in auxiliary storage device 205 of PC 101 into RAM 204 and executing it. Note that the symbol "S" in the explanation of each process indicates a step in the flowchart, and this also applies to Figure 8 and subsequent figures.
[0035] This flowchart starts when a user executes an update installation operation for a printer driver 403, a scanner driver 404, a fax driver 405, or the like.
[0036] In S801, the application 401 displays the installation in progress screen 501. Then, the application 401 executes the driver installation process. The driver installation process is performed by the driver installation unit 406. After S801, the application 401 switches the UI screen from the installation in progress screen 501 to the installation completion screen 504. When the user presses the "Exit" button or the x button in the upper right corner of the installation completion screen 504 on the installation completion screen 504, the process proceeds to S802. Note that when the driver installation process is completed in FIG. 5(a), the process may proceed to S802 without displaying the installation completion screen 504 of FIG. 5(b).
[0037] In S802, the application 401 closes the installation completion screen 504 (or the installation in progress screen 501) and executes restart notification processing. Detailed processing of S802 will be described later with reference to Fig. 9. After S802, the application 401 ends the processing of this flow.
[0038] 9 is a flowchart showing the details of the restart guidance process of FIG. 8. First, in S901, the restart determination unit 407 determines whether the PC 101 needs to be restarted in order to apply the update contents as a result of installing a driver in the driver installation process. Here, the determination of whether a restart is necessary may be made by the restart determination unit 407 acquiring from the PC 101 "PC restart required information" created based on whether driver installation was necessary in a similar update process in the past, for example. If it is determined that a PC restart is not necessary (if NO is determined in S901), the restart determination unit 407 ends the process of FIG. 9. On the other hand, if the PC 101 needs to be restarted (if YES is determined 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 the PC restart selection message 601, the restart determination unit 407 proceeds to S904 and immediately restarts the PC 101. After S904, the restart determination unit 407 ends this flow.
[0040] On the other hand, 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 in S903, the process proceeds to S905.
[0041] In S905, the restart determination unit 407 determines whether the fast startup function of the PC 101 is enabled. This determination may be made, for example, by the restart determination unit 407 acquiring from the PC 101 "fast startup function status information" that describes the current status of the fast startup function of the PC 101. If in S905 the fast startup function of the PC 101 is disabled or not supported, the restart determination unit 407 ends this flow. On the other hand, if the fast startup function of the PC 101 is enabled in S905, the process proceeds to S906.
[0042] In S906, the restart determination unit 407 displays a PC restart prompt message 604 on the monitor 201. When the user presses the "OK" button 605 in response to the PC restart prompt message 604 or the x button in the upper right corner of the screen, the restart determination unit 407 closes the PC restart prompt message 604. After the PC restart prompt message 604 is closed in S906, in S907 the restart determination unit 407 registers current time information in a registry in the PC 101 so that the resident application 408 can periodically display a PC restart notification pop-up.
[0043] In S908, the restart determination unit 407 installs the resident application 408. After the installation process of the resident application 408, the resident application 408 is started and registered as a startup application or a service of the OS, thereby realizing resident start-up. After S908, the restart determination unit 407 ends this flow.
[0044] 10 is a flowchart showing the processing flow of the resident application 408 installed by the application 401. This flowchart shows the processing executed by the resident application 408. That is, the processing is realized by the CPU 202 expanding a program stored in the auxiliary storage device 205 of the PC 101 into the RAM 204 and executing it.
[0045] First, in S1001, the resident application 408 is started up. The resident application 408 is started up after the application 401 performs the installation process for the resident application 408 in S908, or by an OS function when the PC 101 is started up.
[0046] In S1002, the resident application 408 acquires the time information registered by the application 401 from the registry in the PC 101. If the time information is not registered in the registry and cannot be acquired in S1002, the process proceeds to S1010. On the other hand, if the time information is registered in the registry in S1002, the process proceeds to S1003. In S1003, the resident application 408 checks the elapsed time from the time registered in the registry. If a certain 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 pop-up 701 on the monitor 201. In S1005, if the user presses the "Restart Now" button 702 on the PC restart notification pop-up 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 pop-up 701 or the x button in the upper right corner of the screen, the process proceeds to S1007.
[0048] In S1006, the resident application 408 instructs the PC 101 to immediately restart, and the process proceeds to S1010. In S1007, the resident application 408 checks the status of the "Do not display notifications in the future" checkbox 704. That is, in S1006, if the user checks the "Do not display notifications in the future" checkbox 704 and presses the "Restart later" button 703, the process proceeds to S1009 after this step.
[0049] On the other hand, if the user presses the "Restart Later" button 703 without checking the "Don't show notifications again" checkbox 704, 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 then proceeds to S1010. In S1009, the resident application 408 deletes the time information registered in the registry, and then proceeds to S1010.
[0050] In S1010, the resident application 408 determines whether the PC 101 has been shut down or restarted. If the PC 101 has been shut down or restarted (i.e., if the determination is YES), the resident application 408 exits the loop processing and ends this flow. On the other hand, if the PC 101 has not been shut down or restarted (i.e., if the determination is NO), the resident application 408 returns to the beginning of the loop processing (S1001). In this embodiment, if the process proceeds to S1010 from S1002, S1008, or S1009, the determination at S1010 becomes NO, and the process proceeds to S1001. On the other hand, if the process proceeds to S1010 from S1007, the determination at S1010 becomes YES, and this flow ends. Note that the resident application 408 may stop resident startup upon completion of this flow.
[0051] As described above, according to this embodiment, a device driver can be successfully updated and installed. Specifically, when application 401 determines that a PC restart is necessary to successfully update and install a driver, it checks whether the fast startup function of the PC is enabled. This notifies a user who is 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 declines an immediate restart, resident application 408 or the like periodically displays a pop-up notification that the PC will be restarted, thereby preventing the user from forgetting to restart the PC.
[0052] In this embodiment, the PC reboot notification pop-up 701 includes a check box 704 for "Do not display this notification in the future," but the present invention is not limited to this. For example, a check box with a similar function may be provided in the PC reboot prompt message 604.
[0053] In addition, in this embodiment, an example has been shown in which the PC restart notification pop-up 701 is displayed from the resident application 408 included with the application 401, but this is not limiting. For example, the notification pop-up may be displayed from another application already installed in the PC 101, or if the OS built into the PC 101 is equipped with a pop-up display function that allows the display content or display interval to be specified, that function may be used.
[0054] Furthermore, when updating and installing two drivers, for example, a printer driver 403 and a scanner driver 404, the resident application 408 may manage restart notifications related to multiple driver installations in a single startup.
[0055] In the above description, S907 and S908 are executed after S906 as part of the processing of the application 401, but the processing may end without executing S907 and S908. Accordingly, the processing of the resident application 408 shown in FIG. 10 may not be executed.
[0056] <Embodiment 2> According to the description of the first embodiment, it is possible to notify a user who is unaware that the fast startup function is enabled that a driver update installation cannot be performed by shutting down the PC. Furthermore, even if the user refuses an immediate restart, a resident application or the like can periodically display a pop-up notification to restart the PC, thereby preventing the user from forgetting to restart the PC.
[0057] In this embodiment, the following use case is further assumed. That is, for example, when the problem with an already installed driver is minor (for example, when a character is missing from the driver's UI (User Interface) text). When the problem with the installed driver is serious (for example, when an error occurs in the device itself), the method of embodiment 1 is effective because a PC restart is required to install the driver correctly. However, when the problem with the already installed driver is minor, restarting the PC does not affect the use of the device driver even if an update installation is not performed correctly. Furthermore, frequently prompting the user to restart the PC with pop-ups or the like may be annoying for some users.
[0058] In this embodiment, even in the above-mentioned use case, a method for switching the installation sequence or the PC restart guidance method depending on the severity of the fault remaining in the installed device driver will be described. Note that a description of the configuration that overlaps with the first embodiment will be omitted.
[0059] 11 is a block diagram showing the software configuration of the PC 101 that communicates with the device 102 in this embodiment. The fault history information 1101 is an external file that manages information about faults that have occurred in device drivers in the past. The fault information is a step-by-step correspondence between the severity of the fault (hereinafter referred to as the fault level), the version in which the fault occurred, and the content of the fault. The fault history information acquisition unit 1102 acquires the fault level and the version in which the fault occurred that are registered in the fault history information 1101.
[0060] A driver version acquisition unit 1103 acquires version information of device drivers already installed in the PC 101. The acquired version information of the installed drivers is the same as the device name registered in the driver INF file 402. A support level determination unit 1104 determines the support level of the application 401 based on the defect level of the installed driver, the version information of the installed driver, and the status of the fast startup function of the PC 101.
[0061] 12 is a diagram showing an example of the defect history information 1101. For example, in version v1.5.70, a defect in which an error occurs only when printing on a specific paper type is recorded as defect level 2.
[0062] 13A and 13B are diagrams showing conditions for determining a support level and processing contents of an application according to the support level. Fig. 13A is a table showing an example of conditions for the application 401 to determine the support level of the support level determination unit 1104 in this embodiment.
[0063] 13(b) is a table showing an example of processing details for each response level performed by the application 401 in this embodiment. As shown in FIGS. 13(a) and 13(b), the response levels are set in stages based on the defect level of the installed driver and the fast startup function, and are divided into three stages in this embodiment. The application 401 handles defects by executing processing according to the response level.
[0064] 14 is a flowchart showing the flow of processing from when the application 401 is launched to when it is terminated in this embodiment. This flowchart shows processing executed by each function of the application 401. That is, this is realized when the CPU 202 loads a program stored in the auxiliary storage device 205 of the PC 101 into the RAM 204 and executes it.
[0065] This flow starts when the user starts the application 401. In S1401, the application 401 displays an installation screen 501 and determines the support level.
[0066] Next, in step S1402, the application 401 installs the device driver. When the installation is complete, the application 401 switches the UI screen from the installation in progress screen 501 to an installation complete screen 504.
[0067] When the user presses the "Exit" button 506 or the x button in the upper right corner of the screen on the installation completion screen 504, the application 401 closes the installation completion screen 504 and proceeds to S1403, where it executes a prompt to restart the PC 101. After S1403, the application 401 ends the processing of FIG. 14. The support level determined in S1401 is reflected in the driver installation processing and the action content during the restart notification processing in S1402 and S1403. The detailed processing flows of the support level determination processing, driver installation processing, and restart notification processing in FIG. 14 will be described below.
[0068] FIG. 15 is a flowchart showing the detailed flow of the support level determination process (S1401) in FIG.
[0069] First, in S1501, the application 401 determines whether the device driver to be installed has already been installed on the PC 101. If the device driver has not been installed, the application 401 ends the processing in Fig. 15. On the other hand, if the device driver has already been installed, the process proceeds to S1502.
[0070] In S1502, the defect history information acquisition unit 1102 acquires defect information from the defect history information 1101. In S1503, the driver version acquisition unit 1103 acquires version information from the installed driver installed in the PC 101.
[0071] Next, in S1504, S1505, and S1506, the support level determination unit 1104 determines the defect level when the version of the installed driver matches the version information included in the defect information. If the support level determination unit 1104 determines in S1504 that the defect level is 3 based on the version of the installed driver, it determines the support level to be 3 in S1507 and ends this flow. If it determines in S1504 that the defect level is not 3, it proceeds to S1505. In S1505, the support 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 support level determination unit 1104 determines whether the fast startup function of the PC 101 is enabled or disabled. If the fast startup function is enabled in S1508, the support level determination unit 1104 determines the support level to be 2 and ends the processing of FIG. 15. On the other hand, if the fast startup function is disabled in S1508, the compliance level determination unit 1104 determines the compliance level to be 1, and the flow ends.
[0072] Furthermore, if the support level determination unit 1104 determines in S1506 that the defect level is 1, the process proceeds to S1510, where the support level is set to 1, and this flow ends. 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 (NO in S1506), the support level determination unit 1104 ends this flow.
[0073] Fig. 16 is a flowchart showing the detailed processing flow of the driver installation process (S1402) in Fig. 14. First, in S1601, the driver installation unit 406 determines whether the result of the support level determination process S1401 is support level 3. If it is determined to be other than support level 3, the process proceeds to S1602, and if it is determined to be support level 3, the process proceeds to S1603. Note that the support level used in this step is the support level determined by the support level determination unit 1104 in S1401 and acquired by the driver installation unit 406.
[0074] In S1602, the driver installation unit 406 installs various drivers (printer driver 403, scanner driver 404, or fax driver 405) that are included with the application 401. After that, this flow ends.
[0075] On the other hand, if the determination in S1601 is YES, the driver installation unit 406 proceeds to S1603 and uninstalls the installed driver. In S1604, the application 401 restarts the print spooler. This is to avoid a situation in which a driver module already installed in the PC 101 holds the print spooler, and update installation cannot be properly applied unless the PC 101 is restarted. After S1604, in S1602, the driver installation unit 406 installs various drivers packaged with the application 401. Then, this flow ends.
[0076] FIG. 17 is a flowchart showing the detailed process flow of the restart notification process (S1403) in FIG.
[0077] First, in S1701, the restart determination unit 407 determines whether it is necessary to restart the PC 101 in order to update and install the driver as a result of the driver installation in the driver installation process S1402, similar to the process in S901 in Fig. 9. If it is determined that it is not necessary to restart the PC, the restart determination unit 407 ends this flow. On the other hand, if it is determined that it is necessary to restart the PC 101, 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 monitor 201 of the PC 101. If the user presses the "Yes" button 602 in the PC restart selection message 601 in S1703, the process proceeds to S1704, where the restart determination unit 407 immediately restarts the PC 101. Thereafter, the restart determination unit 407 ends this flow. On the other hand, if the user presses the "No" button 603 in the PC restart selection message 601 or the x button in the upper right corner of the screen in S1703, 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 other than 2 (if determined as NO in S1705), the restart determination unit 407 ends this flow. On the other hand, if the response level is 2 (if determined as YES in S1705), the process proceeds to S1706.
[0080] In S1706, the reboot determination unit 407 displays a PC reboot prompt message 604 on the monitor 201. When the user presses the "OK" button 605 in response to the PC reboot prompt message 604 or the x button in the upper right corner of the screen, the reboot determination unit 407 closes the PC reboot prompt message 604.
[0081] In S1707, the restart determination unit 407 registers current time information in a registry in the PC 101 so that the resident application 408 can periodically display a PC restart notification pop-up. After S1707, the restart determination unit 407 installs the resident application 408. The processing in the resident application 408 is the same as in FIG. 10. After S1708, the restart determination unit 407 ends this flow.
[0082] As described above, according to this embodiment, the application 401 changes the installation sequence or the method of informing the user about restarting the PC 101 depending on the compatibility level. This configuration can minimize the user's exposure to a problem with an installed driver, even if a problem remains in an old device driver already installed on the PC 101. Furthermore, this embodiment can minimize the number of times the user is re-notified by a message box or pop-up, compared to the first embodiment.
[0083] Furthermore, according to this embodiment, the application 401 executes uninstallation of the installed driver and restart of the print spooler as processing content for support level 3. However, depending on the specifications of the PC 101, the display time of the installation in progress screen 501 may be longer than that of a new installation or an update installation. For this reason, the application 401 may not restart the spooler but may instead guide the user to restart the PC in accordance with the operating specifications of the OS. Furthermore, if the module to be updated is a driver module other than that held by the print spooler, the application 401 may skip steps S1603 for uninstalling the installed driver and S1604 for restarting the spooler.
[0084] In this embodiment, the defect levels or response levels in Fig. 13 are set to three levels, but the present invention is not limited to this. For example, the number of levels of the defect levels and response levels may be increased or decreased. Furthermore, the defect levels and response levels do not have to be set to the same level.
[0085] 13, the example in which the response level and the processing content of the application 401 are linked is shown, but the present invention is not limited to this. For example, the processing content of response levels 3 and 2 may be reversed, or may be changed to different processing content.
[0086] Furthermore, in this embodiment, an example has been shown in which the defect history information 1101 is included in the same package as the application 401, but this is not limiting. For example, the defect history information 1101 may be managed on a web server, and the application 401 may access the server via a network to refer to the contents or automatically download the information to obtain it.
[0087] <Other embodiments> In the above-described embodiment, the process for updating and installing a driver has been described, but the present invention is not limited to this. For example, in a PC equipped with a fast startup function, the above-described embodiment may also be applied to updating and installing general software. The above-described embodiment is also effective when installing new software rather than updating it.
[0088] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
Claims
1. A first program, An information processing device has a predetermined function for putting the information processing device into a hibernation state without completely shutting down when a shutdown operation is performed on the information processing device, and the information processing device goes into 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 the information processing device goes into a hibernation state without completely shutting down when the shutdown operation is performed on the information processing device while 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 the predetermined function is enabled in the information processing device; a notification step of executing a predetermined notification for notifying a user to restart 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 following.
2. 2. The program according to claim 1, wherein the predetermined notification is not executed when it is determined that the predetermined function is disabled in the information processing device.
3. a display control step of displaying a selection screen for receiving a selection from a user as to whether or not to reboot the information processing device after the process for installing the second program has been executed; a restart step of executing a process for restarting the information processing device based on a selection to restart the information processing device being made on the selection screen; Then run the predetermined notification is executed based on a selection made on the selection screen not to reboot the information processing device and 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 to restart 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 according to claim 3 or 4, characterized in that if 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. 6. The program according to claim 1, wherein the predetermined function is a fast startup function.
7. 7. The program according to claim 1, wherein the predetermined function is a function for quickly starting up the information processing apparatus after a shutdown operation of the information processing apparatus has been performed.
8. 8. The program according to claim 1, wherein the first program is an installer for installing the second program.
9. 9. The program according to claim 1, wherein the second program is a printer driver.
10. 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. 11. The program according to claim 10, wherein the third program executes the predetermined notification when a predetermined time has elapsed.
12. The program according to claim 10 or 11, characterized in that the screen displayed by the predetermined notification executed by the first program is different from the screen displayed by the predetermined notification executed by the third program.
13. 13. The program according to claim 12, wherein the screen displayed by the predetermined notification executed by the second program includes an area for accepting a selection from the user as to whether or not to restart the information processing device.
14. A control method for 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 when a shutdown operation is performed on the information processing device, the method including: putting the information processing device into a hibernation state without completely shutting down when the shutdown operation is performed on the information processing device while the predetermined function is enabled; and completely shutting down the information processing device when the shutdown operation is performed on the information processing device while 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 the predetermined function is enabled in the information processing device; a notification step of executing a predetermined notification for notifying a user to restart the information processing device based on the determination that the predetermined function is enabled in the information processing device; 10. A computer-implemented control method comprising:
15. 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 when a shutdown operation is performed on the information processing device, wherein the information processing device goes into a hibernation state without completely shutting down when the shutdown operation is performed on the information processing device while the predetermined function is enabled, and the information processing device goes into a hibernation state without completely shutting down when the shutdown operation is performed on the information processing device while 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 to notify a user to restart the information processing device based on the determination that the predetermined function is enabled in the information processing device; An information processing device comprising:
Citation Information
Patent Citations
Information processing apparatus, information processing method, and method for controlling information processing apparatus
JP2009277253A
High-speed computer startup
JP2013545207A
High-speed computer startup
JP2014501976A
Information processing device, control method, and program thereof
JP2021048607A
JP277253A