Method for controlling information processing apparatus, information processing apparatus, computer-readable storage medium storing program, and computer program product
By downloading and activating the setting application or implementing the setting function in the portal application, the problem of users being unable to use the printer before using the portal application is solved, and the convenience of the function is improved.
Patent Information
- Application Number
- CN202411100031.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-16
- Filing Date
- 2024-08-12
- Publication Date
- 2025-02-21
AI Technical Summary
Before the user uses the portal application, the printer preparation work has not been completed, which makes it impossible to use the printer's functions from the portal application. The printer setting function needs to be provided in the portal application.
Provide printer setting function, or implement new settings function in portal application by downloading and activating existing settings application in portal application.
It realizes the printer setting function in the portal application, which improves the functional convenience of users being able to directly use the portal application after setting the printer.
Smart Images

Figure CN119493535A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a control method of an information processing device, an information processing device, a computer-readable storage medium storing a program, and a computer program product. Background Art
[0002] The user sets up a purchased printing device (hereinafter referred to as a printer) so that the printing device can be used from an information processing device such as a PC. The user uses a setup application (hereinafter referred to as a setup app) to set up the printer, which includes network connection of the printer, installation of a driver on the information processing device, and acquisition of a license for using the printer for various network services. After setting up the printer, the user can use a portal application (hereinafter referred to as a portal app) that provides printer functions such as printing and scanning to perform printing, scanning, etc. Japanese Patent Laid-Open No. 2018-191252 describes a method for connecting a printer to a network when setting up a printer.
[0003] In the case where the user uses the portal application before setting the printer in the setting application, the function of the printer cannot be used from the portal application because the preparation work for using the printer from the information processing device has not been completed. Therefore, it is necessary to provide a printer setting function in the portal application. One method for providing the setting function in the portal application is a method in which the portal application downloads and activates an existing setting application. This method has an advantage that the setting function can be easily added to the portal application compared to a method of newly implementing the setting function in the portal application. Summary of the invention
[0004] Even when the first application and the second application can operate as independent applications, the present invention provides improved convenience.
[0005] A first aspect of the present invention provides a control method for an information processing device having a first program and a second program, the control method comprising: executing a first process for obtaining consent from a user to a software license agreement regarding the second program according to the first program; after obtaining consent to the software license agreement regarding the second program by executing the first process, activating the second program from the first program by executing an activation instruction according to the first program; and based on the second program being activated by executing the activation instruction according to the first program, not executing a second process for obtaining consent from the user to the software license agreement regarding the second program according to the second program, and based on the second program being activated without executing the activation instruction according to the first program, executing a second process according to the second program.
[0006] A second aspect of the present invention provides an information processing device having a first program and a second program, the information processing device including: a first execution unit, which is configured to execute a first process for obtaining consent from a user to a software license agreement regarding the second program according to the first program; an activation unit, which is configured to activate the second program from the first program by executing an activation instruction according to the first program after obtaining consent to the software license agreement regarding the second program by executing the first process; and a second execution unit, which is configured not to execute a second process for obtaining consent from a user to a software license agreement regarding the second program according to the second program based on the second program being activated by executing the activation instruction according to the first program, and to execute a second process according to the second program based on the second program being activated without executing the activation instruction by the first program.
[0007] A third aspect of the present invention provides a non-temporary computer-readable storage medium storing a first program and a second program different from the first program, the storage medium being configured to cause a computer to: based on the second program having been activated by executing an activation instruction according to the first program, not execute a second process for obtaining consent from a user to a software license agreement regarding the second program according to the second program, and, based on the second program having been activated without executing the activation instruction according to the first program, execute the second process according to the second program; execute the first process for obtaining consent from a user to a software license agreement regarding the second program according to the first program; and after obtaining consent to the software license agreement regarding the second program by executing the first process, activate the second program from the first program by executing the activation instruction according to the first program.
[0008] The present invention, in its fourth aspect, provides a computer program product, which is constructed to cause a computer to: based on the second program being activated by executing an activation instruction according to the first program, not execute a second process for obtaining consent to a software license agreement regarding the second program from a user according to the second program, and based on the second program being activated without executing an activation instruction according to the first program, execute the second process according to the second program; execute the first process for obtaining consent to a software license agreement regarding the second program from a user according to the first program; and after obtaining consent to the software license agreement regarding the second program by executing the first process, activate the second program from the first program by executing an activation instruction according to the first program.
[0009] Even when the first application and the second application can operate as independent applications, the present invention can improve convenience.
[0010] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 It is a structural diagram of an information processing system.
[0012] Figure 2 is a flowchart showing a process performed by the information processing apparatus.
[0013] Figure 3 is a flowchart showing a process performed by the information processing apparatus.
[0014] Figure 4 is a flowchart showing a process performed by the information processing apparatus.
[0015] Figure 5 is a flowchart showing a process performed by the information processing apparatus.
[0016] Figure 6 is a flowchart showing a process performed by the information processing apparatus.
[0017] Figure 7 is a flowchart showing a process performed by the information processing apparatus.
[0018] Figure 8 is a flowchart showing a process performed by the information processing apparatus.
[0019] Fig. 9 It is a diagram showing a software license acquisition screen.
[0020] Fig.10 is a view showing a printer selection screen.
[0021] Fig.11 It is a view showing an interface selection screen.
[0022] Fig. 12A and Fig. 12B It is a figure which shows the setting completion screen.
[0023] Fig.13 2 is a diagram showing an incompatible model detection screen.
[0024] Fig.14 is a view showing a printer usage screen.
[0025] Fig.15A and Fig. 15B It is a diagram showing a setting failure notification screen. DETAILED DESCRIPTION
[0026] The embodiments will be described in detail below in conjunction with the accompanying drawings. Please note that the following embodiments are not intended to limit the scope of the claimed invention. A plurality of features are described in the embodiments, but the invention is not limited to all of these features, and a plurality of such features may be appropriately combined. In addition, in the accompanying drawings, the same reference numerals are assigned to the same or similar structures, and redundant descriptions thereof are omitted.
[0027] Since the first application and the second application can operate as independent applications, there is a need to achieve improvement in convenience.
[0028] According to the present invention, even in the case where the first application and the second application can be operated as independent applications, the convenience can be improved.
[0029] <First Embodiment>
[0030] Figure 1 1 is a diagram showing an example of the configuration of the information processing system according to the present embodiment. In the present embodiment, the information processing device 101 is described by taking a PC as an example, but the present invention is not limited thereto. The information processing device 101 may be, for example, a smartphone, a tablet computer, etc. The information processing device 101 includes a CPU 102, an external storage device 103, an input interface 104, an output interface 105, a ROM 106, a RAM 107, a wired LAN interface 108, a wireless LAN interface 109, and a USB interface 110.
[0031] The CPU 102 is a system control unit and controls the entire information processing apparatus 101. The CPU 102 performs various processes by reading a program stored in a storage medium such as the external storage device 103 or the ROM 106 into a RAM 107 as a work area and executing the program.
[0032] The external storage device 103 is, for example, a storage device such as a hard disk drive (HDD) or a solid state drive (SSD), and stores an application program, an operating system (OS), a driver program of the printing device 121 , and various other types of data.
[0033] A keyboard 111 and a mouse 112 are connected to the input interface 104. The input interface 104 acquires information related to a user operation received via an input device such as the keyboard 111 or the mouse 112, and sends the information to the CPU 102. A display unit 113, which is a display device such as a display, is connected to the output interface 105.
[0034] The ROM 106 is, for example, a nonvolatile memory, and stores fixed data such as a data table, an embedded operating system (hereinafter referred to as OS) program, and a program to be executed by the CPU 102. In the present embodiment, the ROM 106 stores a portal application, a setting application, etc. In the following description, the portal application is referred to as a first application 114, and the setting application is referred to as a second application 115.
[0035] The first application 114 and the second application 115 are applications related to a device to be connected to the information processing apparatus 101. In the present embodiment, the device to be connected to the information processing apparatus 101 is the printer 121. The first application 114 is an application capable of instructing the execution of a function of the printer 121 connected to the information processing apparatus 101. The second application 115 is an application for setting the printer 121 connected to the information processing apparatus 101. In the present embodiment, the CPU 102 reads the first application 114 and the second application 115 into the RAM 107 and executes them to perform various processes including setting. In the present embodiment, it is assumed that the first application 114 is a portal application, which can execute not only a function of activating the second application 115 and causing the second application 115 to set the printer 121, but also a print job sending function and a scan job sending function. Specifically, the print job sending function is a function of sending a print job for causing the printer 121 to print image data selected by a user on the information processing apparatus 101 to the printer 121. Specifically, the scan job sending function is a function of causing the printer 121 to perform scanning and sending a scan job for causing the information processing apparatus 101 to send image data acquired by scanning to the printer 121. Assume that the second application 115 is an application dedicated to setting, which has a function of setting a printer, but does not have a print job sending function or a scan job sending function. However, the present invention is not limited to this configuration, and for example, the second application 115 may also have a print job sending function and a scan job sending function.
[0036] The wired LAN interface 108, the wireless LAN interface 109, and the USB interface 110 are communication interfaces for data communication with external devices. The wired LAN interface 108 is an interface capable of wired communication with external devices via the router 151 or the like. The wireless LAN interface 109 is an interface capable of wireless communication with external devices via the wireless LAN access point 152 or the like. The USB interface 110 is an interface capable of local communication with external devices.
[0037] The configuration of the information processing apparatus 101 is not limited to the above-described configuration, and appropriately includes a configuration corresponding to a function that can be executed by a device applied as the information processing apparatus 101 .
[0038] Next, a description will be given of the hardware configuration of the printer 121. The printer 121 includes a CPU 122, a ROM 123, a RAM 124, an input interface 125, an output interface 126, a wired LAN interface 127, a wireless LAN interface 128, a USB interface 129, and a print engine 130.
[0039] Furthermore, an operation unit 131 is connected to the input interface 125, and a display unit 132 is connected to the output interface 126. Description of a configuration similar to that of the information processing apparatus 101 will be omitted.
[0040] The print engine 130 is, for example, a module that implements print processing by controlling a print unit (not shown) that performs a print function based on print data, print settings, print control information, etc. received from the first application 114, etc. The operation unit 131 is, for example, an interface for receiving operation instructions and input of various settings from a user.
[0041] The information processing device 101 and the printer 121 are connected to each other via their respective interfaces so that they can communicate. For example, the USB interface 110 of the information processing device 101 and the USB interface 129 of the printer 121 can be connected via a USB cable. For example, they can be directly connected via a single USB cable, or they can be connected via a USB hub (not shown) using two USB cables. In the case of wired communication between the wired LAN interface 108 of the information processing device 101 and the wired LAN interface 127 of the printer 121, the information processing device 101 and the printer 121 are connected via a router 151. In the case of wireless communication between the wireless LAN interface 109 of the information processing device 101 and the wireless LAN interface 128 of the printer 121, the information processing device 101 and the printer 121 are connected via a wireless LAN access point 152. When the router 151 and the wireless LAN access point 152 are on the same network, communication can be performed via both the wired LAN and the wireless LAN. Therefore, the wired LAN interface 108 of the information processing apparatus 101 and the wireless LAN interface 128 of the printer 121 can be connected, and the wireless LAN interface 109 of the information processing apparatus 101 and the wired LAN interface 127 of the printer 121 can be connected. The router 151 and the wireless LAN access point 152 are connected to the Internet, and the information processing apparatus 101 and the printer 121 can access the Internet through their respective wired LAN interfaces and wireless LAN interfaces. Three types of interfaces such as wired LAN, wireless LAN, and USB have been described as a communication method between the information processing apparatus 101 and the printer 121. For example, the configuration may be such that all three types of interfaces are not provided; it is sufficient to provide one type of interface.
[0042] <Direct connection method>
[0043] Direct connection refers to an embodiment in which devices are directly connected to each other in a wireless manner (i.e., by point-to-point) without passing through an external device such as a wireless LAN access point 152. Direct connection is also called point-to-point connection (P2P connection). The printer 121 can operate in a mode for communicating via direct connection (direct connection mode), which is one of multiple connection modes. In Wi-Fi communication, there are multiple modes for communicating by direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.
[0044] The mode of direct connection through WFD is called WFD mode. WFD is a standard established by the Wi-Fi Alliance and is a standard included in the IEEE 802.11 series of communication standards. In WFD mode, after searching for a device to become a communication partner through a device search command, the roles of the P2P group owner (GO) and the P2P client are determined, and then the remaining wireless connection processing is performed. The group owner corresponds to the master station (parent device) in Wi-Fi, and the client corresponds to the slave station (child device) in Wi-Fi. This determination of the role corresponds to, for example, GO negotiation in P2P. In the WFD mode before determining the role, the printer 121 is in a state of neither a master station nor a slave station. Specifically, first, a device issues a device search command for a device to communicate with it, and searches for a device connected in WFD mode. When another device to become a communication partner is found, the device confirms information about the services and functions that can be provided by each other. Please note that this device provides information confirmation is optional and not required. The device provides information confirmation phase corresponds to, for example, provision discovery in P2P. Next, by confirming the information provided by each other's devices, it is determined which one will perform the role of the P2P client and which one will perform the role of the P2P group owner. Next, when the client and the group owner are decided, parameters for communication via WFD are exchanged between the two. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the P2P client and the group owner. In WFD mode, the printer 121 can operate as a GO without the printer 121 performing the above-mentioned GO negotiation. That is, the printer 121 can operate in an autonomous GO WFD mode. For example, the state in which the printer 121 is operating in WFD mode is specifically a state in which a connection via WFD has not been established but the printer 121 is operating as a GO, and a state in which a connection via WFD has been established and the printer 121 is operating as a GO.
[0045] In software AP mode, among the communicating devices (e.g., information processing device 101 and printer 121), one device (e.g., information processing device 101) is a client, which performs the role of requesting various services from another device. The other device implements the function of AP in Wi-Fi through software settings. Software AP corresponds to the master station in Wi-Fi, and the client corresponds to the slave station in Wi-Fi. In software AP mode, the client searches for the device to become a software AP through a device search command. When a software AP is found, the remaining wireless connection processing (establishing a wireless connection, etc.) is performed between the client and the software AP, and then IP connection processing (assigning an IP address, etc.) is performed. For commands and parameters sent and received in the case of a wireless connection between a client and a software AP, those commands and parameters defined in the Wi-Fi standard can be used, and their description will be omitted here.
[0046] In the present embodiment, when the printer 121 establishes and maintains a direct connection, it operates as a master station in the network to which the printer 121 belongs. The master station is a device that builds a wireless network and is a device that provides parameters for connecting to the wireless network to the slave station. The parameters for connecting to the wireless network are, for example, parameters related to the channel used by the master station. The slave station receives the parameters and is able to connect to the wireless network established by the master station by using the channel used by the master station. In the direct connection mode, since the printer 121 operates as a master station, the printer 121 can determine which frequency band to use and which channel to use for communication in the direct connection mode. In the present embodiment, it is assumed that the printer 121 can use a channel corresponding to the 2.4 GHz frequency band and a channel corresponding to the 5 GHz frequency band for communication in the direct connection mode.
[0047] <Infrastructure connection method>
[0048] The infrastructure connection is an example of a connection in which a connection is made with an AP (e.g., wireless LAN access point 152) that controls a network for devices (e.g., information processing apparatus 101 and printer 121) for communication, and in which the devices communicate with each other via the AP. The printer 121 can operate in a mode (infrastructure connection mode) for communication via an infrastructure connection, which is one of a plurality of connection modes.
[0049] In infrastructure connection, each device searches for an AP using a device search command. When an AP is found, the remaining wireless connection processing (establishing a wireless connection, etc.) is performed between the device and the AP, and then the IP connection processing (allocating an IP address, etc.) is performed. For commands and parameters sent and received to achieve a wireless connection between a device and an AP, those defined in the Wi-Fi standard can be used, and their description will be omitted here.
[0050] In the present embodiment, when the printer 121 operates in an infrastructure connection, the wireless LAN access point 152 operates as a master station, and the printer 121 operates as a child device. That is, in the present embodiment, the infrastructure connection refers to the connection between the printer 121 operating as a child device and the device operating as a parent device. When the printer 121 has established an infrastructure connection and the information processing device 101 has also established an infrastructure connection with the wireless LAN access point 152, communication between the printer 121 and the information processing device 101 via the wireless LAN access point 152 is enabled. Since the channel used for communication in the infrastructure connection is determined by the wireless LAN access point 152, the printer 121 uses the channel determined by the wireless LAN access point 152 for communication in the infrastructure connection. In the present embodiment, it is assumed that the printer 121 can use a channel corresponding to the 2.4 GHz band and a channel corresponding to the 5 GHz band for communication in the infrastructure connection. In addition, the printer 121 can use a channel corresponding to the DFS band in the 5 GHz band for communication in the infrastructure connection. In order to communicate with the printer 121 via the wireless LAN access point 152 , the information processing apparatus 101 needs to recognize that the printer 121 belongs to the network formed by the wireless LAN access point 152 to which the information processing apparatus 101 belongs.
[0051] <Connection Setting Process>
[0052] In the present embodiment, the information processing apparatus 101 performs connection setup (network setup) through wireless communication with the printer 121, which is a setup for operating the printer 121 according to at least one communication method of infrastructure connection and direct connection. The connection setup process in the present embodiment is also referred to as cableless setup (CLS) because it is performed through wireless communication. Note that the connection setup process can be performed through wired communication. When the second application 115 stored in the external storage device 103 or the like is activated, the information processing apparatus 101 performs connection setup processing on the printer 121. The printer 121 can operate in a connection setup mode (connection setup state) as a mode for performing the connection setup process, and perform the connection setup process while operating in the connection setup mode. The details of the connection setup mode will be described later.
[0053] When the information processing apparatus 101 causes the printer 121 to operate in the infrastructure connection mode, the infrastructure setting information, which is setting information for causing the printer 121 to operate in the infrastructure connection mode, is wirelessly transmitted to the printer 121. The infrastructure setting information includes information related to the wireless LAN access point 152. The information related to the wireless LAN access point 152 includes, for example, a service set identifier (SSID), a password, information related to a frequency band, and the like.
[0054] At the same time, the information processing apparatus 101, when causing the printer 121 to operate in the direct connection mode, wirelessly transmits direct setting information, which is setting information for causing the operation in the direct connection mode, to the printer 121. The direct setting information includes instructions for enabling the WFD function, causing the operation as the group owner, and enabling the access point setting of the printer 121. In addition, the information processing apparatus 101 acquires connection information required for direct connection with the printer 121 from the printer 121. The connection information for direct connection with the printer 121 includes, for example, information such as the SSID and password of the printer 121.
[0055] In the present embodiment, direct connection for setting the connection between the information processing apparatus 101 and the printer 121 is used to transmit the infrastructure setting information and the direct setting information in the connection setting process and to acquire the information for direct connection with the printer 121. In the present embodiment, Wi-Fi connection setting process is performed as the direct connection for connection setting, but for example, a wireless communication standard other than Wi-Fi (such as Bluetooth) may be used, or a wired communication standard such as a wired LAN or a universal serial bus (USB) may be used.
[0056] After the connection setting process establishes a Wi-Fi infrastructure connection or a direct connection between the information processing apparatus 101 and the printer 121, communication can be performed between the information processing apparatus 101 and the printer 121 via the established connection. Specifically, for example, the information processing apparatus 101 can send a print job for causing the printer 121 to perform printing and a scan job for causing the printer 121 to perform scanning to the printer 121 via the established connection. In the present embodiment, through the connection setting process, the printer 121 can operate in the infrastructure connection mode, or the printer 121 can operate in the direct connection mode, but the present invention is not limited to this embodiment. For example, the following embodiment is also possible, in which the printer 121 can only operate in the infrastructure connection mode (that is, the printer 121 cannot operate in the direct connection mode) through the connection setting process.
[0057] <Connection Setting Mode>
[0058] The printer 121 can operate in the connection setting mode. A trigger for causing the printer 121 to start operating in the connection setting mode may be, for example, a user pressing a button for the connection setting mode, or the printer 121 starting to operate when it is activated (powered on) for the first time after the product is delivered. The connection setting mode button may be a physical button included in the printer 121, or may be a virtual button displayed by the printer 121 on the display unit 132.
[0059] When the printer 121 starts operating in the connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, the printer 121 activates the AP (connection setting AP) dedicated to the connection setting mode inside the printer 121 as a Wi-Fi communication activation process. As a result, the printer 121 enters a state where a direct connection can be established with the information processing device 101 via Wi-Fi. It is assumed that the connection information (SSID or password) used to connect to the connection setting AP is pre-saved in the setting application installed in the information processing device 101, and the information processing device 101 pre-identifies the connection information used to connect to the connection setting AP. Note that for the connection with the AP, an embodiment in which an encryption method is not set in the connection setting AP and a password is not required can be adopted. Therefore, unlike the connection information of the AP enabled in the direct connection mode, it is assumed that the connection information used to connect to the connection setting AP cannot be arbitrarily changed by the user. Note that in the connection setting mode, the printer 121 can be connected to the information processing device 101 via Wi-Fi Direct (WFD) instead of ordinary Wi-Fi. That is, the printer 121 can operate as the group owner and receive a setting command from the information processing apparatus 101 through WFD communication.
[0060] The configuration of the printer 121 is not limited to Figure 1 1 and 12, and appropriately includes a configuration corresponding to a function that can be performed by a device applied as the printer 121. In addition, the printer 121 may be, for example, a printer using an inkjet recording method, or a printer using other recording methods such as an electrophotographic method, a thermal transfer method, a dot impact method, etc. In addition, the printer 121 may be a multifunction peripheral (MFP) in which a scanner function, a fax function, etc. are integrally configured.
[0061] In such Figure 1In the information processing system shown, in order to use the printer 121 from the information processing apparatus 101, the user first sets the printer 121 using the second application 115. By setting the printer 121, the user can use the printer 121 from the information processing apparatus 101 using the first application 114. Meanwhile, the user may use the first application 114 before setting the printer 121. In this case, since the setting of the printer 121 has not been completed, the user cannot use the function of the printer 121 by using the first application 114.
[0062] Therefore, the first application 114 may have a setting function for downloading the second application 115 from the first application 114, activating the second application 115, and performing settings. However, since the first application 114 and the second application 115 may operate as independent applications, there is a need to achieve improvement in user convenience.
[0063] For example, when the user uses the first application 114 or the second application 115, the user may be required to agree to a software license agreement (end user license agreement (EULA)). Even if the user has already agreed to the software license agreement when the user activates the first application 114, a screen of the software license agreement similar to that of the first application 114 is displayed when the second application 115 is activated, and the user needs to agree to the agreement again. In the following description, the software license agreement may be referred to as a license agreement.
[0064] In the present embodiment, a configuration will be described in which the process for displaying a screen for a license agreement differs based on the activation source of second application 115. With such a configuration, when second application 115 is activated from first application 114, a screen similar to the screen for the license agreement displayed in first application 114 is not displayed in second application 115. This eliminates the need for the user to agree again in second application 115 to the license agreement that they agreed to in first application 114.
[0065] In addition, for example, when the user uses functions such as printing and scanning of the printer 121, the first application 114 is activated by the user. Meanwhile, once the printer 121 has been set, the user rarely activates the second application 115. Therefore, when the setting of the printer 121 is completed, the second application 115 displays a screen related to a method of using the printer 121, etc.
[0066] The first application 114 can display a screen related to a method for using the printer 121, etc., from the screen of the first application 114. There is a case where the user displays a screen related to a method for using the printer 121, etc., from the screen of the first application 114 even before performing settings of the printer. Therefore, there is a case where the same screen is displayed to the user because the second application 115 displays the above-mentioned screen when the settings of the printer 121 are completed.
[0067] In the present embodiment, a configuration will be described in which display of the setting completion screen is controlled so that an interface display for receiving an instruction as to whether to display a screen related to a method of using the printer 121 or the like is different based on the activation source of the second application 115. Therefore, when the second application 115 is activated from the first application 114 and the printer is set, the user can select whether to display a screen for a method of using the printer or the like from the setting completion screen.
[0068] Furthermore, for example, depending on the timing of issuing the application from the provider, the model of the printer compatible with the first application 114 and the model of the printer that can be set by the second application 115 may be different. In this case, there is a case where, when the second application 115 is activated by the first application 114 and sets the printer, a printer that is not compatible with the first application 114 is set. If a printer that is not compatible with the first application 114 is set, the user may not be able to use the printer from the first application 114 although the printer setting is completed.
[0069] In this embodiment, a configuration will be described in which the second application 115 controls to change which printing models are set as targets based on the activation source of the second application 115. Therefore, when the second application 115 is activated from the first application 114, the second application 115 can set a printer compatible with the first application 114.
[0070] Figure 2 1 is a flowchart showing an example of processing performed when setting the printer 121 using the first application 114 according to the present embodiment. This is implemented, for example, by the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program. Figure 2 The processing performed by the first application 114.
[0071] Step S200 indicates Figure 2 When the first application 114 installed on the information processing device 101 is activated by the user, the first application 114 executes Figure 2 Processing shown.
[0072] In step S201, the first application 114 determines whether the user has agreed to the software license agreement (end user license agreement (EULA)). In step S201, if the first application 114 determines that the software license agreement has not been agreed, it proceeds to the process of step S202. Meanwhile, if the first application 114 determines that the software license agreement has been agreed, it proceeds to the process of step S203. Specifically, the first application 114 refers to an area (not shown) for storing application data of the first application 114 provided in the ROM 106 or the like through the process of step S202 described later. The first application 114 makes the above determination by referring to the information indicating that the user agrees to the software license agreement.
[0073] In step S202, the first application 114 performs control to obtain consent to the software license agreement. Specifically, the first application 114 displays the following on the display unit 113: Fig. 9 1. The software license acquisition screen 900 shown in FIG. 1 is a screen for acquiring a software license. In other words, the software license acquisition screen 900 is also a screen displayed based on the activation of the first application 114. The software license acquisition screen 900 includes a link 901 pointing to the content of the license agreement, an agree button 902 for agreeing to the license agreement, a disagree button 903 for disagreeing to the license agreement, and the like. In other words, the software license acquisition screen 900 is also a consent screen for requesting user consent. In addition to the content of the license agreement of the first application 114, the content of the license agreement also includes the content of the license agreement of the second application 115. That is, the license agreement is used as a license agreement for multiple applications that use the printer 121. In other words, the processing of step S202 is a control for acquiring both the consent to the software license agreement regarding the first application 114 and the consent to the software license agreement regarding the second application 115. It is also possible to acquire consent to software license agreements related to other applications provided by a vendor that provides the first application 114 or the second application 115 through the software license acquisition screen 900. Therefore, the user does not need to agree to the license agreement for each application when using a plurality of applications in order to use the printer 121. Therefore, the user can immediately use each application.
[0074] In step S202, when the user presses the agree button 902 for agreeing to the license agreement, the first application 114 determines that the user has agreed to the content of the license agreement (has obtained the agreement to the license agreement), and proceeds to the process of step S203. In step S202, for example, when the user presses the disagree button 903 for disagreeing to the license agreement, the first application 114 may end the process. Figure 2 processing.
[0075] In addition, in step S202, first application 114 stores information indicating that the user has agreed to the license agreement in an area (not shown) provided in ROM 106 for storing application data of first application 114. Therefore, when the user activates first application 114 thereafter, license agreement acquisition screen 900 will no longer be displayed. Note that the present invention is not limited to this embodiment, and license agreement acquisition screen 900 may be displayed each time first application 114 is activated.
[0076] In step S203, the first application 114 determines whether there is a printer 121 that can be used from the first application 114. In step S203, if the first application 114 determines that there is no printer 121 that can be used, the first application 114 proceeds to the process of step S204. Meanwhile, if the first application 114 determines that there is a printer 121 that can be used, the first application 114 proceeds to the process of step S205. Specifically, the first application 114 acquires the print queue installed in the information processing apparatus 101, and determines whether there is a print queue of the printer 121 that can be used from the first application 114. Note that the print queue is an object that stores print data for printing and provides a function for sequentially printing, and one or more print queues are created for each device that provides the printing function. The printer 121 that can be used from the first application 114 is a printer 121 provided by the same vendor as the vendor that provides the first application 114. In the present embodiment, the print queue of the printer 121 is created in the process for setting the printer 121 by the second application 115 described later. Note that the process of step S203 may be omitted. In the present embodiment, the process may always proceed to step S205 after step S201 or after step S202.
[0077] In step S204, the first application 114 determines whether to perform a setting function. If the first application 114 determines to perform a setting function, it proceeds to step S207. Meanwhile, if the first application 114 determines not to perform a setting function, it proceeds to step S218. In the present embodiment, the setting function includes a process in which the first application 114 downloads the second application 115 from an external server or the like and activates the second application 115. Specifically, the setting function is a function in which the first application 114 activates the second application 115 and the second application 115 performs settings of the printer 121. Specifically, the first application 114 displays a screen (not shown) for allowing the user to select whether to perform the setting function. For example, a button is provided on the screen for the user to select whether to perform the setting function or to close without performing the setting. When the first application 114 detects that the user presses a button for performing the setting function, the process proceeds to step S207. Meanwhile, when the first application 114 detects that the user presses a button for closing without performing the setting function, the process proceeds to step S218.
[0078] In step S205, the first application 114 selects one printer from the printers 121 that the first application 114 can use, and displays a screen for using the function of the selected printer 121. Specifically, the first application 114 displays the function of the selected printer 121 on the display unit 113. Fig.14 The printer use screen 1400 shown. Specifically, the printer 121 that can be used from the first application 114 is, for example, a printer 121 corresponding to the capability information acquired and stored in the past by the first application 114, and is a printer 121 registered in the first application 114. The printer use screen 1400 includes a printer function button 1401, a printer icon 1402, a setting start button 1403, and the like. The setting start button 1403 is a button for setting a new printer 121. In other words, the setting start button 1403 is also a button for adding a new printer 121. The screen display of the printer function button 1401, the printer icon 1402, and the like will be described in detail later in step S213. The printer use screen 1400 has an interface for displaying a screen related to the printer 121. For example, the printer use screen 1400 has an interface for displaying a convenient way to use the printer 121. In other words, the convenient way to use the printer 121 is a method for using the printer 121. Specifically, the method of using the printer 121 is, for example, a method of performing printing by the printer 121 or a method of performing copying by the printer 121. In addition, more specifically, for example, they are methods for sending a print job from a PC or a smartphone to the printer 121. More specifically, for example, they are methods for printing posters, tray labels, calendars, ID photos, nail stickers, etc. by the printer 121. More specifically, for example, they are methods for registering with a service provided by a vendor who supplies the printer 121. For example, when the user presses an interface for displaying a convenient way to use the printer 121, the first application 114 displays a web page describing the use of the printer 121. In addition, the printer use screen may display: an interface for displaying recommended applications related to the printer 121, an interface for displaying FAQs about the method of using the printer 121, and the like. The interfaces displayed on the printer use screen 1400 are not limited to these, and other interfaces may be included. In addition, when the first application 114 is activated for the first time since it was installed on the information processing device 101, step S204 and step S206 may be skipped, and the process may be started from step S207.
[0079] In the process of step S205, the method by which the first application 114 selects one of the printers 121 that can be used from the first application 114 may be a method of selecting a printer 121 most recently used by the user from the information processing apparatus 101. Note that a plurality of printers 121 that can be used from the first application 114 may be displayed on the printer use screen 1400.
[0080] In step S206, the first application 114 determines whether to perform the setting function. If the first application 114 determines to perform the setting function, it proceeds to step S207. Meanwhile, if the first application 114 determines not to perform the setting function, it repeats the determination of step S206. Specifically, when it is detected that the user has pressed Fig.14 When the user presses the setting start button 1403 on the illustrated printer use screen 1400, the first application 114 determines to execute the setting function. Meanwhile, when the user does not press the setting start button 1403, the first application 114 determines not to execute the setting function.
[0081] In step S207, the first application 114 starts the setting function. Specifically, a screen (not shown) is displayed for notifying the user that the setting function is about to start. A button for starting the setting function is displayed on the screen. When the first application 114 detects that the button has been pressed by the user, the first application 114 starts the setting function described below. In addition, in step S207, before starting the setting function, the first application 114 can confirm its version. If the version of the first application 114 is not the latest version, the first application 114 can perform a version upgrade. In other words, the first application 115 can update its version to the latest version. The benefits of making the first application 114 the latest version before starting the setting function are described in detail in the discussion of step S208.
[0082] In step S208, the first application 114 downloads the second application 115 from an external server (not shown) to the information processing device 101. The version of the second application 115 to be downloaded may always be the latest version or may be a specific version. When the first application 114 is upgraded to the latest version in step S207, the second application 115 to be downloaded by the first application 114 is also the latest version, so that the latest setting function can be used. In addition, in the link between the first application 114 and the second application 115, the latest specification can be used, which includes the specification of the command line parameters used when activating the second application 115, which will be described later. At the same time, if the first application 114 is not the latest version, a specific version of the second application 115 corresponding to the current version of the first application 114 can be downloaded. That is, in step S208, the second application 115 of the version corresponding to the version of the first application 114 is downloaded. Therefore, considering the compatibility of the versions, the failure of the link specification between the first application 114 and the second application 115 can be prevented. When the second application 115 is downloaded, the second application 115 is installed on the information processing device 101. If the second application 115 has already been downloaded to the information processing apparatus 101 , this process may be omitted.
[0083] In step S209, the first application 114 activates the second application 115 downloaded to the information processing device 101. At this time, the activation instruction for the first application 114 to activate the second application 115 includes an activation command and an activation parameter for activating the second application 115. The activation parameter is information indicating the activation source application of the second application 115, and is optionally assigned to the activation command. In the present embodiment, the activation parameter is given as a command line parameter. Furthermore, in the present embodiment, the command line parameter optionally given by the first application 114 in the activation instruction of the second application 115 is defined as " / BOOT_PORTAL:YES". In step S209, the second application 115 activated from the first application 114 performs processing for setting the printer 121. This will be referred to later. Figure 3 Details of the process for setting the printer 121 are described.
[0084] In step S210, the first application 114 determines whether the setting result is received from the second application 115. In step S210, if the first application 114 determines that the setting result is received, it proceeds to step S211. Meanwhile, if the CPU 102 determines that the setting result is not received, the process of step S210 is repeated. Figure 8 A specific method for the first application 114 to receive the setting result from the second application 115 is described.
[0085] In step S211, the first application 114 puts its own screen in an active state. In the present embodiment, the active state of the screen of the application indicates that the screen is currently displayed on the foreground of the display unit 113 and can be operated by the user. For example, while the second application 115 is performing settings for the printer 121, when the user is using another application, the screen of the first application 114 can be displayed behind the screen of the other application. Even in this case, when the first application 114 puts its own screen in an active state, the screen of the first application 114 is displayed in the foreground of the display unit 113 and is in a state where the user can operate the screen of the first application 114. Therefore, in the processing of step S213 or step S214 described later, the user can perform operations on the screen of the first application 114 without hesitation. In addition, for example, while the second application 115 is performing processing, the first application 114 can be closed by the user's operation or the like. Even in this case, as described later Figure 8 As shown, the first application 114 is activated by processing when the second application 115 is closed. This allows the Figure 2 The following is the subsequent processing of Figure 8 Details of the operation sequence in which the first application 114 receives the setting result in step S210 and places the screen of the first application 114 in the active state in step S211 are described in FIG.
[0086] In addition, although an embodiment is described in which the first application 114 is in an active state regardless of the state of its own screen in step S211, the present invention is not limited thereto. For example, the construction may be such that the screen of the first application 114 is not changed to an active state according to the state of the screen of the first application 114 or according to the state of the operating system (OS) (not shown) of the information processing device 101 and the state of the screen of another application. For example, when the screen of the first application 114 is minimized by the user's operation, the first application 114 may determine that the screen of another application is the screen that is desired to be displayed preferentially. In this case, the construction may be such that the first application 114 does not change the screen of the first application 114 to an active state in step S211, but causes the application icon of the first application 114 displayed on the display unit 113, etc. to flash. The user may be notified of the completion of the set function of the first application 114 by, for example, causing the application icon of the first application 114 to flash.
[0087] In step S212, the first application 114 determines whether the printer 121 has been successfully set based on the information on the success or failure of the setting process received from the second application 115. In step S212, if the first application 114 determines that the setting is successful, it proceeds to step S213. Meanwhile, if the first application 114 determines that the setting is unsuccessful, it proceeds to step S214. Figure 8A detailed description is given of receiving information on success / failure of the setting process in step S212.
[0088] In step S213, the first application 114 displays a screen for setting the function of using the printer 121 on the display unit 113. Specifically, the first application 114 is an application through which the user can execute an instruction for the function of the printer 121 connected to the information processing device 101. Specifically, the first application 114 displays a screen for setting the function of using the printer 121 on the display unit 113. Fig.14 The printer use screen 1400 shown in FIG. 1400 includes the configuration described in step S205 and the like. Here, the printer function button 1401 is a button for executing each function of the printer 121, such as printing and scanning. The user can execute the function of the printer 121 by pressing each printer function button 1401. Specifically, the printer function button 1401 includes a button for executing a function of sending a print job for causing the printer 121 to execute printing, and a button for executing a function of sending a scan job for causing the printer 121 to execute scanning. For example, the printer function button 1401 may include a button for displaying a manual of the printer 121. The printer icon 1402 shows an image of the printer 121 corresponding to the printing model name. In step S213, it is assumed that the first application 114 searches for a printer 121 corresponding to the identification information from the network to which the information processing apparatus 101 belongs by using the identification information of the printer 121 acquired from the second application 115 as a setting result. It is assumed that the printer icon 1402 indicates the printer 121 found by the search. That is, in step S213, a screen that can use the functions of the printer 121 is displayed based on the fact that the printer 121 has been successfully set. Therefore, after completing the setting of the printer 121, the user can use the set printer 121 from the printer use screen 1400 without activating the first application himself.
[0089] In step S214, the first application 114 displays the Fig.15A The setting failure notification screen 1500 is shown. The setting failure notification screen 1500 includes, in addition to text indicating that the setting has failed, a button 1501 for advancing to the next screen, etc. The first application 114 proceeds to step S215 based on the user pressing the button 1501.
[0090] In step S215, the first application 114 displays the Fig. 15BThe reset guide screen 1510 is shown. The reset guide screen 1510 includes a button 1511 for starting the reset function and a button 1512 for closing the application. As described above, even when the setting of the printer 121 by the second application fails, the user can reset the printer 121 by displaying the reset guide screen.
[0091] In step S216, the first application 114 determines whether to perform a reset. If the first application 114 determines to perform a reset, it proceeds to step S207. Meanwhile, if the first application 114 determines not to perform a reset, it proceeds to step S218. For example, when the user presses Fig. 15B When the user presses the button 1512 for closing the application, the first application 114 determines not to reset. Fig. 15B When the button 1511 for starting the resetting function is pressed, the first application 114 determines to perform the resetting.
[0092] In step S217, the first application 114 closes the screen of the first application 114. After the processing of step S217, the first application 114 proceeds to step S218 and ends. Figure 2 Step S218 indicates Figure 2 The end of the processing.
[0093] Figure 3 1 is a flowchart showing an example of processing performed by the second application 115 in the present embodiment. For example, the CPU 102 loads a control program stored in a memory such as the ROM 106 into the RAM 107 and executes the control program. Figure 3 processing.
[0094] Step S300 indicates Figure 3 The processing starts. Figure 2 When the first application 114 activates the second application 115 in step S209, the Figure 3 Alternatively, the execution of the executable file (not shown) of the second application 115 is started based on a user operation on the desktop of the information processing device 101, the program list screen displayed on the information processing device 101, etc. without passing through the first application 114. Figure 3 In the following description, activation of the second application 115 by the first application 114 may be referred to as linked activation. In addition, activation of the second application 115 based on the user's execution of an executable file (not shown) of the second application 115 without going through the first application 114 may be referred to as separate activation.
[0095] In step S301, the second application 115 obtains the activation parameters included in the instruction for activating the second application 115. Specifically, the second application 115 obtains the information included in the instruction for activating the second application 115. In this embodiment, the second application 115 obtains the command line parameters included in the activation instruction. At this time, the prefix of the command line parameter is defined as the parameter name, and the subsequent string is defined as the parameter value. For example, if the command line parameter is " / BOOT_PORTAL:YES", " / BOOT_PORTAL:" is obtained as the parameter name, and "YES" is obtained as the parameter value.
[0096] In step S302, the second application 115 determines whether the activation parameter obtained in step S301 is a correct value. In step S302, if the second application 115 determines that the activation parameter is correct, it proceeds to step S303. At the same time, if the second application 115 determines that the activation parameter is incorrect, it proceeds to step S306. Specifically, the second application 115 determines whether the activation parameter is correct based on whether the number of activation parameters obtained in step S301 or their values conform to a predetermined description rule. For example, assume that the activation parameter sent from the first application 114 is described as a specification of " / BOOT_PORTAL:YES" indicating link activation. In this case, when there are two or more activation parameters, or when the parameter name or parameter value is not set according to the predetermined description rule, the second application 115 determines that the activation parameter is incorrect. For example, in the case of an incompatibility problem between the version of the first application 114 and the version of the second application 115, it is determined that the activation parameter is incorrect. Alternatively, in the case of activation from an application other than the first application 114 capable of activating the second application 115, or in the case of activation by a user issuing a command in a terminal, etc., if the description is different from a predetermined description rule, it is determined that the activation parameter is incorrect. In other words, the predetermined description rule is a predetermined format. In the present embodiment, the second application 115 determines that the activation parameter is correct except for the case where there are two or more activation parameters and when the parameter name or parameter value is not set by the predetermined description rule. When the second application 115 is activated alone, the first application 114 does not issue an activation instruction to the second application 115. In the case of separate activation, the activation parameter is not included in the activation instruction for activating the second application 115. That is, the number of activation parameters is 0. In the present embodiment, even when the number of activation parameters is zero, the second application 115 determines that the activation parameter is correct. In other words, the processing in step S302 is a process for determining that the activation parameter of the description different from the predetermined description rule is incorrect. In addition, these determination methods are merely examples, and the determination of whether the activation parameter is correct may be made by a standard different from the above standards. Furthermore, an embodiment is possible in which this determination is omitted and the process always proceeds to step S303 if the activation parameter is acquired in step S301 .
[0097] In step S303, the second application 115 determines whether the second application 115 is activated from the first application 114. In other words, the determination is a process of determining whether the second application 115 is activated by a link or individually activated. If it is determined that the second application 115 has been activated from the first application 114, the second application 115 proceeds to step S304. Meanwhile, if it is determined that the second application 115 has not been activated from the first application, the second application 115 proceeds to step S305. Specifically, in the case where the parameter value of the parameter name " / BOOT_PORTAL:" is "YES", the second application 115 determines that the second application 115 is activated from the first application 114. That is, in this case, the second application 115 determines that the second application 115 has been activated by a link. Meanwhile, when the parameter value is a value other than "YES", the second application 115 determines that it is not activated from the first application 114. The case where the parameter value is a value other than "YES" is, for example, the case where the number of activation parameters is 0 as described above, etc. That is, in this case, the second application 115 determines that the second application 115 has been activated individually.
[0098] In step S304, the second application 115 executes a setting process for link activation. Figure 4 Describes the details of the setup process for link activation.
[0099] In step S305, the second application 115 executes a setting process for individual activation. Figure 5 Describes the details of the setup process for individual activation.
[0100] In step S306, the second application 115 notifies the first application 114 that the activation parameters are wrong. Specifically, the second application 115 activates the first application 114 and sets the string indicating that the activation parameter error has occurred as a command line parameter. Note that since the activation parameters are wrong, it is uncertain whether the first application 114 is the activation source of the second application 115. Therefore, the second application 115 can proceed to step S307 without performing the processing of step S306. In step S302, the second application 115 notifies the first application 114 that the activation parameters are wrong, so that the first application 114 can switch to the next operation. For example, after receiving the notification of the error from the second application 115, the first application 114 can determine whether the second application 115 is the latest version. Here, when it is determined that the second application 115 is not the latest version, the first application 114 can repeat the processing from step S207 to step S209.
[0101] Step S307 indicates that the second application 115 ends Figure 3 processing.
[0102] Figure 4An example of the setting flow when the second application 115 in the present embodiment is activated by linking is shown. This is realized, for example, by the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program. Figure 4 processing.
[0103] Step S400 indicates Figure 4 The processing starts. Figure 4 In the process of Figure 3 This is set when the link in step S304 is activated. Figure 4 In the process of activating the second application 115 from the first application 114, the second application 115 is activated from the first application 114. Figure 2 In step S202 of , the user's consent to the software license agreement regarding the second application 115 has been obtained. That is, when the second application 115 is activated through a link, the second application 115 does not need to perform control for obtaining the user's consent to the software license agreement regarding the second application 115. For this reason, the second application 115 controls not to obtain the software license agreement based on the link activation. That is, in the case of link activation, the second application 115 does not display the software license agreement on the display unit 113. This prevents the second application 115 from requiring the user to agree to the software license agreement again after the user has activated the first application 114 and agreed to the software license agreement. Note that in the case of link activation, the second application 115 can obtain information indicating that the user's consent to the software license agreement regarding the second application 115 has been obtained from the first application 114.
[0104] In the above description, an embodiment is described in which, when the second application 115 is activated by a link, a control for obtaining the user's consent to the software license agreement regarding the second application 115 is not performed in the second application 115, but the present invention is not limited thereto. Even when the second application 115 is activated by a link, the second application 115 may perform a control for obtaining the user's consent to the software license agreement regarding the second application 115. Furthermore, in the present embodiment, the control performed by the first application 114 in step S202 may be a control for obtaining the consent to the software license agreement regarding the first application 114 but not obtaining the consent to the software license agreement regarding the second application 115.
[0105] In step S401, the second application 115 performs processing for downloading data common to all models. Specifically, the second application 115 downloads files commonly required by all models in a process described later. For example, the files commonly required by all models are content files used when the second application 115 performs test printing, etc.
[0106] In step S402, the second application 115 performs a printer search process. The second application 115 searches for one or more printers 121 belonging to the same network as the network to which the information processing apparatus 101 belongs via the wireless LAN access point 152 and the wired LAN interface 108. Specifically, the second application 115 attempts to obtain identification information (such as a device name) from a printer 121 belonging to the same network as the network to which the information processing apparatus 101 belongs. One or more printers 121 corresponding to one or more pieces of identification information obtained by the attempt are regarded as one or more printers 121 detected (discovered) in the search. Specifically, the printer 121 belonging to the same network as the network to which the information processing apparatus 101 belongs is, for example, a printer 121 connected to the access point 152 connected to the information processing apparatus 101. The second application 115 may search for a printer 121 connected through the USB interface 129 by attempting to obtain identification information from the printer 121 connected through the USB interface 129. In addition, for example, in step S402, the second application 115 may search for one or more printers 121 operating in the connection setting mode. Specifically, the second application 115 may attempt to acquire a beacon emitted by a printer 121 operating in the connection setting mode. One or more printers 121 corresponding to the one or more beacons acquired by the attempt are regarded as one or more printers 121 detected in the search. In the present embodiment, it is assumed that in step S402, the following two searches are performed: a search for one or more printers 121 belonging to the same network as the network to which the information processing apparatus 101 belongs, and a search for one or more printers 121 operating in the connection setting mode.
[0107] In step S403, when the printer 121 detected in step S402 is activated through the link, the second application 115 performs compatible model specification processing. Figure 6 Describes the details of compatible model specification processing in the case of link activation.
[0108] In step S404, the second application 115 determines whether at least one printer 121 of a model compatible with the first application 114 has been detected based on the information stored in the process of step S403. If it is determined that at least one printer 121 of a model compatible with the first application 114 has been detected, the second application 115 proceeds to step S405. Meanwhile, if it is determined that not even one printer 121 of a model compatible with the first application 114 has been detected, the second application 115 proceeds to step S413. Specifically, the second application 115 reads the information stored in the RAM 107 about whether at least one printer 121 of a model compatible with the first application 114 has been detected, and makes a determination. This will be referred to later. Figure 6 A method of storing information on whether at least one printer 121 whose model is compatible with the first application 114 has been detected is described.
[0109] In step S405, the second application 115 is displayed on the display unit 113. Fig.10 The printer selection screen 1000 shown in FIG. 1 includes a printer selection message 1001, a printer list display section 1002, printer information 1003, a "next" button 1004, and the like. The printer selection message 1001 is, for example, a message for allowing the user to select a printer 121 that can be set. The printer list display section 1002 displays a list of printers 121, which are printers 121 detected in the search of step S402, and whose models are compatible with the first application 114. The printers 121 whose models are compatible with the first application 114 can be rephrased as printers 121 whose models are not included in the incompatible model list of the first application 114 described later. The printer selection message 1001 instructs the user to select a piece of printer information 1003 from the printer list display section 1002 and press the "next" button 1004. The printer selection message 1001 may include, for example, a message indicating that a printer 121 that can be set has been detected. The printer list display section 1002 displays the printer information 1003. The printer information 1003 is information (such as a device name) capable of identifying the printer 121. The user can select the printer 121 based on the printer information 1003. The second application 115 closes the printer selection screen 1000 based on the user selecting a piece of printer information 1003 and pressing a "next" button 1004.
[0110] In step S406, the second application 115 is displayed on the display unit 113. Fig.11The interface selection screen 1100 shown in FIG. 1100 includes an interface selection message 1101, an interface selection radio button 1102, a "next" button 1103, and the like. The interface selection screen 1100 is an interface for allowing a user to select a method for connecting the information processing apparatus 101 to the printer 121. The interface selection message 1101 is a message prompting the user to select a method for connecting the information processing apparatus 101 to the printer 121. The interface selection radio button 1102 is a button that displays selection options for an interface for connecting the information processing apparatus 101 to the printer 121. The user can select any one of the interface selection radio buttons 1102. The second application 115 closes the interface selection screen 1100 based on the user selecting any one of the interface selection radio buttons 1102 and pressing the "next" button 1103. In the present embodiment, it is assumed that any one of the wireless LAN, wired LAN, and USB can be selected on the interface selection screen 1100. Thereafter, the second application 115 causes the process to proceed to step S407.
[0111] In step S407, the second application 115 performs connection processing for establishing a connection between the information processing apparatus 101 and the printer 121. The interface selected by the user in step S406 is used to connect the information processing apparatus 101 and the printer 121. Therefore, in the present embodiment, the content of the connection processing to be executed differs based on the interface selected by the user in step S406.
[0112] Hereinafter, the details of the connection processing performed in step S407 will be described. When the interface selected by the user in step S406 is a USB cable, the second application 115 first searches for the printer 121 selected in step S405 on the USB cable to which the information processing apparatus 101 is connected. When the printer 121 selected in step S405 is found, a USB connection between the found printer 121 and the information processing apparatus 101 is established, so the USB connection guide screen is not displayed, and the processing proceeds to the next step. If the printer 121 selected in step S405 is not found, the second application 115 displays a USB connection guide screen that prompts the user to connect the printer 121 selected in step S405 to the information processing apparatus 101 via a USB cable. The USB connection guide screen may include a button for displaying a Web manual that indicates how the printer 121 and the information processing apparatus 101 will be connected via a USB cable. Thereafter, the second application 115 searches again for the printer 121 selected in step S405 on the USB cable to which the information processing apparatus 101 is connected. If the printer 121 selected in step S405 is not found even in this search, the second application 115 may proceed to step S413 .
[0113] When the interface selected by the user in step S406 is a wired LAN, the second application 115 searches for the printer 121 selected in step S405 and performs interface determination for determining whether the interface used for discovery in step S402 is a wired LAN. When the second application 115 determines "yes" in the interface determination, it searches for the printer 121 selected in step S405 on the network to which the information processing apparatus 101 is connected via the wired LAN. At this time, it is assumed that the IP address acquired when the printer 121 selected in step S405 is discovered in step S402 is used. When the printer 121 selected in step S405 is discovered, a connection between the discovered printer 121 and the information processing apparatus 101 is established, so the wired LAN connection guide screen and the wired LAN connection failure screen are not displayed, and the process proceeds to the next step. If the selected printer 121 is not discovered in step S405, a wired LAN connection failure screen indicating that the wired LAN connection has failed is displayed. The wired LAN connection failure screen may include a button for performing a re-search and a button for returning to the process before step S407. When "No" is determined in the interface determination, the second application 115 displays a wired LAN connection guidance screen that prompts the user to connect the printer 121 selected in step S405 to the information processing apparatus 101 via the wired LAN. The wired LAN connection guidance screen may include a button for displaying a Web manual indicating how to connect the printer 121 to the information processing apparatus 101 via the wired LAN. Thereafter, the second application 115 searches for the printer 121 selected in step S405 on the network to which the information processing apparatus 101 is connected via the wired LAN. If the printer 121 selected in step S405 is not found even in this search, the second application 115 may proceed to step S413.
[0114] When the interface selected by the user in step S406 is a wireless LAN, the second application 115 searches for the printer 121 selected in step S405, and performs interface determination for determining whether the interface used for discovery in step S402 is a wireless LAN. When the second application 115 determines "yes" in the interface determination, it searches for the printer 121 selected in step S405 on the network to which the information processing apparatus 101 is connected via a wireless LAN. At this time, it is assumed that the IP address acquired when the printer 121 selected in step S405 is discovered in step S402 is used. When the printer 121 selected in step S405 is discovered, a connection is established between the discovered printer 121 and the information processing apparatus 101 via a wireless LAN, and thus a wireless LAN connection failure screen is not displayed. Furthermore, when the printer 121 selected in step S405 is discovered, connection information for connecting to an access point is not transmitted from the information processing apparatus 101, and the process proceeds to the next step. If the selected printer 121 is not found in step S405, a wireless LAN connection failure screen indicating that the wireless LAN connection has failed is displayed. The wireless LAN connection failure screen may include a button for displaying a Web manual indicating an operation method for causing the printer 121 to perform Wi-Fi Protected Setup (WPS) and an operation method for connecting the printer 121 to an access point found by the printer 121 and selected by a user operation on the printer 121. When "No" is determined in the interface determination, the second application 115 displays a guide screen prompting the user to operate the printer 121 in the connection setting mode. Specifically, the guide screen is, for example, a screen prompting the printer 121 to press a predetermined button for operating the printer 121 in the connection setting mode. Before displaying the guide screen, a screen for confirming whether a predetermined button is provided in the printer 121 may be displayed. When it is confirmed that the predetermined button is provided in the printer 121, the guide screen may be displayed. When it is confirmed that the predetermined button is not provided in the printer 121, a screen for displaying a web manual indicating an operation method for operating the printer 121 without the predetermined button in the connection setting mode may be displayed. Then, the second application 115 searches for the printer 121 operating in the connection setting mode, and connects to the found printer 121 via the wireless LAN. Note that the second application 115 stores predetermined connection information for connecting to the access point connected to the information processing apparatus 101 before connecting to the found printer 121 via the wireless LAN. Then, the second application 115 acquires from the printer 121 a list of access points found by the printer 121 through the search. Then, the second application 115 determines whether the access point corresponding to the predetermined connection information is included in the list.When it is determined that the access point corresponding to the predetermined connection information is included in the list, the second application 115 specifies the access point corresponding to the predetermined connection information as the access point to be connected to the printer 121. When it is determined that the access point corresponding to the predetermined connection information is not included in the list, the second application 115 displays the list and specifies the access point selected from the list as the access point to be connected to the printer 121. Then, the second application 115 sends the printer 121 connection information for connecting to the access point designated as the access point to be connected to the printer 121. The password included in the connection information can be acquired by the second application 115 receiving an input from the user, or can be acquired from a wireless profile pre-saved by the operating system of the information processing device 101. When receiving the connection information, the printer 121 disconnects from the information processing device 101 and connects to the access point using the connection information. Thereafter, the second application 115 reconnects the information processing device 101 to the access point corresponding to the predetermined connection information through the wireless LAN. Then, the second application 115 searches for the printer 121 selected in step S405 on the network to which the information processing device 101 is connected through the wireless LAN. When the printer 121 selected in step S405 is found, a connection is established between the found printer 121 and the information processing apparatus 101 via the wireless LAN, and the process proceeds to the next step. If the printer 121 selected in step S405 is not found, the process may proceed to step S413. If the printer 121 selected in step S405 is not found, a confirmation screen for confirming whether to continue the setting of the printer 121 is displayed, and when an input for continuing the setting of the printer 121 is made on the confirmation screen, the process may return to step S402 or step S405. If an input for not continuing the setting of the printer 121 is made on the confirmation screen, the process may proceed to step S413.
[0115] When the printer 121 detected in the search of step S402 and whose model is compatible with the first application 114 is operating in the connection setting mode, the processing of step S405 and step S406 may be omitted. More specifically, there is a case where the printers detected in the search of step S402 and whose model is compatible with the first application 114 include a single printer 121 operating in the connection setting mode, but do not include a plurality of printers 121 operating in the connection setting mode. In this case, the processing of step S405 and step S406 is omitted, the processing proceeds to step S407, and a connection process for establishing a connection between the information processing apparatus 101 and the single printer 121 is performed. There is also a case where the printers 121 detected in the search of step S402 and whose model is compatible with the first application 114 include a plurality of printers 121 operating in the connection setting mode. In this case, a list of the plurality of printers 121 operating in the connection setting mode detected in the search of step S402 and whose model is compatible with the first application 114 is displayed. The list does not include the printer 121 detected in the search of step S402 and whose model is compatible with the first application 114, but which is not operating in the connection setting mode. When one of the printers in the list is selected, the processing of step S405 and step S406 is omitted, the processing proceeds to step S407, and a connection process for establishing a connection between the information processing apparatus 101 and the printer 121 selected from the list is performed. Specifically, for example, in a plurality of connection processes performed when the interface selected by the user is a wireless LAN in step S406, the same process as that performed after the printer 121 operating in the connection setting mode is found is performed.
[0116] In step S408, the second application 115 performs processing for downloading and installing model-specific data. The model-specific data is, for example, an information file containing information for determining whether the second application 115 performs test printing of the printer 121, a model-specific printer driver for the printer 121 required for printing, and the like. Test printing is a process of printing image data prepared in advance for test printing, and is a process for confirming whether there is a defect in the printing result. Here, the model-specific data download of step S408 is a separate download from the download of data common to all models of step S401. This is because in the processing of step S401, the setting application 115 has not yet decided the printer 121 to be set in the processing of step S401. In step S405, the user selects the printer 121, thereby deciding to set the target printer 121, and in step S408, the model-specific data is downloaded and installed.
[0117] In step S409, the second application 115 displays a screen including a button for displaying a print queue creation screen, which is a screen for creating a print queue for the printer 121 and is a screen displayed by the operating system. When the button is displayed, the operating system is notified that the print queue creation screen is displayed, and a web manual indicating an operation method for creating a print queue in the print queue creation screen is displayed in a web browser. The print queue creation screen displays a list of printers 121 found by a search performed by the operating system. When a user selects a printer from the list, a print queue corresponding to the selected printer 121 is created by the operating system. When the print queue is generated, the information processing apparatus 101 can send a print job to the printer 121 corresponding to the generated print queue. When the connection between the information processing apparatus 101 and the set target printer 121 is established and the creation of the print queue corresponding to the set target printer 121 is completed, the setting of the printer 121 is considered to be completed. Note that the present invention is not limited to this embodiment, and the processing of step S409 can be omitted. When the connection is established between the information processing apparatus 101 and the setting target printer 121 , it can be considered that the setting of the printer 121 has been completed.
[0118] In step S410, the second application 115 is displayed on the display unit 113. Fig. 12A The setting completion screen 1200 for link activation is shown. The setting completion screen 1200 for link activation includes a setting completion message 1201, a "Go to website" button 1202, and a close button 1203. The setting completion message 1201 includes, for example, a message notifying the user that the setting has been completely completed. The setting completion message 1201 also includes a message notifying the user that when the user presses the "Go to website" button 1202, the web browser will be activated and the method for using the printer 121 will be displayed. In addition, the setting completion message for link activation includes a message for conveying to the user that if the method for using the printer 121 does not need to be displayed, the close button 1203 should be pressed. Therefore, for example, when the user has already opened the printer 121 from Fig.14 While the printer use screen 1400 of the first application 114 shown displays a method for using the printer 121 , the same display can be prevented from being performed again.
[0119] The “to website” button 1202 is an interface that can display a screen related to the printer 121. In the present embodiment, when the user presses the “to website” button 1202, the second application 115 activates a web browser and displays a web page describing a method for using the printer 121 (such as how to print or scan) on the display unit 113. It is assumed that the URL for displaying the web page is previously saved by the second application 115. Thereafter, the second application 115 closes the setting completion screen 1200 for link activation.
[0120] The close button 1203 is an interface that can close the setting completion screen 1200. When the user presses the close button 1203, the second application 115 closes the setting completion screen 1200 for link activation. That is, in step S410, the second application 115 controls to display the close button 1203 so that it is enabled on the setting completion screen 1200 for link activation. That is, the second application 115 controls to display the close button 1203 so that the close button 1203 can be pressed by the user. For example, there is a case where, at the time of link activation, the user has already opened a web page from the printer use screen 1400 of the first application 114, or the user knows that a web page can be opened, etc. In the present embodiment, when the close button 1203 is displayed as being enabled, the user using the second application 115 can choose to display the web page by pressing the "to website" button 1202 or not to display the web page by pressing the close button 1203.
[0121] Note that a user who uses the first application 114 for the first time or a user who does not know that a web page can be displayed from the first application 114 may never see the web page. Since the close button 1203 is enabled, the user may eventually press the close button 1203. Therefore, in step S410, the second application 115 may control whether to display the close button 1203 based on the activation parameter received from the first application 114 so that the close button 1203 is enabled. For example, the activation parameter may include information about whether the user has displayed the web page from the first application 114.
[0122] When the user operates any button on the setting completion screen 1200, in step S411, the second application 115 determines whether the user presses Fig. 12A In step S411, if it is determined that the close button 1203 is not pressed, the second application 115 proceeds to step S412. For example, the second application 115 determines that the close button 1203 is not pressed based on the user pressing the "Go to website" button 1202. Meanwhile, if it is determined that the close button 1203 has been pressed, the second application 115 proceeds to step S413.
[0123] In step S412 , the second application 115 displays a web page describing a method for using the printer 121 on the display unit 113 .
[0124] In step S413, the second application 115 performs the end processing for link activation. Figure 8 Describes the details of the end processing for link activation.
[0125] Step S414 indicates Figure 4After the process of step S413, when the second application 115 is activated through the link, the second application 115 ends the setting process.
[0126] Figure 5 An example of the setting flow when the second application 115 in the present embodiment is activated alone is shown. This is realized, for example, by the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program. Figure 4 processing.
[0127] Step S500 indicates Figure 5 The processing starts. Figure 5 In the process of Figure 3 The setting is performed in the case of single activation in step S305.
[0128] Step S501 is Figure 4 The process is similar to step S401, so its description is omitted.
[0129] In step S502, the second application 115 performs control to obtain consent to the software license agreement. The method of obtaining consent to the software license agreement is similar to Figure 2 , and therefore its description is omitted. Note that in the setting process for separate activation, since the processing of step S202 is not performed by the first application 114, there is a case where the software license acquisition screen 900 is not displayed in the first application 114. That is, there is a case where the consent to the software license agreement regarding the second application 115 has not yet been obtained in the first application 114. Therefore, in the present embodiment, when the second application 115 is activated separately, a screen similar to the software license acquisition screen 900 is displayed at the timing of step S502 (not shown). As described above, in the present embodiment, since a control similar to the control of step S202 is performed in step S502, a control for obtaining both the consent to the software license agreement regarding the first application 114 and the consent to the software license agreement regarding the second application 115 is performed in step S502. However, the present invention is not limited to this embodiment, and for example, the construction may be such that in step S502, control for obtaining consent for the software license agreement regarding the first application 114 is not performed, but only control for obtaining consent for the software license agreement regarding the second application 115 is performed.
[0130] Step S503 is Figure 4 The process is similar to step S402, so its description is omitted.
[0131] In step S504, when the printer 121 detected in step S503 is activated alone, the second application 115 performs compatible model specification processing. Figure 7 Describes the details of compatible model specification handling in the case of separate activation.
[0132] Steps S505 to S510 are related to Figure 4 The processing from step S404 to step S409 is similar to that of step S406, so the description thereof will be omitted.
[0133] In step S511, the second application 115 is displayed on the display unit 113. Fig. 12B The setting completion screen 1204 for individual activation is shown. The setting completion screen 1204 for individual activation includes a setting completion message 1205, a "to website" button 1206, a closing message 1207, etc. The setting completion message 1205 includes a message notifying the user that the setting has been completely completed or pressing the "to website" button 1202 will activate the web browser and will display the method for using the printer 121 on the web browser. The closing message 1207 is a message notifying the user that when the "to website" button is pressed, the second application 115 will be closed after displaying the web page.
[0134] Furthermore, when activated alone, the second application 115 performs a disable control for not closing the setting completion screen 1204 when the user operates the close button 1208 on the setting completion screen 1204. Specifically, the disable control is, for example, a control for not displaying the close button 1208 on the setting completion screen 1204. When the disable control is executed, the display from Fig. 12B The screen in which the close button 1208 is removed from the screen shown is used as the setting completion screen 1204. Alternatively, the disabling control is, for example, a control that does not close the setting completion screen 1204 even if the close button 1208 is operated by the user while the close button 1208 is displayed. In this embodiment of the disabling control, the close button 1208 may be displayed as grayed out. Even if the disabling control is performed, the user's operation of closing the setting completion screen 1204 may be indicated by displaying a close message 1207. In the setting completion screen 1204, the close message 1207 is displayed as a message not displayed on the setting completion screen 1200 so as to be recognized by the user. In step S511, when the user presses the "to website" button 1206, the second application 115 causes the process to proceed to step S513.
[0135] As described above, in this embodiment, when the second application 115 is activated based on the user's execution of the executable file, the close button 1208 is disabled and does not accept instructions from the user. At the same time, when the second application 115 is activated from the first application 115, as shown in FIG. Figure 4 As described above, the close button 1208 is enabled so that the close button 1208 accepts instructions from the user. That is, in the case of separate activation and link activation, the second application 115 performs display control, which is used to determine whether the close button 1208 is disabled and does not accept instructions from the user or as described in reference Figure 4 The embodiment described above is described in which the disabling control is performed when the second application 115 is activated alone, and the disabling control is not performed when the second application 115 is activated through a link, but the present invention is not limited to this embodiment. An embodiment in which the disabling control is not performed when the second application 115 is activated alone or when the second application 115 is activated through a link may be adopted. That is, both when the second application 115 is activated alone and when the second application 115 is activated through a link, the same screen (for example, Fig. 12A The screen shown in ) can be displayed as the setting completion screen.
[0136] The processing of step S512 is Figure 4 The processing of step S412 is similar, so its description will be omitted.
[0137] Step S513 indicates Figure 5 The second application 115 ends the setting flow processing in the case of single activation. That is, the second application 115 ends the operation of the second application based on the web page displayed in step S512. In other words, step S513 is a process for ending the operation of the second application 115.
[0138] Figure 6 An example of compatible model specification processing when the second application 115 in the present embodiment is activated by linking is shown. For example, the CPU 102 loads a control program stored in a memory such as the ROM 106 into the RAM 107 and executes the control program. Figure 6 processing.
[0139] Step S600 indicates Figure 6 The processing starts. Figure 6 In the process of, the second application 115 performs compatible model specification processing, and the compatible model specification processing is used to confirm that Figure 4 Whether there is at least one printer 121 whose model is compatible with the first application 114 among the one or more printers 121 detected in step S402 .
[0140] In step S601, the second application 115 obtains an incompatible model list, which is a list of printers 121 whose models are incompatible with the first application 114. The method of obtaining the incompatible model list may be a method of obtaining a list pre-stored as a fixed value in the second application 115, or a method of obtaining a list from an external server (not shown) via the Internet. The incompatible model list is a list of models incompatible with the first application. For example, a list of models having an operating system incompatible with the first application 114, a model incompatible with the printer driver of the first application 114, a model of a standard incompatible with the first application 114, and a model of a communication specification incompatible with the first application 114, etc. may be used. In addition, it is assumed that the incompatible model list of the first application 114 is different from the incompatible model list of the second application 115. More specifically, for example, it is assumed that the incompatible model list of the first application 114 includes all models described in the incompatible model list of the second application 115. Specifically, it is assumed that the incompatible model list of the first application 114 is a list with a wider range than the incompatible model list of the second application 115. In other words, it can be said that the range of the printer 121 that is the set target in the case of link activation is narrower than the range of the printer 121 that is the set target in the case of separate activation. However, the present invention is not limited to this embodiment, and, for example, the incompatible model list of the first application 114 may include some models described in the incompatible model list of the second application 115. In addition, for example, an embodiment may be adopted in which the incompatible model list of the first application 114 does not include the models of the incompatible model list of the second application 115. As described above, the first application 114 can perform a function of sending a print job to the printer 121 and a function of sending a scan job to the printer 121 when each printer function button 1401 is pressed. The model of the printer 121 to which the first application 114 can send various jobs is a model compatible with the first application 114. In other words, the model of the printer 121 to which the first application 114 cannot send various jobs is a model incompatible with the first application 114.
[0141] In step S601, in the case where the incompatible model list of the first application 114 does not include a model in the incompatible model list of the second application 115, the second application 115 also obtains the incompatible model list of the second application 115. The second application creates a list of incompatible models and uses the list for subsequent processing, wherein in the list of incompatible models, the list of incompatible models of the first application 114 and the list of incompatible models of the second application 115 are combined. In this way, when the second application 115 is activated through the link, the second application 115 obtains a list of printers 121 whose models are incompatible with the first application 114. Therefore, even when the user activates the second application 115 from the first application 114 and makes settings for the printer 121, it is possible to Figure 4 The printer 121 that can be used from the first application 114 is set in the process of.
[0142] In step S602, the second application 115 receives Figure 4 The printer 121 included in the incompatible model list acquired in step S601 is excluded from the list of one or more printers 121 detected in the printer search of step S402. In the following description, the printer detected in the printer search process of step S402 is referred to as a detected printer. The list of detected printers is referred to as a detected printer list. For example, it is assumed that the detected printer list includes a printer 121 of a predetermined model. In addition, it is assumed that the incompatible model list does not include a printer 121 of a predetermined model. In this case, the second application 115 does not exclude the printer 121 of the predetermined model from the detected printer list.
[0143] In the present embodiment, an example of acquiring a list of incompatible models has been described, but the present invention is not limited thereto. For example, a method may be adopted in which a list of printers 121 (compatible model list) whose models are compatible with the first application 114 is acquired, and printers 121 not included in the compatible model list are excluded from the detected printer list. Alternatively, a method of selecting a printer 121 included in the compatible model list from the detected printer list may be used.
[0144] In step S603, the second application 115 confirms the detected printer list after excluding the incompatible models in step S602, and determines whether there is a printer 121 whose model is compatible with the first application 114. The printer whose model is compatible with the first application 114 is a printer 121 that is not included in the incompatible model list of the first application 114 among the printers 121 in the detected printer list. When the second application 115 determines that the printer 121 is a model compatible with the first application 114, the second application 115 stores information indicating that at least one printer 121 whose model is compatible with the first application 114 is detected in the RAM 107, proceeds to step S608, and ends. Figure 6 Meanwhile, if it is determined that there is not even one printer 121 whose model is compatible with the first application 114, the second application 115 proceeds to step S604.
[0145] In step S604, the second application 115 is displayed on the display unit 113. Fig.13The incompatible model detection screen 1300 shown. The incompatible model detection screen 1300 includes an incompatible model detection message 1301, an "OK" button 1302, a "Cancel" button 1303, etc. The incompatible model detection message 1301 includes a message conveying to the user that a printer 121 whose model is incompatible with the first application 114 has been detected and the user should press the "OK" button 1302 to set the printer 121. The printer 121 whose model is incompatible with the first application 114 is a printer 121 included in the incompatible model list among the detected printers. When the user presses the "OK" button 1302 or the "Cancel" button 1303, the incompatible model detection screen 1300 can be closed.
[0146] In step S605, the second application 115 determines whether to perform settings for the printer 121 whose model is incompatible with the first application 114. If the second application 115 determines to perform settings, the second application 115 proceeds to step S606. Meanwhile, if the second application 115 determines not to perform settings, it proceeds to step S607. Specifically, when the user presses the "OK" button 1302 on the incompatible model detection screen 1300, the second application 115 determines to perform settings. Meanwhile, when the user presses the "Cancel" button 1303 on the incompatible model detection screen 1300 in step S604, the second application 115 determines not to perform settings. If the second application 115 determines not to perform settings, it may proceed to step S406. In the present embodiment, the printer 121 not found in the search in step S402 is set in the process starting from step S406.
[0147] In step S606, the second application 115 displays a web page (not shown) for activating an application for setting the printer 121 displayed on the incompatible model detection screen 1300 on the display unit 113. When the printer 121 displayed on the incompatible model detection screen 1300 is included in the incompatible model list of the first application 114 but is not included in the incompatible model list of the second application 115, the application for setting the printer 121 displayed on the incompatible model detection screen 1300 is the second application 115. The above-mentioned web page is, for example, a web page for installing the second application 115, and an executable file of the second application 115 is downloaded via the web page, so that the second application 115 is activated separately. As a result, the setting for separate activation shown in step S305 is performed, so that the setting of the printer 121 displayed on the incompatible model detection screen 1300 is performed. When the printer 121 displayed on the incompatible model detection screen 1300 is included in the incompatible model list of the first application 114 but not included in the incompatible model list of the second application 115, in step S606, the second application 115 can directly perform the processing of step S305 without displaying the above-mentioned web page. In addition, when the printer 121 displayed on the incompatible model detection screen 1300 is included in the incompatible model list of the first application 114 and included in the incompatible model list of the second application 115, the application for making settings for the printer 121 displayed on the incompatible model detection screen 1300 is the third application. Like the second application, the third application is not an application capable of making settings for multiple models, but is assumed to be an application capable of making settings for only a single model. In addition, the printer 121 included in the incompatible model list of the first application 114 and the incompatible model list of the second application 115 is, for example, a printer 121 of an older model than the printer 121 not included in the incompatible model list of the first application 114 or the incompatible model list of the second application 115.
[0148] In step S607 , the second application 115 records in the RAM 107 information indicating that even one printer 121 whose model is compatible with the first application 115 is not detected.
[0149] Step S608 indicates Figure 6 That is, in step S608, in the case where the second application 115 is activated by the link, the second application 115 ends the compatible model specification processing and proceeds to step S404.
[0150] In the above description, an embodiment has been described in which the processing of steps S604 to S606 is performed in a case where it is determined in step S603 that there is no printer 121 whose model is compatible with the first application 114, but the present invention is not limited to this embodiment. An embodiment may be adopted in which, in a case where it is determined in step S603 that there is no printer 121 whose model is compatible with the first application 114, the processing proceeds to step S607 without performing the processing of steps S604 to S606.
[0151] Figure 7 An example of compatible model specification processing when the second application 115 in the present embodiment is activated alone is shown. For example, the CPU 102 loads a control program stored in a memory such as the ROM 106 into the RAM 107 and executes the control program. Figure 7 processing.
[0152] Step S700 indicates Figure 7 The processing starts. Figure 7 In the process of, the second application 115 performs incompatible model detection to confirm the previously described Figure 5 Whether there is at least one printer 121 whose model is compatible with the second application 115 among the printers 121 detected in step S503 .
[0153] In step S701, the second application 115 acquires an incompatible model list, which is a list of printers 121 whose models are incompatible with the second application 115. The method of acquiring the incompatible model list of the second application 115 may be a method of acquiring a list stored as a fixed value in the second application 115, or a method of acquiring a list from an external server (not shown) via the Internet. In addition, the incompatible model list of the second application 115 is a list of models that are incompatible with the second application 115. The list of incompatible models is, for example, the list as described in step S601, and thus a description thereof will be omitted.
[0154] In step S702, the second application 115 receives Figure 4 The printer 121 included in the incompatible model list acquired in step S701 is excluded from the list of one or more printers 121 detected in the printer search in step S402 .
[0155] In step S703, the second application 115 confirms the detected printer list after excluding the incompatible models in step S702, and determines whether there is a printer 121 whose model is compatible with the second application 115. The printer whose model is compatible with the second application 115 is a printer 121 that is not included in the incompatible model list of the second application 115 among the printers 121 in the detected printer list. When the second application 115 determines that the printer 121 is a model compatible with the second application 115, the second application 115 stores information indicating that at least one printer 121 whose model is compatible with the second application 115 is detected in the RAM 107, proceeds to step S708, and ends. Figure 7 Meanwhile, if it is determined that there is not even one printer 121 whose model is compatible with the second application 115, the second application 115 proceeds to step S704.
[0156] In step S704, the second application 115 is displayed on the display unit 113. Fig.13 The incompatible model detection screen 1300 shown. The incompatible model detection screen 1300 includes an incompatible model detection message 1301, an "OK" button 1302, a "Cancel" button 1303, etc. The incompatible model detection message 1301 includes a message conveying to the user that a printer 121 whose model is incompatible with the second application 115 has been detected and the user should press the "OK" button 1302 to set the printer 121. The printer 121 whose model is incompatible with the second application 115 is a printer 121 included in the incompatible model list among the detected printers. When the user presses the "OK" button 1302 or the "Cancel" button 1303, the incompatible model detection screen 1300 can be closed.
[0157] In step S705, the second application 115 determines whether to perform setting for the printer 121 whose model is incompatible with the second application 115. If the second application 115 determines to perform setting, it proceeds to step S706. Meanwhile, if the second application 115 determines not to perform setting, it proceeds to step S707. Specifically, when the user presses the "OK" button 1302 on the incompatible model detection screen 1300, the second application 115 determines to perform setting. Meanwhile, when the user presses the "Cancel" button 1303 on the incompatible model detection screen 1300 in step S705, the second application 115 determines not to perform setting.
[0158] In step S706, the second application 115 displays a web page (not shown) for activating an application for setting the printer 121 displayed on the incompatible model detection screen 1300 on the display unit 113. As described above, in the present embodiment, the printer 121 included in the incompatible model list of the second application 115 is also included in the incompatible model list of the first application 114. Therefore, the printer 121 displayed on the incompatible model detection screen 1300 is included in the incompatible model list of the first application 114, and is included in the incompatible model list of the second application 115. Therefore, the application for setting the printer 121 displayed on the incompatible model detection screen 1300 is the third application.
[0159] In step S707 , the second application 115 records in the RAM 107 information indicating that even one printer 121 whose model is compatible with the second application 115 has not been detected.
[0160] Step S708 indicates Figure 7 That is, in step S708, when the second application 115 is activated alone, the second application 115 ends the compatible model specification processing and proceeds to step S505.
[0161] In the above description, an embodiment has been described in which the processing of steps S704 to S706 is performed in a case where it is determined in step S703 that there is no printer 121 whose model is compatible with the second application 115, but the present invention is not limited to this embodiment. An embodiment may be adopted in which, in a case where it is determined in step S703 that there is no printer 121 whose model is compatible with the second application 115, the processing proceeds to step S707 without performing the processing of steps S704 to S706.
[0162] Figure 8 106 is a flowchart showing an example of a process flow for closing the second application 115 when the second application 115 is activated by a link in the present embodiment. This process is realized by, for example, the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program. Figure 8 processing.
[0163] Step S800 indicates Figure 8 The processing starts. Figure 8 In the processing of Figure 4 In step S413, the second application 115 performs a process of sending the setting result to the first application 114 as a process performed when the application ends.
[0164] In step S801, the second application 115 determines whether the first application 114 is activated. Meanwhile, if it is determined that the first application 114 is not activated, the second application 115 proceeds to step S802. Meanwhile, if it is determined that the first application 114 is activated, the second application 115 proceeds to step S803. The second application 115 may determine whether the first application 114 is activated by instructing the operating system using, for example, an application programming interface (API).
[0165] In step S802, the second application 115 activates the first application 114. Then, the CPU 102 advances the process to step S803.
[0166] In step S803, the second application 115 sends the setting result to the first application 114. Specifically, a plurality of pieces of information including information on success / failure of the setting process and information for identifying the setting target printer 121 are sent to the first application 114 as a result of the setting. Figure 4 The result of the process for setting the printer 121 from step S401 to step S410 in step S407 may be configured so that, in the case where the setting of the printer 121 has failed, the information for identifying the printer 121 is not sent. The information on the success / failure of the setting process is information indicating whether the second application 115 has successfully set the printer 121. The case where the setting of the printer 121 is successful is, for example, the case where a connection is established between the information processing apparatus 101 and the printer 121 in the connection process of step S407, and then the process is started by pressing the close button 1203 on the setting completion screen. Figure 8 The case where the setting of the printer 121 fails is, for example, the following case: even if the interface selected by the user in step S406 is a wireless LAN and the connection information has been sent to the printer 121, the printer 121 selected in step S405 has not been found, so the printer 121 is started. Figure 8 In addition, for example, when the interface selected by the user in step S406 is a wired LAN or USB, and even if the above-mentioned various guide screens are displayed, the printer 121 selected in step S405 is not found, the process starts. Figure 8 As an example of information on success / failure of setting processing included in the setting result, there is the following method: Figure 4When each process in steps S401 to S410 shown is successful, the success / failure information is expressed by character string information such as "SETUP_SUCCESS", and otherwise the success / failure information is expressed by "SETUP_FAIL". In addition, an example of information included in the setting result for identifying the printer 121 is identification information that can be obtained when the printer 121 is detected in the printer search process in step S402 or in the process for connecting to the printer 121 in step S408. The identification information is, for example, the model name, MAC address, serial number, etc. of the printer 121. For example, when multiple printers 121 with the same model name are detected, there is a situation where the set printer 121 cannot be specified as a single printer by independent identification information. Therefore, the second application 115 can send the setting result including multiple identification information to the first application 114.
[0167] An example of a method in which the second application 115 sends the setting result to the first application 114 in step S803 is given below. For example, a method may be adopted in which the first application 114 provided in the ROM 106 stores the setting result as the above-mentioned character string information in a file that can be referred to, and the first application 114 refers to the file. Alternatively, a method may be adopted in which the second application 115 assigns an activation instruction when activating the first application 114 as a command line parameter. Alternatively, a method of sending through inter-process communication with the activated first application 114, etc. may be adopted.
[0168] A series of processes from step S801 to step S803 may use: an application activation unit (also called "deep link") using a "URL scheme" (sometimes referred to as a "URI scheme" or a "custom URL"). Hereinafter, an example of using this method in the present embodiment will be described. For example, the second application 115 generates a URL "portal: / / SETUP_SUCCESS / Param?PRINTERNAME=AAA&SERIAL=12345678", which adds a character string indicating the setting result to be sent to the first application 114 after the URL scheme "portal: / / " indicating the first application 114, and instructs the operating system of the information processing device 101 to perform a process for opening the URL. In the operating system, the process for activating the first application 114 is registered as an operation corresponding to the URL scheme "portal: / / ", and the operating system activates the first application 114 through the process for opening the URL. The first application 114 obtains the character string "SETUP_SUCCESS / Param?PRINTERNAME=AAA&SERIAL=12345678" after the URL scheme "portal: / / " indicating the first application 114 as a parameter. The first application 114 obtains the setting result "SETUP_SUCCESS" included in the character string, and determines that the setting is successful. The first application 114 obtains the identification information "Param?PRINTERNAME=AAAA&SERIAL=12345678" included in the character string, and determines that the model name of the printer 121 is set to "AAA" and the serial number is set to "12345678". When the first application 114 has been activated, the above parameters are sent to the activated first application 114.
[0169] In step S804, the second application 115 performs a process for closing itself. Specifically, the second application 115 closes all screens displayed by the second application 115 and ends its process.
[0170] Step S805 indicates Figure 8 After completing the process of step S804, the second application 115 ends the flow of the process for closing the second application 115 when the second application 115 is activated by the link.
[0171] Through the present embodiment, the construction of the control for determining whether to display the screen of the license agreement based on the activation source of the second application 115 has been described above. When the second application 115 is activated from the first application 114, the same screen as the screen of the license agreement displayed in the first application 114 can be prevented from being displayed again based on the activation of the second application 115. This prevents the user from being required to agree to the same license agreement that he or she agreed to in the first application. Therefore, usability can be improved and setting time can be shortened.
[0172] Furthermore, with the present embodiment, the display of the setting completion screen is controlled so that the display for receiving an instruction on whether to display a screen related to a method of using the printer 121, etc., differs based on the activation source of the second application 115. In the case where the second application 115 is link-activated, an interface display that does not display a screen related to a method of using the printer 121, etc., is displayed on the setting completion screen. That is, in the case where the second application 115 is activated by a link, the user can close the setting completion screen by pressing the close button 1203 without displaying the screen related to the method of using the printer 121, etc. Therefore, even when the first application 114 and the second application 115 can be operated independently of each other, the convenience of the user can be improved.
[0173] Furthermore, with the present embodiment, a configuration is described in which the second application 115 performs control to change the model of the target printer 121 based on the activation source of the second application 115. Therefore, when the second application 115 is activated from the first application 114, the second application 115 can be set with the model of the printer 121 compatible with the first application 114 as a target. Therefore, even when the first application 114 and the second application 115 can operate independently of each other, the convenience of the user can be improved.
[0174] In the present embodiment, the screen of the software license agreement has been described as an example of a screen displayed based on the activation of the first application 114 and a screen whose display is controlled based on the activation source of the second application 115, but the present invention is not limited thereto. The screen displayed based on the activation of the first application 114 and the screen whose display is controlled based on the activation source of the second application 115 may be, for example, a screen for requesting the user to agree to predetermined usage rules, confirmation items, processing of personal information, etc. Alternatively, a screen such as an advertisement related to the printer 121, etc., a screen for requesting input from the user (such as a login screen), or a screen for notifying the user of a predetermined notification, etc., may also be possible.
[0175] In the present embodiment, an example in which a web page related to the method of using the printer 121 is displayed from the setting completion screen 1200 or the setting completion screen 1204 displayed by the second application 115 is described, but the present invention is not limited thereto. The screen displayed from the setting completion screen of the second application 115 may be, for example, a screen related to the method of using the first application 114 or the printer 121, an introduction screen introducing products of the provider of the first application 114, or an advertisement screen related to the first application 114 or the printer 121. These screens are not limited to being displayed by a web browser, and may be displayed on the screen of the first application 114.
[0176] <Other embodiments>
[0177] Needless to say, the purpose of the present disclosure can also be achieved in the following manner: a recording medium is provided for a system or device, in which the program code of the software for realizing the functions of the above-mentioned embodiments is recorded; a computer (or CPU or MPU) of the system or device reads and executes the program code stored in the recording medium. In this case, the program code read from the storage medium itself realizes the functions of the above-mentioned embodiments, and the storage medium storing the program code constitutes the present invention.
[0178] For example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, a DVD, etc. can be used as a storage medium for providing the program code.
[0179] Furthermore, it is beyond doubt that not only the execution of the program code read by a computer that implements the functions of the above-mentioned embodiments, but also the situation in which an operating system etc. running on the computer performs some or all of the actual processing based on the instructions of the program code and implements the functions of the above-mentioned embodiments through this processing is included in the present invention.
[0180] In addition, there is no doubt that after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the CPU provided in the function expansion board or the function expansion unit performs some or all of the actual processing based on the instructions of the program code and implements the functions of the above-mentioned embodiments through the processing, which is included in the present invention.
[0181] Other embodiments
[0182] The (multiple) embodiments of the present invention may also be implemented as follows: a computer of a system or device, the system or device reads and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more completely referred to as a "non-transitory computer-readable storage medium") to perform one or more functions of the above (multiple) embodiments, and / or the system or device includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions of the above (multiple) embodiments; and a method performed by a computer of the system or device, for example, reading and executing computer executable instructions from a storage medium to perform one or more functions of the above (multiple) embodiments, and / or controlling the one or more circuits to perform one or more functions of the above (multiple) embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessing unit (MPU)), and may include a network of separate computers or separate processors to read and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or a storage medium. The storage medium may include, for example, a hard disk, a random access memory (RAM), a read-only memory (ROM), a memory of a distributed computing system, an optical disk (such as a compact disc (CD), a digital versatile disc (DVD), or a Blu-ray disc (BD) TM ), one or more of a flash memory device and a memory card, etc.
[0183] The embodiments of the present invention may also be implemented by providing software (program) for performing the functions of the above-described embodiments to a system or device via a network or various storage media, and a computer or a central processing unit (CPU) or a microprocessing unit (MPU) of the system or device reads and executes the program.
[0184] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Claims
1. A method for controlling an information processing device, the information processing device having a first program and a second program, The control method comprises: executing, according to the first program, a first process for obtaining consent from a user to a software license agreement regarding the second program; After obtaining consent to a software license agreement regarding the second program by executing the first process, activating the second program from the first program by executing an activation instruction according to the first program; as well as Based on the second program being activated by executing the activation instruction according to the first program, a second process for obtaining consent from a user to a software license agreement regarding the second program is not performed according to the second program, and based on the second program being activated without executing the activation instruction according to the first program, a second process is performed according to the second program.
2. The control method according to claim 1, wherein: The first process also includes a process for obtaining an agreement from a user to a software license agreement regarding the first program.
3. The control method according to claim 1, wherein: The second process also includes a process for obtaining an agreement from a user to a software license agreement regarding the first program.
4. The control method according to claim 1, wherein: The software license agreement is an End User License Agreement EULA.
5. The control method according to claim 1, wherein: In a case where an agreement to a software license agreement regarding the second program has been obtained, the first process is not performed according to the first program.
6. The control method according to claim 1, wherein: The first process and the second process include a process for displaying a screen for obtaining an agreement from a user to a software license agreement regarding the second program.
7. The control method according to claim 1, wherein: Based on the activation of the second program by executing the activation instruction according to the first program, the second process is not executed according to the second program, but a third process is executed according to the second program, and Based on the second program being activated without executing an activation instruction according to the first program, the second process and the third process are executed according to the second program.
8. The control method according to claim 7, wherein: The third process includes a search process for searching for one or more devices belonging to the same network as the network to which the information processing device belongs, and a display process for displaying the one or more devices found by the search process.
9. The control method according to claim 8, further comprising: A process for performing control is performed according to the second program, so that when the second program is activated by executing the activation instruction according to the first program, one or more devices whose models are incompatible with the first program among the one or more devices belonging to the same network as the network to which the information processing device belongs are not displayed through the display process, and one or more devices whose models are compatible with the first program among the one or more devices belonging to the same network as the network to which the information processing device belongs are displayed through the display process, and executing a process for performing control according to the second program so that, when the second program is activated without executing an activation instruction according to the first program, one or more devices whose models are incompatible with the second program among one or more devices belonging to the same network as the network to which the information processing device belongs are not displayed through the display process, and one or more devices whose models are compatible with the second program among the one or more devices belonging to the same network as the network to which the information processing device belongs are displayed through the display process, The range of models compatible with the first program is different from the range of models compatible with the second program.
10. The control method according to claim 9, in, The range of models compatible with the first program is wider than the range of models compatible with the second program.
11. The control method according to claim 9, wherein: The range of models compatible with the first program includes at least a portion of the range of models compatible with the second program.
12. The control method according to claim 8, further comprising: According to the second program, processing related to connection between a device selected by a user among the one or more devices displayed by the display processing and the information processing device is performed.
13. The control method according to claim 8, wherein: The one or more devices displayed by the display process are printers.
14. The control method according to claim 7, further comprising: In a case where the third process is completed according to the second program, after the process for displaying a predetermined screen has been performed according to the second program, the process for closing the second program is performed according to the second program.
15. The control method according to claim 14, further comprising: When the second program is activated by executing the activation instruction according to the first program and the third process is completed according to the second program, a first screen including a first button and a second button is displayed, and when the second program is activated without executing the activation instruction according to the first program and the third process is completed according to the second program, displaying a second screen including the first button but not including the second button, wherein, based on the first button being operated, processing for displaying the predetermined screen and processing for closing the second program are executed according to the second program, and Based on the second button being operated, processing for closing the second program is executed according to the second program, and processing for displaying the predetermined screen is not executed according to the second program.
16. The control method according to claim 14, wherein: The predetermined screen is at least one of the following screens: a screen related to a method of using the first program, a screen related to a method of using a device external to the information processing device, a screen for introducing a product provided by a provider of the first program, a screen of an advertisement related to the first program, and a screen of an advertisement related to a device external to the information processing device, and The predetermined screen is a screen to be displayed by a web browser or the first program.
17. The control method according to claim 1, wherein: The first program and the second program are application programs.
18. The control method according to claim 1, further comprising: According to the first program, at least one of a print job for causing a device external to the information processing device to execute printing and a scan job for causing a device external to the information processing device to execute scanning is transmitted.
19. An information processing device, the information processing device having a first program and a second program, the information processing device comprising: a first execution unit configured to execute, according to the first program, a first process for obtaining an agreement from a user on a software license agreement regarding a second program; an activation unit configured to activate the second program from the first program by executing an activation instruction according to the first program after obtaining an agreement to a software license agreement regarding the second program by executing the first process; as well as A second execution unit is configured to, based on the second program being activated by executing the activation instruction according to the first program, not execute a second process for obtaining a user's consent to a software license agreement regarding the second program according to the second program, and based on the second program being activated without executing the activation instruction through the first program, execute a second process according to the second program.
20. A non-transitory computer-readable storage medium storing a first program configured to cause a computer to perform the following operations and a second program different from the first program: based on the second program being activated by executing the activation instruction according to the first program, a second process for obtaining consent from a user to a software license agreement regarding the second program is not executed according to the second program, and, executing the second process according to the second program based on the second program being activated without executing the activation instruction according to the first program; executing, according to the first program, a first process for obtaining consent from a user to a software license agreement regarding the second program; and After obtaining an agreement to a software license agreement regarding the second program by executing the first process, the second program is activated from the first program by executing an activation instruction according to the first program.
21. A computer program product configured to cause a computer to: based on the second program being activated by executing the activation instruction according to the first program, not executing a second process for obtaining an agreement from a user on a software license agreement regarding the second program according to the second program, and executing the second process according to the second program based on the second program being activated without executing the activation instruction according to the first program; executing, according to the first program, a first process for obtaining consent from a user to a software license agreement regarding the second program; and After obtaining an agreement to a software license agreement regarding the second program by executing the first process, the second program is activated from the first program by executing an activation instruction according to the first program.
Citation Information
Patent Citations
Program, communication method, and communication system
JP2018191252A