Information processing apparatus, method and program

JP2025027665A5Pending Publication Date: 2026-08-14CANON KK
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-16
Publication Date
2026-08-14

AI Technical Summary

Benefits of technology

【0008】 本発明は、第1のアプリケーションと第2のアプリケーションとが、それぞれ独立したアプリケーションとして動作可能な場合であっても、利便性を向上させることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To improve the convenience even when first and second applications can run as independent applications.SOLUTION: An information processing apparatus has a first application and a second application different from the first application. The first application has: display means that displays a predetermined screen based on the start of the first application; and first start means that starts the second application. The second application has display control means that makes the display of the predetermined screen based on the start of the second application different depending on whether the second application is started by the first start means or the second application is started by second start means different from the first start means.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, method, and program. [Background technology]

[0002] A user sets up a purchased printing device (hereinafter referred to as a printer) so that it 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, including connecting the printer to a network, installing a driver in the information processing device, and obtaining a license agreement for using the printer in various Web services. After setting up the printer, the user can perform printing, scanning, etc. using a portal application (hereinafter referred to as a portal app) that provides printer functions such as printing and scanning. Patent Document 1 describes a method for connecting a printer to a network when setting up the printer.

[0003] However, if a user uses a portal app before setting up a printer with a setup app, the printer function cannot be used from the portal app because the information processing device is not yet ready to use the printer. Therefore, it is required to provide a printer setup function to the portal app. One method of providing a setup function to a portal app is for the portal app to download and launch an existing setup app. This method has the advantage that the setup function can be easily added to the portal app, compared to a method of newly implementing a setup function in the portal app. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2018-191252 A Summary of the Invention [Problem to be solved by the invention]

[0005] Since the first application and the second application can operate as independent applications, it is desired to improve convenience.

[0006] An object of the present invention is to improve convenience even when a first application and a second application are capable of operating as independent applications. [Means for solving the problem]

[0007] In order to solve the above problem, an information processing device according to the present invention has a first application and a second application different from the first application, the first application has a display means for displaying a predetermined screen based on the launch of the first application and a first launch means for launching the second application, and the second application has a display control means for changing the display of the predetermined screen based on the launch of the second application between a case where the second application is launched by the first launch means and a case where the second application is launched by a second launch means different from the first launch means. Effect of the Invention

[0008] The present invention can improve convenience even when the first application and the second application are capable of operating as independent applications. [Brief description of the drawings]

[0009] [Figure 1] Information processing system configuration diagram [Diagram 2] 4 is a flowchart showing a process executed by the information processing device. [Diagram 3]4 is a flowchart showing a process executed by the information processing device. [Figure 4] 4 is a flowchart showing a process executed by the information processing device. [Diagram 5] 4 is a flowchart showing a process executed by the information processing device. [Figure 6] 4 is a flowchart showing a process executed by the information processing device. [Figure 7] 4 is a flowchart showing a process executed by the information processing device. [Figure 8] 4 is a flowchart showing a process executed by the information processing device. [Figure 9] FIG. 13 illustrates a software license acquisition screen. [Figure 10] FIG. 13 illustrates a printer selection screen. [Figure 11] FIG. 13 is a diagram showing an interface selection screen. [Figure 12] FIG. 13 illustrates a setup completion screen. [Figure 13] FIG. 13 is a diagram showing a non-compatible model detection screen. [Figure 14] FIG. 13 is a diagram showing a printer usage screen. [Figure 15] FIG. 13 illustrates a setup failure notification screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.

[0011] First Embodiment 1 is a diagram showing an example of the configuration of an information processing system in this embodiment. In this embodiment, the information processing device 101 will be described as a PC as an example, but is not limited to this. The information processing device 101 may be, for example, a smartphone or a tablet. The information processing device 101 has 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.

[0012] The CPU 102 is a system control unit, and controls the entire information processing device 101. The CPU 102 reads out programs stored in a storage medium such as the external storage device 103 or the ROM 106 into a RAM 107 serving as a work area, and executes the programs to perform various processes.

[0013] 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 application programs, an Operating System (OS), a driver for a printing device 121, and various other data.

[0014] A keyboard 111 and a mouse 112 are connected to the input interface 104. The input interface 104 acquires information on user operations received via input devices such as the keyboard 111 and the mouse 112, and transmits 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.

[0015] The ROM 106 is, for example, a non-volatile storage, and stores fixed data such as programs and data tables executed by the CPU 102, and an embedded operating system (hereinafter, referred to as OS) program. In this embodiment, the ROM 106 stores a portal application 114, a setup application 115, and the like. In the following description, the portal application 114 will be referred to as a first application 114, and the setup application 115 will be referred to as a second application 115.

[0016] The first application 114 and the second application are applications related to a device connected to the information processing device 101. In this embodiment, the device connected to the information processing device 101 is the printer 121. The first application 114 is an application capable of instructing execution of a function of the printer 121 connected to the information processing device 101. The second application 115 is an application that sets up the printer 121 connected to the information processing device 101. In this 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 setup. Note that in this embodiment, the first application 114 is a portal application that can execute not only a function of starting the second application 115 and causing the second application 115 to set up the printer 121, but also a print job transmission function and a scan job transmission function. The print job transmission function is specifically a function of transmitting a print job to the printer 121 to cause the printer 121 to print image data selected by a user on the information processing device 101. Specifically, the scan job transmission function is a function for transmitting a scan job to the printer 121 to cause the printer 121 to execute a scan and transmit image data obtained by the scan to the information processing device 101. The second application 115 has a function for setting up the printer, but does not have a print job transmission function or a scan job transmission function, and is an application dedicated to setup. However, it is not limited to this form, and for example, the second application 115 may also have a print job transmission function or a scan job transmission function.

[0017] The wired LAN interface 108, the wireless LAN interface 109, and the USB interface 110 are communication interfaces that execute data communication with external devices. The wired LAN interface 108 is an interface that allows wired communication with external devices via a router 151 or the like. The wireless LAN interface 109 is an interface that allows wireless communication with external devices via a wireless LAN access point 152 or the like. The USB interface 110 is an interface that allows local communication with external devices.

[0018] The configuration of the information processing device 101 is not limited to the above-mentioned configuration, and the device applied as the information processing device 101 may have any appropriate configuration according to the functions that can be executed.

[0019] Next, a description will be given of the hardware configuration of the printer 121. The printer 121 has a CPU 122, a ROM 123, a RAM , 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 .

[0020] 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 configurations similar to those of the information processing device 101 will be omitted.

[0021] The print engine 130 is a module that realizes print processing by controlling a printing unit (not shown) that executes a print function based on, for example, print data, print settings, print control information, etc. received from the first application 114, etc. The operation unit 131 is, for example, an interface that accepts input of various settings and operation instructions from the user.

[0022] The information processing device 101 and the printer 121 are connected to each other via their respective interfaces and can communicate with each other. For example, the USB interface 110 of the information processing device 101 and the USB interface 129 of the printer 121 may be connected by a USB cable. For example, they may be directly connected with one USB cable, or may be connected with two USB cables via a USB hub (not shown). When wired communication is performed 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. When wireless communication is performed 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 is possible via both wired LAN and wireless LAN. Therefore, the wired LAN interface 108 of the information processing device 101 may be connected to the wireless LAN interface 128 of the printer 121, or the wireless LAN interface 109 of the information processing device 101 may be connected to the wired LAN interface 127 of the printer 121. The router 151 and the wireless LAN access point 152 are connected to the Internet, and the information processing device 101 and the printer 121 can access the Internet through their respective wired LAN interfaces and wireless LAN interfaces. Up to this point, three types of interfaces, wired LAN, wireless LAN, and USB, have been described as methods for mutual communication between the information processing device 101 and the printer 121. For example, it is not necessary to have all three types of interfaces; it is sufficient to have any one of the interfaces.

[0023] <About the direct connection method> A direct connection refers to a form in which devices are wirelessly connected directly (i.e., peer-to-peer) to each other without going through an external device such as a wireless LAN access point 152. A direct connection is also called a peer-to-peer connection (P2P connection). The printer 121 can operate in a mode for communicating via a direct connection (direct connection mode) as one of the connection modes. In Wi-Fi communication, there are multiple modes for communicating via a direct connection, such as a software AP mode and a Wi-Fi Direct (WFD) mode.

[0024] A mode in which a direct connection is performed by WFD is called WFD mode. WFD is a standard established by the Wi-Fi Alliance and is included in the IEEE802.11 series of communication standards. In WFD mode, after a device to be a communication partner is searched for by a device search command, the roles of P2P group owner (GO) and P2P client are determined, and the remaining wireless connection processing is performed. The group owner corresponds to a Wi-Fi parent station (parent device), and the client corresponds to a Wi-Fi child station (child device). This role determination corresponds to, for example, GO Negotiation in P2P. Note that in the WFD mode before the role determination, the printer 121 is in a state of neither a parent station nor a child station. Specifically, first, one device issues a device search command between devices to communicate with each other and searches for a device to connect in WFD mode. When the other device to be a communication partner is searched for, the two devices confirm information about services and functions that can be provided by each other's devices. Note that this device provision information confirmation is optional and not required. This device provision information confirmation phase corresponds to, for example, Provision Discovery of P2P. Next, by mutually confirming this device provision information, it is determined which one will be the P2P client and which one will be the P2P group owner as their roles. Next, when the client and the group owner are determined, parameters for communication by WFD are exchanged between them. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the P2P client and the group owner. Note that in the WFD mode, the printer 121 may always operate as a GO without executing the above-mentioned GO Negotiation. That is, the printer 121 may operate in a WFD mode that is an autonomous GO mode. Also, the state in which the printer 121 operates in the WFD mode is, for example, a state in which the printer 121 operates as a GO even though a connection by WFD is not established, or a state in which a connection by WFD is established and the printer 121 operates as a GO.

[0025] In the software AP mode, between devices that communicate (for example, the information processing device 101 and the printer 121), one device (for example, the information processing device 101) becomes a client that plays a role of requesting various services. The other device realizes the function of an AP in Wi-Fi by software settings. The software AP corresponds to a parent station of Wi-Fi, and the client corresponds to a child station of Wi-Fi. In the software AP mode, the client searches for a device that will become a software AP using a device search command. When the software AP is found, the remaining wireless connection processing (establishment of a wireless connection, etc.) between the client and the software AP is performed, and then IP connection processing (assignment of an IP address, etc.) is performed. Note that commands and parameters transmitted and received when realizing a wireless connection between a client and a software AP may be those specified in the Wi-Fi standard, and therefore a description thereof will be omitted here.

[0026] In this embodiment, when the printer 121 establishes and maintains a direct connection, the printer 121 operates as a parent station in the network to which the printer 121 belongs. The parent station is a device that constructs a wireless network and provides a child station with parameters used for connecting to the wireless network. The parameters used for connecting to the wireless network are, for example, parameters related to the channel used by the parent station. By receiving the parameters, the child station connects to the wireless network constructed by the parent station using the channel used by the parent station. In the direct connection mode, the printer 121 operates as a parent station, so that the printer 121 can determine which frequency band and which channel to use for communication in the direct connection mode. In this embodiment, 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.

[0027] <About infrastructure connection method> The infrastructure connection is a connection form in which devices (for example, the information processing device 101 and the printer 121) are connected to an AP (for example, a wireless LAN access point 152) that manages a network of devices that communicate with each other, and the devices communicate with each other via the AP. The printer 121 can also operate in a mode for communicating via an infrastructure connection (infrastructure connection mode) as one of the connection modes.

[0028] In infrastructure connections, each device searches for an AP using a device search command. Once an AP is found, the remaining wireless connection processing between the device and the AP (establishment of a wireless connection, etc.) is carried out, and then IP connection processing (assignment of an IP address, etc.) is carried out. Note that commands and parameters sent and received when establishing a wireless connection between a device and an AP can be those specified in the Wi-Fi standard, and so a description of these will be omitted here.

[0029] In this embodiment, when the printer 121 operates in the infrastructure connection, the wireless LAN access point 152 operates as a parent station, and the printer 121 operates as a child device. That is, in this embodiment, the infrastructure connection refers to a connection between the printer 121 operating as a child device and a 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 is possible via the wireless LAN access point 152. Since the channel used for communication in the infrastructure connection is determined by the wireless LAN access point 152, the printer 121 executes communication in the infrastructure connection using the channel determined by the wireless LAN access point 152. In this embodiment, the printer 121 is assumed to be able to 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 infrastructure connection. Note that the printer 121 is also able to use a channel corresponding to the DFS band in the 5 GHz frequency band for communication in the infrastructure connection. In order for the information processing device 101 to communicate with the printer 121 via the wireless LAN access point 152, the information processing device 101 must recognize that the printer 121 belongs to the network formed by the wireless LAN access point 152 and to which the information processing device 101 belongs.

[0030] <Connection setup process> In this embodiment, the information processing device 101 executes connection settings (network settings) for operating the printer 121 in at least one of the communication methods of infrastructure connection and direct connection, using wireless communication with the printer 121. The connection setting process in this embodiment is also called cable-less setup (CLS) because it is executed by wireless communication. Note that the connection setting process may be executed by wired communication. The information processing device 101 executes connection setting processing for the printer 121 when the second application 115 stored in the external storage device 103 or the like is activated. The printer 121 can operate in a connection setting mode (connection setting state), which is a mode for executing the connection setting process, and executes the connection setting process while operating in the connection setting mode. Details of the connection setting mode will be described later.

[0031] When the information processing device 101 operates the printer 121 in the infrastructure connection mode, it wirelessly transmits infrastructure setting information, which is setting information for operating the printer 121 in the infrastructure connection mode, 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, an SSID (Service Set Identifier), a password, and information related to a frequency band.

[0032] On the other hand, when the information processing device 101 operates the printer 121 in the direct connection mode, the information processing device 101 wirelessly transmits direct setting information, which is setting information for operating the printer 121 in the direct connection mode, to the printer 121. The direct setting information includes instructions for enabling the WFD function to operate the printer 121 as a Group Owner and for enabling the access point setting of the printer 121. In addition, the information processing device 101 acquires connection information required for directly connecting to the printer 121 from the printer 121. The connection information for directly connecting to the printer 121 includes information such as the SSID and password of the printer 121, for example.

[0033] In this embodiment, a direct connection for connection setting between the information processing device 101 and the printer 121 is used for transmitting infrastructure setting information and direct setting information in the connection setting process, and for acquiring information for directly connecting to the printer 121. In this embodiment, the connection setting process is executed using Wi-Fi as the direct connection for connection setting, but 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 USB (Universal Serial Bus) may be used.

[0034] After the information processing device 101 and the printer 121 are connected via an infrastructure connection or a direct connection by Wi-Fi through the connection setting process, communication between the information processing device 101 and the printer 121 becomes possible through the established connection. Specifically, for example, the information processing device 101 can transmit, to the printer 121, a print job for causing the printer 121 to execute printing or a scan job for causing the printer 121 to execute scanning through the established connection. Note that in this embodiment, the connection setting process can cause the printer 121 to operate in either an infrastructure connection mode or a direct connection mode, but is not limited to this form. For example, the connection setting process may be capable of causing the printer 121 to operate only in the infrastructure connection mode (i.e., the printer 121 cannot operate in the direct connection mode).

[0035] <About connection setting mode> Printer 121 can operate in a connection setting mode. A trigger for printer 121 to start operation in the connection setting mode may be, for example, a user pressing a connection setting mode button, or printer 121 starting up (powering on) for the first time after arrival. The connection setting mode button may be a hard button provided in printer 121, or may be a soft button displayed on display unit 132 by printer 121.

[0036] When the printer 121 starts operating in the connection setting mode, it enables both Wi-Fi communication and BLE communication. Specifically, the printer 121 enables an internal AP (connection setting AP) of the printer 121 dedicated to the connection setting mode as an enabling process of Wi-Fi communication. This enables the printer 121 to establish a direct connection with the information processing device 101 by Wi-Fi. It is assumed that connection information (SSID and password) for connecting to the connection setting AP is held in advance in a setup application installed in the information processing device 101, and the information processing device 101 recognizes the connection information for connecting to the connection setting AP in advance. Note that an encryption method may not be set in the connection setting AP, and a password may not be required for connecting to the AP. Therefore, unlike the connection information of the AP enabled in the direct connection mode, it is assumed that the connection information for connecting to the connection setting AP cannot be arbitrarily changed by the user. Note that in the connection setting mode, the printer 121 may connect to the information processing device 101 by Wi-Fi Direct (WFD) instead of normal Wi-Fi. That is, the printer 121 may operate as a group owner and receive a setting command from the information processing apparatus 101 through WFD communication.

[0037] 1, the printer 121 may have a suitable configuration according to the functions executable by a device applied as the printer 121. The printer 121 may be, for example, a printer using an inkjet recording method, or a printer using another recording method such as an electrophotographic method, a thermal transfer method, or a dot impact method. The printer 121 may be a multifunctional peripheral (MFP) in which the functions of a scanner, facsimile, etc. are integrated.

[0038] In the information processing system as shown in FIG. 1, in order for a user to use the printer 121 from the information processing device 101, the user first sets up the printer 121 using the second application 115. By setting up the printer 121, the user can use the printer 121 from the information processing device 101 using the first application 114. On the other hand, the user may use the first application 114 before setting up the printer 121. In this case, the user cannot use the functions of the printer 121 using the first application 114 because the setup of the printer 121 has not been completed.

[0039] Therefore, the first application 114 may have a setup function for downloading the second application 115 from the first application 114, activating the second application 115, and performing setup. However, since the first application 114 and the second application 115 can each operate as independent applications, it is desired to improve user convenience.

[0040] For example, when using 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 agrees to the software license agreement when starting up the first application 114, when the second application 115 is started, a software license agreement screen similar to that of the first application 114 is displayed, and the user is required to agree to the agreement again. In the following description, the software license agreement may be referred to as a license agreement.

[0041] In this embodiment, a configuration will be described in which the display process of the license agreement screen is changed based on the launch source of second application 115. With this configuration, when second application 115 is launched from first application 114, a screen similar to the license agreement displayed in first application 114 is not displayed in second application 115. This eliminates the need for the user to accept the license agreement that was accepted in first application 114 again in second application 115.

[0042] Fig. 2 is a flowchart showing an example of processing executed when setting up the printer 121 using the first application 114 in this embodiment. The processing executed by the first application 114 in Fig. 2 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program.

[0043] S200 indicates the start of the processing in Fig. 2. When the first application 114 installed in the information processing device 101 is started by the user, the first application 114 executes the processing in Fig. 2.

[0044] In S201, the first application 114 judges whether or not the user has agreed to the software license agreement (End-User License Agreement (EULA)). In S201, if the first application 114 judges that the user has not agreed to the software license agreement, the process proceeds to S202. On the other hand, if the first application 114 judges that the user has agreed to the software license agreement, the process proceeds to S203. Specifically, the first application 114 refers to an area (not shown) for storing application data of the first application 114, which is provided in the ROM 106 or the like, by the process of S202 described later. The first application 114 refers to information indicating the user's agreement to the software license agreement, and makes the above-mentioned judgment.

[0045] In S202, the first application 114 executes control for obtaining consent to the software license agreement. Specifically, the first application 114 displays a software license acquisition screen 900 shown in FIG. 9 on the display unit 113. In other words, the software license acquisition screen 900 is also a screen displayed based on the start of the first application 114. The software license acquisition screen 900 has a link 901 to the contents of the license agreement, an agreement button 902 for the license agreement, and a non-agreement button 903 for the license agreement. In other words, the software license acquisition screen 900 is also an agreement screen that requests consent from the user. The contents of the license agreement include the contents of the license agreement of the first application 114 as well as the contents of the license agreement of the second application 115. In other words, the license agreement serves as the license agreements of a plurality of applications for using the printer 121. In other words, the process of S202 is a control for obtaining consent to both the software license agreement for the first application 114 and the software license agreement for the second application 115. Consent to software license agreements for other applications provided by the vendor providing the first application 114 and the second application 115 may also be obtained by the software license acquisition screen 900. This eliminates the need for consent to a license agreement for each application when the user uses multiple applications to use the printer 121. Therefore, the user can immediately use each application.

[0046] In S202, if the user presses the license agreement agreement button 902, the first application 114 determines that the user agrees to the contents of the license agreement (agreement to the license agreement has been obtained), and proceeds to the process of S203. In S202, for example, if the user presses the license agreement non-agreement button 903, the first application 114 may end the process of FIG.

[0047] Furthermore, in S202, first application 114 stores information indicating that the user has agreed to the license agreement in an area (not shown) for storing application data of first application 114, which is provided in ROM 106. As a result, when the user launches first application 114 in the future, license acquisition screen 900 will not be displayed again. Note that the present invention is not limited to this form, and license acquisition screen 900 may be displayed every time first application 114 is launched.

[0048] In S203, the first application 114 determines whether or not there is a printer 121 available from the first application 114. In S203, if the first application 114 determines that there is no available printer 121, the process proceeds to S204. On the other hand, if the first application 114 determines that there is an available printer 121, the process proceeds to S205. Specifically, the first application 114 acquires a print queue installed in the information processing device 101 and determines whether or not there is a print queue of the printer 121 available from the first application 114. Note that a print queue is an object that holds print data at the time of printing and provides a function of sequentially printing, and one or more print queues are created for each device that provides a print function. In addition, the printer 121 available from the first application 114 is the printer 121 provided by the same vendor as the vendor that provides the first application 114. In this embodiment, a print queue of the printer 121 is created in a setup process of the printer 121 by the second application 115, which will be described later. Note that the process of S203 may be omitted. In this case, the process may always proceed to S205 after S201 or S202.

[0049] In S204, the first application 114 judges whether or not to execute the setup function. If the first application 114 judges that the setup function is to be executed, the process proceeds to S207. On the other hand, if the first application 114 judges that the setup function is not to be executed, the process proceeds to S218. In this embodiment, the setup function includes a process in which the first application 114 downloads the second application 115 from an external server or the like and starts the second application 115. That is, the setup function is a function in which the first application 114 starts the second application 115 and the second application 115 sets up the printer 121. Specifically, the first application 114 displays a screen (not shown) that allows the user to select whether or not to execute the setup function. On this screen, for example, a button is provided for the user to select whether to execute the setup function or to end without executing the setup. If the first application 114 detects that the button for executing the setup function has been pressed by the user, the process proceeds to S207. On the other hand, if the first application 114 detects that the user has pressed a button for ending the setup without executing the setup, the process proceeds to S218.

[0050] In S205, the first application 114 selects one of the printers 121 available from the first application 114, and displays a screen for using the functions of the selected printer 121. Specifically, the first application 114 displays a printer usage screen 1400 shown in FIG. 14 on the display unit 113. Specifically, the printer 121 available from the first application 114 is, for example, a printer 121 corresponding to capability information previously acquired and stored by the first application 114, and is a printer 121 registered in the first application 114. The printer usage screen 1400 has a printer function button 1401, a printer icon 1402, a setup start button 1403, and the like. The setup start button 1403 is a button for setting up a new printer 121. In other words, the setup 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 in S213 described later. Moreover, the printer usage screen 1400 has an interface for displaying a screen related to the printer 121. For example, the printer usage screen 1400 has an interface for displaying a convenient way of using the printer 121. The convenient way of using the printer 121 is, in other words, a way of utilizing the printer 121. The way of utilizing the printer 121 is, for example, a way of performing printing by the printer 121 or a way of performing copying by the printer 121. More specifically, it is, for example, a way of transmitting a print job from a PC or a smartphone to the printer 121. More specifically, it is, for example, a way of printing posters, disc labels, calendars, ID photos, nail stickers, and the like by the printer 121. More specifically, it is, for example, a way of registering for a service provided by a vendor that provides the printer 121. When the user presses the interface for displaying the convenient way of using the printer 121, for example, the first application 114 displays a Web page describing the way of utilizing the printer 121.The printer usage screen may also display an interface for displaying recommended apps related to the printer 121, an interface for displaying frequently asked questions about how to use the printer 121, etc. Note that the interfaces displayed on the printer usage screen 1400 are not limited to these, and may include other interfaces. Also, when the first application 114 is started for the first time after being installed in the information processing device 101, S204 and S206 may be skipped, and processing may begin from S207.

[0051] In the process of S205, the method in which the first application 114 selects one of the printers 121 available to the first application 114 may be a method in which the first application 114 selects the most recent printer 121 used by the user from the information processing device 101. In addition, the printer 121 available to the first application 114 displayed on the printer usage screen 1400 may be a plurality of printers 121.

[0052] In S206, the first application 114 determines whether or not to execute the setup function. If the first application 114 determines to execute the setup function, the process proceeds to S207. On the other hand, if the first application 114 determines not to execute the setup function, the process repeats the determination of S206. Specifically, if the first application 114 detects that the user has pressed the setup start button 1403 on the printer usage screen 1400 shown in FIG. 14, the first application 114 determines to execute the setup function. On the other hand, if the user has not pressed the setup start button 1403, the first application 114 determines not to execute the setup function.

[0053] In S207, the first application 114 starts the setup function. Specifically, a screen (not shown) is displayed to notify the user that the setup function is about to start. A button for starting the setup function is displayed on this screen. When the first application 114 detects that the user has pressed this button, the first application 114 starts the setup function described below. In addition, in S207, before starting the setup function, the first application 114 may check its own version. If the first application 114's own version is not the latest version, the first application 114 may perform a version upgrade. In other words, the first application 115 may update its own version to the latest version. The advantage of updating the first application 114 to the latest version before starting the setup function will be described in detail in the explanation of S208.

[0054] In 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 S207, the second application 115 downloaded by the first application 114 is also the latest version, so that the latest setup function can be used. In addition, the latest specifications can be used in cooperation between the first application 114 and the second application 115, including the specifications of command line arguments when the second application 115 is started, which will be described later. On the other hand, when 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 may be downloaded. That is, in S208, the second application 115 of a version corresponding to the version of the first application 114 is downloaded. This makes it possible to prevent problems from occurring in the link specification in terms of version compatibility between the first application 114 and the second application 115. When the second application 115 is downloaded, the second application 115 is installed in the information processing device 101. Note that if the second application 115 has already been downloaded to the information processing device 101, this process may be omitted.

[0055] In S209, the first application 114 starts the second application 115 downloaded to the information processing device 101. At this time, the start instruction by the first application 114 to start the second application 115 includes a start command for starting the second application 115 and start parameters. The start parameters are information indicating an application from which the second application 115 is started, and are added as options to the start command. In this embodiment, the start parameters are added as command line arguments. In this embodiment, the command line argument added as an option by the first application 114 to the start instruction for the second application 115 is defined as " / BOOT_PORTAL:YES". In S209, the second application 115 started by the first application 114 executes a setup process for the printer 121. Details of the setup process for the printer 121 will be described later with reference to FIG. 3.

[0056] In S210, the first application 114 determines whether or not the setup result has been received from the second application 115. If the first application 114 determines in S210 that the setup result has been received, the process proceeds to S211. On the other hand, if the CPU 102 determines that the setup result has not been received, the process of S210 is repeated. A specific method in which the first application 114 receives the setup result from the second application 115 will be described later with reference to FIG. 8.

[0057] In S211, the first application 114 activates its own screen. In this embodiment, the activation of an application screen means that the screen is currently displayed in the foreground of the display unit 113 and is operable by the user. For example, when the second application 115 is executing the setup of the printer 121, if the user uses another application, the screen of the first application 114 may be displayed behind the screen of the other application. Even in such a case, the first application 114 activates its own screen, so that the screen of the first application 114 is displayed in the foreground of the display unit 113 and is operable by the user. This allows the user to perform operations on the screen of the first application 114 without hesitation in the processes of S213 and S214 described later. Also, for example, the first application 114 may be terminated by a user operation while the second application 115 is executing a process. Even in such a case, the first application 114 is started by the process at the time of termination of the second application 115 in FIG. 8 described later. This makes it possible to continue the subsequent processing in Fig. 2. Details of the series of operations in which the first application 114 receives the setup result in S210 and makes the screen of the first application 114 active in S211 will be described later with reference to Fig. 8.

[0058] In addition, in S211, the first application 114 is set to the active state regardless of the state of its own screen, but the present invention is not limited to this. For example, depending on the state of the screen of the first application 114, or the state of the screen of the operating system (OS) (not shown) of the information processing device 101 and other applications, the screen of the first application 114 may not be changed to the active state. For example, when the screen of the first application 114 is minimized by a user's operation, the first application 114 may determine that it is desired to preferentially display the screen of the other application. In this case, the first application 114 may blink the application icon of the first application 114 displayed on the display unit 113 without changing the screen of the first application 114 to the active state in S211. The blinking of the application icon of the first application 114 can inform the user that the setup function of the first application 114 has ended.

[0059] In S212, the first application 114 determines whether or not the setup of the printer 121 has been successful based on the success / failure information of the setup process received from the second application 115. If the first application 114 determines in S212 that the setup has been successful, the process proceeds to S213. On the other hand, if the first application 114 determines that the setup has not been successful, the process proceeds to S214. Details of the reception of the success / failure information of the setup process in S212 will be described later with reference to FIG. 8.

[0060] In S213, the first application 114 displays a screen for using the function of the printer 121 that has been set up on the display unit 113. That is, the first application 114 is an application 114 that allows a user to instruct execution of a function of the printer 121 connected to the information processing device 101. Specifically, the first application 114 displays a printer usage screen 1400 shown in FIG. 14 on the display unit 113. The printer usage screen 1400 has the configuration described in S205 and the like. Here, the printer function buttons 1401 are buttons 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 buttons 1401 include a button for executing a function of transmitting a print job to the printer 121 to cause the printer 121 to execute printing, and a button for executing a function of transmitting a scan job to the printer 121 to cause the printer 121 to execute scanning. The printer function buttons 1401 may include, for example, a button for displaying a manual for the printer 121. The printer icon 1402 shows an image of the printer 121 corresponding to the printer model name. In S213, the first application 114 searches for the printer 121 corresponding to the identification information on the network to which the information processing device 101 belongs, using the identification information of the printer 121 acquired from the second application 115 as a setup result. The printer icon 1402 shows the printer 121 found by the search. That is, in S213, a screen on which the functions of the printer 121 can be used is displayed based on the successful setup of the printer 121. As a result, after the setup of the printer 121 is completed, the user can use the printer 121 set up from the printer use screen 1400 without starting the first application by the user himself.

[0061] In S214, the first application 114 displays a setup failure notification screen 1500 shown in Fig. 15(a) on the display unit 113. The setup failure notification screen 1500 has a message indicating that the setup has failed, as well as a button 1501 for proceeding to the next screen. The first application 114 proceeds to S215 based on the user pressing the button 1501.

[0062] In S215, the first application 114 displays a re-setup guidance screen 1510 shown in Fig. 15(b) on the display unit 113. The re-setup guidance screen 1510 has a button 1511 for starting the setup function again and a button 1512 for ending the application. In this way, even if the setup of the printer 121 by the second application has failed, the re-setup guidance screen is displayed, allowing the user to re-setup the printer 121.

[0063] In S216, the first application 114 determines whether or not to execute the re-setup. If the first application 114 determines to execute the re-setup, the process proceeds to S207. On the other hand, if the first application 114 determines not to execute the re-setup, the process proceeds to S218. For example, if the user presses the button 1512 for ending the application in FIG. 15(b), the first application 114 determines not to execute the re-setup. If the user presses the button 1511 for starting the setup function again in FIG. 15(b), the first application 114 determines to execute the re-setup.

[0064] In S217, the first application 114 closes the screen of the first application 114. After the process of S217, the first application 114 proceeds to S218 and ends the process of Fig. 2. S218 indicates the end of the process of Fig. 2.

[0065] Fig. 3 is a flowchart showing an example of processing executed by the second application 115 in this embodiment. The processing in Fig. 3 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the program.

[0066] S300 indicates the start of the process in FIG. 3. The process in FIG. 3 is started when the second application 115 is started by the first application 114 in S209 in FIG. 2. Alternatively, the process in FIG. 3 is started based on the execution of an executable file (not shown) of the second application 115 without the intervention of the first application 114 by a user operation on the desktop of the information processing device 101 or a program list screen displayed by the information processing device 101. In the following description, the execution of the second application 115 by the first application 114 may be referred to as a linked start. Also, the execution of the second application 115 without the intervention of the first application 114 based on the execution of an executable file (not shown) of the second application 115 by the user may be referred to as a standalone start.

[0067] In S301, the second application 115 acquires startup parameters included in the startup instruction of the second application 115. Specifically, the second application 115 acquires information included in the startup instruction of the second application 115. In this embodiment, the second application 115 acquires command line arguments included in the startup instruction. At this time, the prefix of the command line argument is defined as the parameter name, and the character string thereafter as the parameter value. For example, if the command line argument is " / BOOT_PORTAL:YES", " / BOOT_PORTAL:" is acquired as the parameter name, and "YES" is acquired as the parameter value.

[0068] In S302, the second application 115 judges whether the start parameters acquired in S301 are correct. If the second application 115 judges in S302 that the start parameters are correct, the process proceeds to S303. On the other hand, if the second application 115 judges that the start parameters are incorrect, the process proceeds to S306. Specifically, the second application 115 judges whether the start parameters are correct based on whether the number and values ​​of the start parameters acquired in S301 comply with a predetermined description rule. For example, the start parameters sent from the first application 114 are described as " / BOOT_PORTAL:YES" indicating that the application has been started in cooperation. In that case, if there are two or more start parameters or if the parameter name or parameter value is not set according to a predetermined description rule, the second application 115 judges that the start parameters are incorrect. For example, if there is a compatibility problem between the version of the first application 114 and the version of the second application 115, the start parameters are judged to be incorrect. Alternatively, when the second application 115 is started from an application capable of starting other than the first application 114, or when the user starts the second application 115 by a command on a terminal, and the description is different from the predetermined description rule, the start-up parameters are determined to be incorrect. The predetermined description rule is, in other words, a predetermined format. In this embodiment, when there are two or more start-up parameters described above, or when the parameter name or parameter value is not set according to the predetermined description rule, the second application 115 determines that the start-up parameters are correct except for these cases. Note that, when the second application 115 is started independently, the first application 114 does not issue a start instruction to the second application 115. In the case of the independent start-up, the start-up instruction for starting the second application 115 does not include a start-up parameter. In other words, the number of start-up parameters is zero. In this embodiment, even when the number of start-up parameters is zero, the second application 115 determines that the start-up parameters are correct.In other words, the process in S302 is a process for determining that start-up parameters that are written differently from a predetermined description rule are incorrect. Furthermore, these determination methods are merely examples, and it may be possible to determine whether or not the start-up parameters are correct using criteria other than the criteria described above. Furthermore, this determination may be omitted, and the process may always proceed to S303 once the start-up parameters are obtained in S301.

[0069] In S303, the second application 115 judges whether the second application 115 has been started from the first application 114. In other words, this judgment is a process of judging whether the second application 115 has been started in a linked manner or independently. If the second application 115 judges that the second application 115 has been started from the first application 114, the process proceeds to S304. On the other hand, if the second application 115 judges that the second application 115 has not been started from the first application, the process proceeds to S305. Specifically, if the parameter value of the parameter name " / BOOT_PORTAL:" is "YES", the second application 115 judges that the second application 115 has been started from the first application 114. That is, in this case, the second application 115 judges that the second application 115 has been started in a linked manner. On the other hand, if the parameter value is a value other than "YES", the second application 115 determines that the application was not started from the first application 114. An example of a case where the parameter value is a value other than "YES" is when the number of start parameters is zero, as described above. That is, in this case, the second application 115 determines that the second application 115 has been started independently.

[0070] In S304, the second application 115 executes a setup flow for collaborative startup. The details of the setup flow for collaborative startup will be described later with reference to FIG.

[0071] In S305, the second application 115 executes a setup flow for standalone startup. Details of the setup flow for standalone startup will be described later with reference to FIG.

[0072] In S306, the second application 115 notifies the first application 114 that the startup parameters are erroneous. Specifically, the second application 115 sets a character string indicating that an error has occurred in the startup parameters as a command line argument and starts the first application 114. Since the startup parameters are erroneous, it is not yet determined whether the first application 114 is the startup source of the second application 115. Therefore, the second application 115 may proceed to S307 without performing the process of S306. In S302, the second application 115 notifies the first application 114 that the startup parameters are erroneous, so that the first application 114 can move on to the next operation. For example, the first application 114 that has received a notification of an error from the second application 115 may determine whether the second application 115 is the latest version. Here, if the first application 114 determines that the second application 115 is not the latest version, it may repeat the processes from S207 to S209.

[0073] S307 indicates that the second application 115 ends the process of FIG.

[0074] 4 shows an example of a setup flow when the second application 115 in this embodiment is started in cooperation with the CPU 102. The process in FIG. 4 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program.

[0075] S400 indicates the start of the process of FIG. 4. In the process of FIG. 4, in S304 of FIG. 3, the second application 115 performs setup in the case of the linked launch. In the process of FIG. 4, the second application 115 is launched from the first application 114. Then, in the case where the second application 115 is launched from the first application 114, the first application 114 has already acquired the user's consent to the software license agreement for the second application 115 in S202 of FIG. 2. That is, in the case where the second application 115 is launched in the linked launch, the second application 115 does not need to perform control for acquiring the user's consent to the software license agreement for the second application 115. Therefore, the second application 115 performs control not to acquire the software license agreement based on the fact that it has been launched in the linked launch. That is, in the case of the linked launch, the second application 115 does not display the software license agreement on the display unit 113. As a result, after the user starts up the first application 114 and agrees to the software license agreement, the user will not be prompted to agree to the software license agreement again in the second application 115. Note that when the second application 115 is started up in cooperation with the first application 114, the second application 115 may obtain information indicating that the user's agreement to the software license agreement for the second application 115 has been obtained from the first application 114.

[0076] In the above description, the embodiment has been described in which, when the second application 115 is started in a linked manner, the control for obtaining user consent to the software license agreement for the second application 115 is not performed in the second application 115, but the embodiment is not limited to this embodiment. Even when the second application 115 is started in a linked manner, the control for obtaining user consent to the software license agreement for the second application 115 may be performed in the second application 115. In this embodiment, the control executed by the first application 114 in S202 may be control for obtaining consent to the software license agreement for the first application 114, but not for obtaining consent to the software license agreement for the second application 115.

[0077] In S401, the second application 115 performs a process of downloading model-specific data. Specifically, the second application 115 downloads a file required for all models in a process described below. The file required for all models is, for example, a content file used when the second application 115 performs test printing.

[0078] In S402, the second application 115 performs a printer search process. The second application 115 searches for one or more printers 121 that belong to the same network as the network to which the information processing device 101 belongs, via the wireless LAN access point 152 and the wired LAN interface 108. Specifically, the second application 115 attempts to acquire identification information (such as a device name) from the printer 121 that belongs to the same network as the network to which the information processing device 101 belongs. One or more printers 121 corresponding to one or more pieces of identification information acquired by this attempt are treated as one or more printers 121 detected (discovered) by the search. The printer 121 that belongs to the same network as the network to which the information processing device 101 belongs is specifically, for example, the printer 121 connected to the access point 152 to which the information processing device 101 is connected. The second application 115 may search for the printer 121 connected via the USB interface 129 by attempting to acquire identification information from the printer 121 connected via the USB interface 129. Also, for example, in 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 the printer 121 operating in the connection setting mode. The one or more printers 121 corresponding to the one or more beacons acquired by this attempt are treated as one or more printers 121 detected by the search. Note that in this embodiment, in S402, both a search for one or more printers 121 belonging to the same network as the network to which the information processing device 101 belongs and a search for one or more printers 121 operating in the connection setting mode are performed.

[0079] In S403, the second application 115 performs a compatible model identification process for the printer 121 detected in S402 when the printer 121 is started in a linked state. The details of the compatible model identification process for the linked state will be described later with reference to FIG.

[0080] In S404, the second application 115 determines whether or not at least one printer 121 compatible with the first application 114 has been detected based on the information saved in the process of S403. If the second application 115 determines that at least one printer 121 compatible with the first application 114 has been detected, the process proceeds to S405. On the other hand, if the second application 115 determines that no printer 121 compatible with the first application 114 has been detected, the process proceeds to S413. Specifically, the second application 115 reads information stored in the RAM 107 as to whether or not at least one printer 121 compatible with the first application 114 has been detected, and makes a determination. A method of storing information as to whether at least one printer 121 compatible with the first application 114 has been detected will be described later with reference to FIG. 6.

[0081] In S405, the second application 115 displays a printer selection screen 1000 shown in FIG. 10 on the display unit 113. The printer selection screen 1000 includes a printer selection message 1001, a printer list display unit 1002, printer information 1003, a "Next" button 1004, and the like. The printer selection message 1001 is a message for allowing the user to select, for example, a printer 121 that can be set up. The printer list display unit 1002 displays a list of printers 121 that are detected by the search in S402 and are compatible models of the first application 114. In other words, the printer 121 that is compatible models of the first application 114 is a printer 121 that is not included in a list of incompatible models of the first application 114, which will be described later. The printer selection message 1001 informs the user to select any of the printer information 1003 from the printer list display unit 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 up has been detected. The printer list display unit 1002 displays printer information 1003. The printer information 1003 is information (such as a device name) that can identify 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 any of the printer information 1003 and pressing a "Next" button 1004.

[0082] In S406, the second application 115 displays an interface selection screen 1100 shown in FIG. 11 on the display unit 113. The interface selection screen 1100 has 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 that allows the user to select a method of connecting the information processing device 101 and the printer 121. The interface selection message 1101 is a message that prompts the user to select a method of connecting the information processing device 101 and the printer 121. The interface selection radio button 1102 is a button that displays options of interfaces for connecting the information processing device 101 and the printer 121. The user can select one of the interface selection radio buttons 1102. The second application 115 closes the interface selection screen 1100 based on the user selecting one of the interface selection radio buttons 1102 and pressing the “Next” button 1103. In this embodiment, it is assumed that any one of wireless LAN, wired LAN, and USB can be selected on the interface selection screen 1100. After that, the second application 115 advances the process to S407.

[0083] In S407, the second application 115 performs a connection process to establish a connection between the information processing device 101 and the printer 121. The interface selected by the user in S406 is used for the connection between the information processing device 101 and the printer 121. Therefore, in this embodiment, the content of the connection process to be executed differs based on the interface selected by the user in S406.

[0084] The connection process executed in S407 will be described in detail below. If the interface selected by the user in S406 is a USB cable, the second application 115 first searches for the printer 121 selected in S405 on the USB cable connected to the information processing device 101. If the printer 121 selected in S405 is found, a USB connection between the discovered printer 121 and the information processing device 101 is established, and the process proceeds to the next step without displaying the USB connection guidance screen. If the printer 121 selected in S405 is not found, the second application 115 displays a USB connection guidance screen that prompts the user to connect the printer 121 selected in S405 to the information processing device 101 with a USB cable. The USB connection guidance screen may include a button for displaying a Web manual that shows a method for connecting the printer 121 to the information processing device 101 with a USB cable. After that, the second application 115 again searches for the printer 121 selected in S405 on the USB cable connected to the information processing device 101. If the printer 121 selected in S405 is not found in this search, the second application 115 may proceed to S413.

[0085] If the interface selected by the user in S406 is a wired LAN, the second application 115 executes interface determination to determine whether the interface used in S402 to search and discover the printer 121 selected in S405 is also a wired LAN. If the interface determination is determined to be YES, the second application 115 searches for the printer 121 selected in S405 on the network to which the information processing device 101 is connected via the wired LAN. At this time, the IP address acquired when the printer 121 selected in S405 is discovered in S402 is used. If the printer 121 selected in S405 is discovered, a connection between the discovered printer 121 and the information processing device 101 is established, and the process proceeds to the next step without displaying a wired LAN connection guidance screen or a wired LAN connection failure screen. If the printer 121 selected in S405 is not discovered, a wired LAN connection failure screen is displayed, indicating that the wired LAN connection has failed. The wired LAN connection failure screen may include a button for performing a search again and a button for returning to the process before S407. If the interface determination is NO, the second application 115 displays a wired LAN connection guidance screen that prompts the user to connect the printer 121 selected in S405 to the information processing device 101 via a wired LAN. The wired LAN connection guidance screen may include a button for displaying a Web manual that shows a method for connecting the printer 121 to the information processing device 101 via a wired LAN. After that, the second application 115 searches for the printer 121 selected in S405 on the network to which the information processing device 101 is connected via the wired LAN. If the printer 121 selected in S405 is not found in this search, the second application 115 may proceed to S413.

[0086] If the interface selected by the user in S406 is wireless LAN, the second application 115 executes interface determination to determine whether the interface used in S402 to search and discover the printer 121 selected in S405 is also wireless LAN. If the interface determination is determined to be YES, the second application 115 searches for the printer 121 selected in S405 on the network to which the information processing device 101 is connected via wireless LAN. At this time, the IP address acquired when the printer 121 selected in S405 is discovered in S402 is used. If the printer 121 selected in S405 is discovered, a connection between the discovered printer 121 and the information processing device 101 via wireless LAN is established, so that a wireless LAN connection failure screen is not displayed. Furthermore, if the printer 121 selected in S405 is discovered, the information processing device 101 does not transmit connection information for connecting to an access point, and the process proceeds to the next step. If the printer 121 selected in S405 is not discovered, 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 showing an operation method for making the printer 121 execute WPS (Wi-Fi Protected setup) and an operation method for connecting the printer 121 to an access point searched for by the printer 121 and selected by a user operation on the printer 121. If the interface determination is determined to be NO, the second application 115 displays a guidance screen that prompts the user to operate the printer 121 in a connection setting mode. Specifically, the guidance screen is, for example, a screen that prompts the user to press a predetermined button on the printer 121 to operate the printer 121 in the connection setting mode. Before the guidance screen is displayed, a screen for confirming whether or not the printer 121 has a predetermined button may be displayed. Then, when it is confirmed that the printer 121 has a predetermined button, the guidance screen may be displayed.If it is confirmed that the printer 121 does not have the predetermined button, a screen for displaying a Web manual showing an operation method for operating the printer 121 not having 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 wireless LAN. Note that the second application 115 stores predetermined connection information for connecting to an access point to which the information processing device 101 was connected before connecting to the found printer 121 via 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 or not an access point corresponding to the predetermined connection information is included in the list. If the second application 115 determines that an access point corresponding to the predetermined connection information is included in the list, it specifies the access point corresponding to the predetermined connection information as an access point to be connected to the printer 121. When the second application 115 determines that the access point corresponding to the predetermined connection information is not included in the list, it displays the list and specifies an access point selected from the list as an access point to be connected to the printer 121. Then, the second application 115 transmits to the printer 121 connection information for connecting to the access point specified as the access point to be connected to the printer 121. Note that the password included in the connection information may be acquired by the second application 115 accepting an input from a user, or may be acquired from a wireless profile previously held by the OS of the information processing device 101. Having received the connection information, the printer 121 disconnects from the information processing device 101 and connects to the access point using the connection information. After that, the second application 115 reconnects the information processing device 101 to the access point corresponding to the predetermined connection information via wireless LAN.Then, the second application 115 searches for the printer 121 selected in S405 on the network to which the information processing device 101 is connected via wireless LAN. If the printer 121 selected in S405 is found, a connection between the discovered printer 121 and the information processing device 101 via wireless LAN is established, and the process proceeds to the next step. If the printer 121 selected in S405 is not found, the process may proceed to S413. If the printer 121 selected in S405 is not found, a confirmation screen for confirming whether or not to continue the setup of the printer 121 may be displayed, and if an input is made on the confirmation screen to continue the setup of the printer 121, the process may return to S402 or S405. If an input is made on the confirmation screen to not continue the setup of the printer 121, the process may proceed to S413.

[0087] In addition, when the printer 121 detected by the search in S402 and compatible with the first application 114 is a printer 121 operating in the connection setting mode, the processes of S405 and S406 may be omitted. More specifically, there is a case where the printers 121 detected by the search in S402 and compatible with the first application 114 include one printer 121 operating in the connection setting mode but do not include multiple printers 121 operating in the connection setting mode. In this case, the processes of S405 and S406 are omitted and the process proceeds to S407, where a connection process for establishing a connection between the information processing device 101 and the one printer 121 is executed. In addition, there is a case where the printer 121 detected by the search in S402 and compatible with the first application 114 includes multiple printers 121 operating in the connection setting mode. In this case, a list of a plurality of printers 121 that are detected by the search in S402, are compatible models of the first application 114, and operate in the connection setting mode is displayed. The list does not include printers 121 that are detected by the search in S402, are compatible models of the first application 114, but do not operate in the connection setting mode. When one is selected from the list, the processes in S405 and S406 are omitted, and the process proceeds to S407, where a connection process is executed to establish a connection between the information processing device 101 and the printer 121 selected from the list. Specifically, for example, of the connection processes executed when the interface selected by the user in S406 is wireless LAN, the same process as the process executed after the printer 121 operating in the connection setting mode is found is executed.

[0088] In S408, the second application 115 downloads and installs model-specific data. The model-specific data is, for example, an information file containing information for the second application 115 to determine whether or not to execute a test print on the printer 121, and a model-specific printer driver for the printer 121 that is necessary for printing. Note that the test print is a process of printing image data for a test print that is prepared in advance, and is a process for checking whether there are any defects in the print result. Here, the model-specific data download in S408 is downloaded separately from the download of the model-common data in S401. This is because the printer 121 to be set up by the setup application 115 has not been determined in the process of S401. In S405, the user selects the printer 121, and the printer 121 to be set up is determined, and therefore the model-specific data is downloaded and installed in S408.

[0089] In 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 displayed by the OS. When the button is displayed, the OS is notified to display the print queue creation screen, and a Web manual showing an operation method for creating a print queue on the print queue creation screen is displayed by a Web browser. The print queue creation screen displays a list of printers 121 found by a search executed by the OS. When the user selects one of the printers from the list, a print queue corresponding to the selected printer 121 is created by the OS. When the print queue is created, the information processing device 101 can send a print job to the printer 121 corresponding to the created print queue. When a connection between the information processing device 101 and the printer 121 to be set up is established and the creation of a print queue corresponding to the printer 121 to be set up is completed, the setup of the printer 121 is considered to be completed. Note that this is not limited to the above, and the process of S409 may be omitted. Then, when a connection is established between the information processing apparatus 101 and the printer 121 to be set up, the setup of the printer 121 may be considered to be complete.

[0090] In S410, the second application 115 displays a setup completion screen 1200 at the time of the cooperation start-up on the display unit 113 as shown in FIG. 12(a). The setup completion screen 1200 at the time of the cooperation start-up has a setup completion message 1201, a "Go to website" button 1202, and a close button 1203. The setup completion message 1201 includes, for example, a message informing the user that all the setups have been completed. The setup completion message 1201 also includes a message informing the user that when the user presses the "Go to website" button 1202, a web browser will be started and a usage method of the printer 121 will be displayed. The setup completion message at the time of the cooperation start-up also includes a message informing the user to press the close button 1203 if there is no need to display the usage method of the printer 121. This makes it possible to prevent the same display from being displayed again, for example, when the user has already displayed the usage method of the printer 121 from the printer usage screen 1400 of the first application 114 shown in FIG. 14.

[0091] "Go to website" button 1202 is an interface capable of displaying a screen related to printer 121. In this embodiment, when the user presses "Go to website" button 1202, second application 115 launches a web browser and displays on display unit 113 a web page that describes how to utilize printer 121, such as how to print and scan. It is assumed that second application 115 holds in advance a URL for displaying the web page. Thereafter, second application 115 closes setup completion screen 1200 displayed at the time of collaboration startup.

[0092] The close button 1203 is an interface that can close the setup completion screen 1200. When the close button 1203 is pressed by the user, the second application 115 closes the setup completion screen 1200 at the time of the linked startup. That is, in S410, the second application 115 performs control to effectively display the close button 1203 on the setup screen 1200 at the time of the linked startup. That is, the second application 115 performs control to display the close button 1203 so that it can be pressed by the user. For example, at the time of the linked startup, the user may have already opened a Web page from the printer usage screen 1400 of the first application 114, or may know that a Web page can be opened. In this embodiment, by effectively displaying the close button 1203, the user who uses the second application 115 can select whether to display the Web page by pressing the "To Web Page" button 1202, or to not display the Web page by pressing the close button 1203.

[0093] 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 have never seen a Web page. Such a user may press the close button 1203 because the close button 1203 is enabled. Therefore, in S410, the second application 115 may control whether or not to enable displaying the close button 1203 based on the start-up parameters received from the first application 114. For example, the start-up parameters may include information regarding whether or not the user has displayed a Web page from the first application 114.

[0094] When the user operates any button on the setup completion screen 1200, in S411, the second application 115 determines whether or not the user has pressed the close button 1203 in FIG. 12(a). When the second application 115 determines in S411 that the close button 1203 has not been pressed, the process proceeds to S412. For example, the second application 115 determines that the close button 1203 has not been pressed based on the user pressing the "Go to Website" button 1202. On the other hand, when the second application 115 determines that the close button 1203 has been pressed, the process proceeds to S413.

[0095] In S412, the second application 115 displays on the display unit 113 a Web page on which is described how to utilize the printer 121.

[0096] In S413, the second application 115 performs a termination process during the linked startup. The details of the termination process during the linked startup will be described later with reference to FIG.

[0097] S414 indicates the end of the processing in Fig. 4. After the processing in S413, the second application 115 ends the setup flow when the second application 115 is started in collaboration.

[0098] Fig. 5 shows an example of a setup flow when the second application 115 in this embodiment is started up as a standalone application. The process in Fig. 4 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing it.

[0099] S500 indicates the start of the processing in Fig. 5. In the processing in Fig. 5, the second application 115 performs a setup in the case where the second application 115 is started alone in S305 in Fig. 3.

[0100] Since S501 is the same process as S401 in FIG. 4, the description thereof will be omitted.

[0101] In S502, the second application 115 executes control for obtaining consent to the software license agreement. The method of obtaining consent to the software license agreement is the same as S202 in FIG. 2, and therefore description thereof will be omitted. In the setup flow of standalone startup, the first application 114 does not perform the process of S202, so the first application 114 may not display the software license acquisition screen 900. That is, the first application 114 may not obtain consent to the software license agreement for the second application 115. Therefore, in this embodiment, when the second application 115 is independently started, it displays a screen (not shown) similar to the software license acquisition screen 900 at the timing of S502. As described above, in this embodiment, the same control as S202 is executed in S502, so that in S502, control for obtaining both consent to the software license agreement for the first application 114 and consent to the software license agreement for the second application 115 is executed. However, this is not limited to this form. For example, in S502, control for obtaining consent to the software license agreement for the first application 114 may not be executed, and only control for obtaining consent to the software license agreement for the second application 115 may be executed.

[0102] Since S503 is the same process as S402 in FIG. 4, the description thereof will be omitted.

[0103] In S504, the second application 115 performs a compatible model identification process for the printer 121 detected in S503 when the printer 121 is started up as a standalone device. The details of the compatible model identification process for the printer 121 when the printer is started up as a standalone device will be described later with reference to FIG.

[0104] Since steps S505 to S510 are similar to steps S404 to S409 in FIG. 4, the description thereof will be omitted.

[0105] In S511, the second application 115 displays a setup completion screen 1204 for standalone startup shown in Fig. 12(b) on the display unit 113. The setup completion screen 1204 for standalone startup has a setup completion message 1205, a "Go to website" button 1206, an end message 1207, and the like. The setup completion message 1205 includes a message informing the user that all setup has been completed, and that pressing the "Go to website" button 1202 will launch a web browser and display how to use the printer 121. The end message 1207 is a message informing the user that pressing the "Go to website" button will display a web page and then end the second application 115.

[0106] In addition, when the second application 115 is independently started, the second application 115 performs an invalid control that does not execute the closing of the setup completion screen 1204 by the user's operation on the close button 1208 in the setup completion screen 1204. Specifically, the invalid control is, for example, a control that does not display the close button 1208 on the setup completion screen 1204. When this invalid control is executed, a screen in which the close button 1208 is removed from the screen shown in FIG. 12(b) is displayed as the setup completion screen 1204. Alternatively, the invalid control is, for example, a control that displays the close button 1208 but does not execute the closing of the setup completion screen 1204 even if a user operation is performed on the close button 1208. In this form of invalid control, the close button 1208 may be displayed in a grayed-out state. Note that even if the invalid control is executed, the operation for closing the setup completion screen 1204 can be notified to the user by displaying the end message 1207. To make the user aware of this, a completion message 1207, which is not displayed on the setup completion screen 1200, is displayed on the setup completion screen 1204. In S511, when the user presses the "Go to Website" button 1206, the second application 115 advances the process to S513.

[0107] In this manner, in this embodiment, when the second application 115 is started based on the execution of an executable file by the user, the close button 1208 is made unable to accept an instruction from the user. On the other hand, when the second application 115 is started from the first application 115, the close button 1208 is made able to accept an instruction from the user as described in FIG. 4. That is, between the case of standalone start-up and the case of linked start-up, the second application 115 performs display control to determine whether the close button 1208 is unable to accept an instruction from the user or is made able to accept an instruction as described in FIG. 4. Note that in the above description, the disable control is executed when the second application 115 is launched alone, and the disable control is not executed when the second application 115 is launched in linkage, but this is not limiting. The disable control may be not executed when the second application 115 is launched alone or when the second application 115 is launched in linkage. That is, the same screen (eg, the screen shown in FIG. 12(a)) may be displayed as the setup completion screen when the second application 115 is started independently and when the second application 115 is started in cooperation.

[0108] The process of S512 is similar to that of S412 in FIG. 4, and therefore the description thereof will be omitted.

[0109] S513 indicates the end of the process in Fig. 5. The second application 115 ends the setup flow process when it is started alone. That is, the second application 115 ends the operation of the second application based on the display of the Web page in S512. In other words, S513 is the process of ending the operation of the second application 115.

[0110] Fig. 6 shows an example of a compatible model specification process when the second application 115 in this embodiment is started in cooperation with the second application 115. The process in Fig. 6 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program.

[0111] S600 indicates the start of the processing in Fig. 6. In the processing in Fig. 6, the second application 115 performs a compatible model identification process to confirm whether or not there is at least one printer 121 that is compatible with the first application 114 among the one or more printers 121 detected in S402 in Fig. 4.

[0112] In S601, the second application 115 acquires an incompatible model list, which is a list of printers 121 that are incompatible with the first application 114. The incompatible model list may be acquired by acquiring a list stored in advance as a fixed value in the second application 115, or by acquiring the list from an external server (not shown) via the Internet. The incompatible model list is a list of models that are incompatible with the first application. For example, the list may be a list of models having an OS that is incompatible with the first application 114, models that are incompatible with the printer driver of the first application 114, models of standards that are incompatible with the first application 114, models of communication specifications that are incompatible with the first application 114, and the like. 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, the incompatible model list of the first application 114 is assumed to include all models listed in the incompatible model list of the second application 115. That is, 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, the range of the printers 121 to be set up in the case of linked startup is narrower than the range of the printers 121 to be set up in the case of standalone startup. However, the present invention is not limited to this form, and for example, the incompatible model list of the first application 114 may include some of the models listed in the incompatible model list of the second application 115. Also, for example, the incompatible model list of the first application 114 may not include the models in the incompatible model list of the second application 115. Note that, as described above, the first application 114 can execute a function of sending a print job or a function of sending a scan job to the printer 121 by pressing the printer function button 1401. The models of the printers 121 to which the first application 114 can send various jobs are the compatible models of the first application 114.In other words, a model of the printer 121 to which the first application 114 cannot transmit various jobs is a model incompatible with the first application 114.

[0113] In S601, if 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 acquires the incompatible model list of the second application 115. The second application creates an incompatible model list that combines the incompatible model list of the first application 114 and the incompatible model list of the second application 115, and uses the list in the subsequent processes. In this way, when the second application 115 is started in cooperation, the second application 115 acquires a list of printers 121 of models that are incompatible with the first application 114. As a result, even if the user starts the second application 115 from the first application 114 to set up the printer 121, the printer 121 available from the first application 114 can be set up by the process of FIG. 4.

[0114] In S602, the second application 115 excludes the printer 121 included in the non-compatible model list acquired in S601 from a list of one or more printers 121 detected in the printer search in S402 of FIG. 4. In the following description, a printer detected in the printer search process in S402 is called a detected printer. Also, a list of detected printers is called a detected printer list. For example, it is assumed that the detected printer list includes a printer 121 of a specific model. Also, it is assumed that the non-compatible model list does not include the printer 121 of the specific model. In that case, the second application 115 does not exclude the printer 121 of the specific model from the detected printer list.

[0115] In the present embodiment, an example of acquiring the non-compatible model list has been described, but the present invention is not limited to this. For example, a method may be used in which a list of printers 121 of models compatible with the first application 114 (compatible model list) is acquired, and printers 121 not included in the compatible model list are removed from the detected printer list. Alternatively, a method may be used in which printers 121 included in the compatible model list are selected from the detected printer list.

[0116] In S603, the second application 115 checks the detected printer list after excluding the incompatible models in S602, and determines whether or not there is a printer 121 compatible with the first application 114. The compatible models of the first application 114 are the printers 121 in the detected printer list that are not included in the incompatible model list of the first application 114. If the second application 115 determines that there is a printer 121 compatible with the first application 114, it stores information indicating that at least one printer 121 compatible with the first application 114 has been detected in the RAM 107, proceeds to S608, and ends the processing of FIG. 6. On the other hand, if the second application 115 determines that there is no printer 121 compatible with the first application 114, it proceeds to S604.

[0117] In S604, the second application 115 displays a non-compatible model detection screen 1300 shown in FIG. 13 on the display unit 113. The non-compatible model detection screen 1300 has a non-compatible model detection message 1301, an "OK" button 1302, a "Cancel" button 1303, and the like. The non-compatible model detection message 1301 includes a message notifying the user that a printer 121 of a model not compatible with the first application 114 has been detected, and that the user should press the "OK" button 1302 if setting up the printer 121. The printer 121 of a model not compatible with the first application 114 is a printer 121 included in the non-compatible model list among the detected printers. The user can close the non-compatible model detection screen 1300 by pressing the "OK" button 1302 or the "Cancel" button 1303.

[0118] In S605, the second application 115 determines whether to execute setup for the printer 121 of a model that is not compatible with the first application 114. If the second application 115 determines to execute setup, the process proceeds to S606. On the other hand, if the second application 115 determines not to execute setup, the process proceeds to S607. Specifically, if the user presses the "OK" button 1302 on the non-compatible model detection screen 1300, the second application 115 determines to execute setup. On the other hand, if the user presses the "Cancel" button 1303 on the non-compatible model detection screen 1300 in S604, the second application 115 determines not to execute setup. Note that the second application 115 may proceed to S406 if it determines not to execute setup. In this form, the second application 115 executes setup for the printer 121 that was not found in the search in S402 by the process in S406 and thereafter.

[0119] In S606, the second application 115 displays on the display unit 113 a Web page (not shown) for starting an application for setting up the printer 121 displayed on the non-compatible model detection screen 1300. If the printer 121 displayed on the non-compatible model detection screen 1300 is included in the non-compatible model list of the first application 114 but is not included in the non-compatible model list of the second application 115, the application for setting up the printer 121 displayed on the non-compatible model detection screen 1300 becomes the second application 115. Note that the above Web page is, for example, a Web page for installing the second application 115, and the second application 115 is started independently by downloading an executable file of the second application 115 via the Web page. As a result, the setup at the time of independent startup shown in S305 is executed, and the setup of the printer 121 displayed on the non-compatible model detection screen 1300 is executed. If the printer 121 displayed on the unsupported model detection screen 1300 is included in the unsupported model list of the first application 114 but is not included in the unsupported model list of the second application 115, the second application 115 may directly execute the process of S305 without displaying the above-mentioned Web page in S606. If the printer 121 displayed on the unsupported model detection screen 1300 is included in both the unsupported model list of the first application 114 and the unsupported model list of the second application 115, the application for setting up the printer 121 displayed on the unsupported model detection screen 1300 is the third application. The third application is an application that is not an application that can execute setup for multiple models like the second application, but is an application that can execute setup for only a single model.Furthermore, a printer 121 included in both 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 that is an older model than printers 121 that are not included in the incompatible model list of the first application 114 or the incompatible model list of the second application 115.

[0120] In S607, the second application 115 records in the RAM 107 information indicating that no printer 121 compatible with the first application 115 has been detected.

[0121] S608 indicates the end of the processing in Fig. 6. That is, in S608, the second application 115 ends the compatible model specification processing when the second application 115 is activated in collaboration, and the processing proceeds to S404.

[0122] In the above, the process of S604 to S606 is executed when it is determined in S603 that the printer 121 is compatible with the first application 114, but the present invention is not limited to this. The process may proceed to S607 without executing the processes of S604 to S606 when it is determined in S603 that the printer 121 is compatible with the first application 114.

[0123] 7 shows an example of a compatible model specification process when the second application 115 in this embodiment is started alone. The process in FIG. 7 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing it.

[0124] S700 indicates the start of the processing in Fig. 7. In the processing in Fig. 7, the second application 115 performs non-compatible model detection to check whether the detected printers 121 include at least one printer 121 that is compatible with the second application 114 in S503 in Fig. 5 described above.

[0125] In S701, the second application 115 acquires an incompatible model list, which is a list of printers 121 that are incompatible with the second application 115. The incompatible model list for the second application 115 may be acquired by acquiring a list stored as fixed values ​​in the second application 115, or by acquiring the list from an external server (not shown) via the Internet. The incompatible model list for the second application 115 is a list of models that are not compatible with the second application 115. The list of incompatible models is, for example, a list as described in S601, and therefore description thereof will be omitted.

[0126] In S702, the second application 115 excludes the printers 121 included in the non-compatible model list acquired in S701 from the list of one or more printers 121 detected in the printer search in S402 of FIG.

[0127] In S703, the second application 115 checks the detected printer list after excluding the incompatible models in S702, and determines whether or not there is a printer 121 compatible with the second application 115. The compatible models of the second application 115 are the printers 121 in the detected printer list that are not included in the incompatible model list of the second application 115. If the second application 115 determines that there is a printer 121 compatible with the second application 115, it stores information indicating that at least one printer 121 compatible with the second application 115 has been detected in the RAM 107, proceeds to S708, and ends the processing of FIG. 7. On the other hand, if the second application 115 determines that there is no printer 121 compatible with the first application 114, it proceeds to S704.

[0128] In S704, the second application 115 displays a non-compatible model detection screen 1300 shown in FIG. 13 on the display unit 113. The non-compatible model detection screen 1300 has a non-compatible model detection message 1301, an "OK" button 1302, a "Cancel" button 1303, and the like. The non-compatible model detection message 1301 includes a message informing the user that a printer 121 of a model not compatible with the second application 115 has been detected, and that the user should press the "OK" button 1302 if setting up the printer 121. The printer 121 of a model not compatible with the second application 115 is a printer 121 included in the non-compatible model list among the detected printers. The user can close the non-compatible model detection screen 1300 by pressing the "OK" button 1302 or the "Cancel" button 1303.

[0129] In S705, the second application 115 determines whether or not to execute setup for the printer 121 that is a model incompatible with the second application 114. If the second application 115 determines to execute setup, the process proceeds to S706. On the other hand, if the second application 115 determines not to execute setup, the process proceeds to S707. Specifically, if the user presses the "OK" button 1302 on the incompatible model detection screen 1300, the second application 115 determines to execute setup. On the other hand, if the user presses the "Cancel" button 1303 on the incompatible model detection screen 1300 in S704, the second application 115 determines not to execute setup.

[0130] In S706, the second application 115 displays on the display unit 113 a Web page (not shown) for starting an application for setting up the printer 121 displayed on the non-compatible model detection screen 1300. As described above, in this embodiment, the printer 121 included in the non-compatible model list of the second application 115 is also included in the non-compatible model list of the first application 114. Therefore, the printer 121 displayed on the non-compatible model detection screen 1300 is not included in either the non-compatible model list of the first application 114 or the non-compatible model list of the second application 115. Therefore, the application for setting up the printer 121 displayed on the non-compatible model detection screen 1300 is the third application.

[0131] In S707, the second application 115 records in the RAM 107 information indicating that no printer 121 compatible with the second application 115 has been detected.

[0132] S708 indicates the end of the processing in Fig. 7. That is, in S708, the second application 115 ends the compatible model specification processing in the case where the second application 115 is independently launched, and proceeds to S505.

[0133] In the above, the process of S704 to S706 is executed when it is determined in S703 that the printer 121 is compatible with the second application 114, but the present invention is not limited to this. The process may proceed to S707 without executing the processes of S704 to S706 when it is determined in S703 that the printer 121 is compatible with the second application 114.

[0134] 8 shows an example of a termination process flow of the second application 115 in the present embodiment when the second application 115 is started in cooperation with the second application 115. The process in FIG. 8 is realized, for example, by the CPU 102 expanding a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the control program.

[0135] S800 indicates the start of the processing in Fig. 8. In the processing in Fig. 8, the second application 115 performs processing for transmitting a setup result to the first application 114 in S413 in Fig. 4 described above as processing to be performed when the application is terminated.

[0136] In S801, the second application 115 determines whether or not the first application 114 is running. If the second application 115 determines that the first application 114 is not running, the process proceeds to S802. On the other hand, if the second application 115 determines that the first application 114 is running, the process proceeds to S803. The second application 115 may determine whether or not the first application 114 is running by issuing an instruction to the OS using, for example, an Application Programming Interface (API).

[0137] In S802, the second application 115 starts the first application 114. After that, the CPU 102 advances the process to S803.

[0138] In S803, the second application 115 transmits a setup result to the first application 114. Specifically, as a result of the setup process of the printer 121 in S401 to S410 in FIG. 4, a plurality of pieces of information including success / failure information of the setup process and identification information of the printer 121 that was the target of the setup are transmitted to the first application 114. Note that, if the setup of the printer 121 has failed, the identification information of the printer 121 does not need to be transmitted. The success / failure information of the setup process is information indicating whether the second application 115 has succeeded in setting up the printer 121. The case where the setup of the printer 121 has succeeded is, for example, the case where the process of FIG. 8 is started by pressing the close button 1203 on the setup completion screen after the connection between the information processing device 101 and the printer 121 is established by the connection process in S407. The case where the setup of the printer 121 has failed is, for example, the case where the interface selected by the user in S406 is wireless LAN, and the connection information has been sent to the printer 121, but the selected printer 121 has not been found in S405, and the process of FIG. 8 has been started. Also, for example, the case where the interface selected by the user in S406 is wired LAN or USB, and the above-mentioned various guidance screens have been displayed, but the selected printer 121 has not been found in S405, and the process of FIG. 8 has been started. As an example of the success / failure information of the setup process included in the setup result, there is a method of expressing it as character string information such as "SETUP_SUCCESS" when each process in S401 to S410 shown in FIG. 4 is successful, and "SETUP_FAIL" otherwise. Also, as an example of the identification information of the printer 121 included in the setup result, there is identification information that can be obtained when the printer 121 is detected in the printer search process in S402 or the connection process with the printer 121 in S408. The identification information is, for example, the model name, MAC address, serial number, etc. of the printer 121. In cases where multiple printers 121 with the same model name are detected, it may not be possible to identify a single printer 121 that has been set up using a single piece of identification information.To this end, the second application 115 may send the setup result including the multiple identification information to the first application 114.

[0139] An example of a method in which the second application 115 transmits the setup result to the first application 114 in S803 is shown below. For example, the setup result may be stored as character string information as described above in a file that is provided in ROM 106 and can be referenced by the first application 114, and the first application 114 may reference that file. Alternatively, the setup result may be added as a command line argument to a start-up instruction when the second application 115 starts the first application 114. Alternatively, the setup result may be transmitted by inter-process communication with the first application 114 that is currently running.

[0140] The series of processes from S801 to S803 may use an application launching means (also called a "deep link") using a "URL scheme" (sometimes called a "URI scheme" or a "custom URL"). An example of using this means in this embodiment will be described below. For example, the second application 115 generates a URL "portal: / / SETUP_SUCCESS / Param?PRINTERNAME=AAA&SERIAL=12345678" in which a character string indicating a setup result to be transmitted to the first application 114 is added after the URL scheme "portal: / / " indicating the first application 114, and instructs the OS of the information processing device 101 to execute a process of opening the URL. A process of launching the first application 114 is registered in the OS as an operation corresponding to the URL scheme "portal: / / ", and the OS launches the first application 114 by the process of opening the URL. The first application 114 acquires, as a parameter, the character string "SETUP_SUCCESS / Param?PRINTERNAME=AAA&SERIAL=12345678" following the URL scheme "portal: / / " indicating the first application 114. The first application 114 acquires the setup result "SETUP_SUCCESS" contained in the character string and determines that the setup has been successful. The first application 114 acquires the identification information "Param?PRINTERNAME=AAA&SERIAL=12345678" contained in the character string and determines that the model name of the set up printer 121 is "AAA" and the serial number is "12345678". If the first application 114 is already running, the above-mentioned parameters are sent to the running first application 114.

[0141] In S804, the second application 115 executes its own application termination process. Specifically, the second application 115 closes all screens displayed by the second application 115 and terminates its own process.

[0142] S805 indicates the end of the processing in Fig. 8. After the second application 115 ends the processing in S804, the second application 115 ends the termination processing flow of the second application 115 in the case of cooperative activation.

[0143] As described above, according to this embodiment, a configuration for controlling whether or not to display the license agreement screen based on the activation source of second application 115 has been described. When second application 115 is activated from first application 114, it is possible to prevent the same screen as the license agreement screen displayed by first application 114 from being displayed again based on the activation of second application 115. This prevents the user from being asked to agree to the same license agreement as the one agreed to by the first application. This makes it possible to improve usability and shorten the setup time.

[0144] In this embodiment, the screen displayed based on the activation of the first application 114 and the screen whose display is controlled by the second application 115 based on the activation source have been described by taking the screen of the software license agreement as an example, but are not limited thereto. The screen displayed based on the activation of the first application 114 and the screen whose display is controlled by the second application 115 based on the activation source may be, for example, a screen requesting the user to agree to certain terms of use, confirmation items, handling of personal information, etc. Alternatively, they may be a screen for an advertisement regarding the printer 121, etc., a screen requesting input from the user such as a login screen, or a screen notifying the user of a certain notification, etc.

[0145] In the present embodiment, an example has been described in which a web browser is displayed from the setup completion screen 1200 or the setup completion screen 1204 displayed by the second application 115, but the present invention is not limited to this. The screen displayed from the setup completion screen of the second application 115 may be, for example, a screen related to the usage of the first application 114 or the printer 121, an introduction screen introducing a product provided by the provider of the first application 114, or an advertisement screen related to the first application 114 or the printer 121. Furthermore, these screens are not limited to being displayed in a web browser, and may be displayed on the screen of the first application 114.

[0146] <Other embodiments> Needless to say, the object of the present invention can also be achieved by supplying a recording medium on which the program code of the software that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of the system or device read and execute the program code stored in the recording medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the storage medium on which the program code is stored constitutes the present invention.

[0147] Examples of storage media for supplying the program code include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and DVDs.

[0148] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing the program code it has read, but also that the functions of the above-mentioned embodiments are realized by an operating system running on the computer performing some or all of the actual processing based on the instructions of the program code.

[0149] Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then a CPU provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

[0150] The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

[0151] The disclosure of the present embodiment includes the following information processing device, method, and program. (Item 1) An information processing apparatus having a first application and a second application different from the first application, The first application comprises: a display means for displaying a predetermined screen based on the start of the first application; a first launching means for launching the second application; The second application comprises: a display control means for changing a display process of a predetermined screen based on the start of the second application between a case where the second application is started by the first start-up means and a case where the second application is started by a second start-up means different from the first start-up means; 23. An information processing apparatus comprising: (Item 2) The display control means When the second application is started by the first starting means, 2. The information processing device according to item 1, wherein a predetermined screen based on the launch of the second application is not displayed. (Item 3) The display control means When the second application is started by the second starting means, 4. The information processing device according to item 2 or 3, characterized in that a predetermined screen is displayed based on the start of the second application. (Item 4) The first starting means includes: a parameter indicating that the second application has been started from the first application is included in a start instruction for starting the second application; The second application comprises: A receiving means for receiving a start instruction; a determination means for determining whether or not the parameter is included in the start instruction received by the receiving means, The display control means 4. The information processing device according to any one of items 1 to 3, characterized in that, based on the determination made by the determination means that the parameter is included, a predetermined screen based on the launch of the second application is not displayed. (Item 5) The second application comprises: 5. The information processing device according to item 4, further comprising a notification means for notifying the first application of an error if the parameter included in the startup instruction received by the receiving means is not described in a predetermined format. (Item 6) The first application comprises: 6. The information processing device according to any one of items 1 to 5, further comprising an update unit that updates a version of the first application based on the error being notified by the notification unit. (Item 7) The first application comprises: 7. The information processing apparatus according to any one of items 1 to 6, further comprising an acquisition unit that acquires a version of the second application corresponding to a version of the first application. (Item 8) 8. The information processing device according to any one of items 1 to 7, wherein the second launch means launches the executable file of the second application based on an instruction from a user to execute the executable file of the second application. (Item 9) The information processing device according to any one of items 1 to 8, characterized in that the predetermined screen based on the launch of the first application and the predetermined screen based on the launch of the second application include a consent screen requesting consent from a user. (Item 10) 10. The information processing device according to item 9, wherein the consent screen is a screen relating to a license agreement. (Item 11) The first application and the second application 11. The information processing device according to any one of items 1 to 10, wherein the information processing device is an application related to a device connected to the information processing device. (Item 12) The first application comprises: Item 12. The information processing device according to item 11, characterized in that the information processing device is an application capable of instructing execution of functions of the device connected to the information processing device. (Item 13) The second application comprises: 13. The information processing device according to item 11 or 12, wherein the application is an application for setting up the device connected to the information processing device. (Item 14) 14. The information processing device according to any one of items 11 to 13, wherein the device connected to the information processing device is a printer. (Item 15) 1. A method executed in an information processing device having a first application and a second application different from the first application, comprising: The first application comprises: a display step of displaying a predetermined screen based on the start of the first application; a first launching step of launching the second application; The second application comprises: a display control step of changing a display of a predetermined screen based on the start of the second application between a case where the second application is started by the first start-up step and a case where the second application is started by a second start-up step different from the first start-up step, A method comprising: (Item 16) 15. A program for causing a computer to function as each of the means of the information processing device according to any one of items 1 to 14.

[0152] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]

[0153] 101 information processing device, 102 CPU, 106 ROM, 107 RAM, 114 portal application (first application), 115 setup application (second application), 121 printer

Claims

1. An information processing device having a first program and a second program, A means by which the first program performs a first process for obtaining consent from the user to a software license agreement relating to the second program, After the first process is executed and consent to the software license agreement relating to the second program is obtained, the second program is launched by the first program by a launch instruction executed by the first program, A means by which the second program is launched by the launch instruction executed by the first program, and which does not perform the second process for obtaining consent from the user to the software license agreement relating to the second program, and by which the second program is launched without the launch instruction being executed by the first program, An information processing device characterized by having the following features.

2. The first process further includes a process for obtaining consent from the user to a software license agreement relating to the first program, The information processing apparatus according to feature 1.

3. The second process further includes a process for obtaining consent from the user to a software license agreement relating to the first program, The information processing apparatus according to feature 1.

4. The software license agreement is an End-User License Agreement (EULA), The information processing apparatus according to feature 1.

5. If consent to the software license agreement relating to the second program has already been obtained, the first process is not performed by the first program. The information processing apparatus according to feature 1.

6. The first process and the second process include a process for displaying a screen for obtaining consent from the user to a software license agreement relating to the second program, The information processing apparatus according to feature 1.

7. Based on the fact that the second program is started by the start instruction executed by the first program, the second process is not executed by the second program, and the third process is executed by the second program. Based on the fact that the second program is started by the first program without the start instruction being executed, the second process and the third process are executed by the second program. The information processing apparatus according to feature 1.

8. 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 one or more devices found by the search process. The information processing apparatus according to feature 7.

9. When the second program is started by the startup instruction executed by the first program, means for the second program to execute a process by which the second program controls one or more devices belonging to the same network as the information processing device that are not compatible with the first program, so that they are not displayed by the display process, and one or more devices belonging to the same network as the information processing device that are compatible with the first program, so that they are displayed by the display process. If the second program is started by the first program without the start instruction being executed, the second program executes a process to control the display process so that one or more devices belonging to the same network as the information processing device that are not compatible with the second program are not displayed by the display process, and one or more devices belonging to the same network as the information processing device that are compatible with the second program are displayed by the display process. It further possesses, The range of models corresponding to the first program and the range of models corresponding to the second program are different. The information processing apparatus according to feature 8.

10. The range of models corresponding to the first program is narrower than the range of models corresponding to the second program. The information processing apparatus according to feature 9.

11. The range of models corresponding to the first program is included in the range of models corresponding to the second program. The information processing apparatus according to feature 9.

12. The second program further provides means for performing a process relating to the connection between the device selected by the user from among the one or more devices displayed by the display process and the information processing device. The information processing apparatus according to feature 8.

13. The one or more devices displayed by the display process are printers. The information processing apparatus according to feature 8.

14. When the third process is completed by the second program, the second program further has means for executing a process to display a predetermined screen and then terminating the second program. The information processing apparatus according to feature 7.

15. When the second program is started by the start instruction executed by the first program and the third process is completed by the second program, means for displaying a first screen including a first button and a second button, If the second program is started by the first program without the start instruction being executed, and the third process is completed by the second program, the system further provides means for displaying a second screen which includes the first button but does not include the second button. Based on the operation of the first button, the second program executes a process for displaying the predetermined screen and a process for terminating the second program. Based on the operation of the second button, the second program executes a process to terminate the second program without executing a process to display the predetermined screen. The information processing apparatus according to feature 14.

16. The predetermined screen is at least one of the following: a screen showing how to use the first program; a screen showing how to use an external device of the information processing device; a screen introducing products provided by the provider of the first program; an advertisement related to the first program; and an advertisement related to an external device of the information processing device. The aforementioned predetermined screen is a screen displayed by a web browser or the first program. The information processing apparatus according to feature 14.

17. The first program and the second program are application programs. The information processing apparatus according to feature 1.

18. The first program further provides means for transmitting at least one of a print job for causing an external device to perform printing and a scan job for causing an external device to perform scanning. The information processing apparatus according to feature 1.

19. A control method for an information processing device having a first program and a second program, A step of using the first program to perform a first process for obtaining consent from the user to a software license agreement relating to the second program, After the first process is executed and consent to the software license agreement relating to the second program is obtained, the second program is started by the first program in accordance with a startup instruction executed by the first program. Based on the fact that the second program is started by the startup instruction executed by the first program, the second process for obtaining consent from the user to the software license agreement relating to the second program is not executed by the second program, and based on the fact that the second program is started without the startup instruction being executed by the first program, the second process is executed by the second program. A control method characterized by including

20. A program for causing a computer to execute the control method described in Claim 19.