Information processing apparatus, method and program

JP2025027666A5Pending 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: first start means that starts the second application. The second application has: setup means that sets up a device connected to the information processing apparatus; and control means that controls the setup means so as to make a device to be set up 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 on the information processing device, and obtaining a license agreement for using the printer with 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 functions cannot be used from the portal app because the information processing device is not yet ready to use the printer. Therefore, there is a demand for providing a printer setup function in the portal app. One method for providing a setup function in a portal app is for the portal app to download and launch an existing setup app. This method has the advantage of making it easier to add a setup function to a portal app compared to implementing a new setup function in the portal app. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2018-191252 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] The present invention aims to improve convenience even when a first application and a second application can operate as independent applications. [Means for solving the problem]

[0007] In order to solve the above problem, the information processing device of the present invention is characterized in that it has a first application and a second application different from the first application, the first application has a first launch means for launching the second application, the second application has a setup means for setting up a device connected to the information processing device, and a control means for changing the device to be set up by the setup means between when the second application is launched by the first launch means and when the second application is launched by a second launch means different from the first launch means. [Effects of the Invention]

[0008] The present invention can improve convenience even when the first application and the second application can operate as independent applications. [Brief explanation of the drawings]

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

[0010] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.

[0011] First Embodiment 1 is a diagram showing an example of the configuration of an information processing system according to this embodiment. In this embodiment, the information processing device 101 will be described as a PC by way of 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 includes a CPU 102, an external storage device 103, an input interface 104, an output interface 105, a ROM 106, a RAM 107, a wired LAN interface 108, a wireless LAN interface 109, and a USB interface 110.

[0012] The CPU 102 is a system control unit that controls the entire information processing device 101. The CPU 102 reads out programs stored in storage media such as the external storage device 103 and the ROM 106 into the RAM 107 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 the 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 about 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 115 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 a printer 121. The first application 114 is an application that can instruct the printer 121 connected to the information processing device 101 to execute functions. 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 launching 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 print image data selected by a user on the information processing device 101. Specifically, the scan job transmission function is a function of causing the printer 121 to execute a scan and transmitting a scan job to the printer 121 to transmit image data obtained by the scan to the information processing device 101. The second application 115 has a function of 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, the present invention is not limited to this, 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 perform 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-described configuration, and the device applied as the information processing device 101 may have any configuration appropriate for 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 the same components as those in 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 print functions based on print data, print settings, print control information, etc. received from the first application 114, etc. The operation unit 131 is, for example, an interface 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 are capable of communicating 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 using a single USB cable, or they may be connected using 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. For this reason, 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 type of interface.

[0023] <Direct connection method> A direct connection refers to a wireless connection between devices directly (i.e., peer-to-peer) 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 communication via a direct connection (direct connection mode) as one of the connection modes. In Wi-Fi communication, there are multiple modes for communication via a direct connection, such as software AP mode and Wi-Fi Direct (WFD) mode.

[0024] The mode in which a direct connection is established using WFD is called WFD mode. WFD is a standard established by the Wi-Fi Alliance and is included in the IEEE 802.11 series of communication standards. In WFD mode, after a device discovery command is used to search for a communication partner, the roles of P2P group owner (GO) and P2P client are determined, and the remaining wireless connection processing is carried out. 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, for example, to GO negotiation in P2P. Note that in WFD mode, before the role determination is made, the printer 121 is neither a parent station nor a child station. Specifically, one device first issues a device discovery command to search for a device to connect to in WFD mode. Once the other device is discovered, the two devices confirm information about the services and functions that each device can provide. Note that this device provisioning information confirmation is optional and not required. This device provision information confirmation phase corresponds to, for example, P2P Provision Discovery. 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. Next, once the client and group owner have been determined, they exchange parameters for WFD communication. Based on the exchanged parameters, the remaining wireless connection processing and IP connection processing are performed between the P2P client and group owner. Note that in WFD mode, the printer 121 may always operate as the GO without performing the above-mentioned GO Negotiation. In other words, the printer 121 may operate in WFD mode, which is an autonomous GO mode. Furthermore, the state in which the printer 121 operates in WFD mode refers to, for example, a state in which a WFD connection is not established but the printer 121 operates as the GO, or a state in which a WFD connection is established and the printer 121 operates as the GO.

[0025] In the software AP mode, between devices communicating with each other (for example, the information processing device 101 and the printer 121), one device (for example, the information processing device 101) acts as a client that requests various services. The other device then realizes the functions of a Wi-Fi AP through software settings. The software AP corresponds to a Wi-Fi parent station, and the client corresponds to a Wi-Fi child station. In the software AP mode, the client searches for a device that will become the software AP using a device search command. Once the software AP is found, the remaining wireless connection processing (establishing a wireless connection, etc.) between the client and the software AP is carried out, and then IP connection processing (assigning an IP address, etc.) is carried out. Note that commands and parameters transmitted and received when establishing a wireless connection between the client and the 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, it operates as a master station in the network to which the printer 121 belongs. The master station is a device that builds a wireless network and provides parameters used for connecting to the wireless network to the slave stations. The parameters used for connecting to the wireless network are, for example, parameters related to the channel used by the master station. By receiving the parameters, the slave stations connect to the wireless network built by the master station using the channel used by the master station. Because the printer 121 operates as a master station in the direct connection mode, it is possible for the printer 121 to determine which frequency band and which channel to use for communication in the direct connection mode. In this embodiment, the printer 121 is capable of using 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 methods> An infrastructure connection is a connection mode in which devices (for example, the information processing device 101 and the printer 121) connect 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 an infrastructure connection, each device searches for an AP using a device discovery command. Once an AP is discovered, the remaining wireless connection processing (establishing a wireless connection, etc.) is carried out between the device and the AP, and then the IP connection processing (assigning an IP address, etc.) is carried out. Note that the 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 them will be omitted here.

[0029] In this embodiment, when the printer 121 operates via an infrastructure connection, the wireless LAN access point 152 serves as a master station, and the printer 121 serves as a slave station. In other words, in this embodiment, the infrastructure connection refers to a connection between the printer 121 operating as a slave station and a device operating as a master station. 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 becomes possible via the wireless LAN access point 152. The channel used for communication in the infrastructure connection is determined by the wireless LAN access point 152, and the printer 121 performs communication in the infrastructure connection using the channel determined by the wireless LAN access point 152. In this embodiment, the printer 121 is capable of using 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 can also 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 performs connection settings (network settings) for operating the printer 121 using at least one of an infrastructure connection and a direct connection communication method, using wireless communication with the printer 121. The connection setting process in this embodiment is also called cableless setup (CLS) because it is performed via wireless communication. Note that the connection setting process may also be performed via wired communication. The information processing device 101 performs connection setting processing for the printer 121 when a second application 115 stored in the external storage device 103 or the like is running. The printer 121 can operate in a connection setting mode (connection setting state), which is a mode for performing the connection setting process, and performs the connection setting process while operating in the connection setting mode. The connection setting mode will be described in detail 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 about the wireless LAN access point 152. The information about the wireless LAN access point 152 includes, for example, information about the SSID (Service Set Identifier), password, frequency band, etc.

[0032] On the other hand, when the information processing device 101 operates the printer 121 in the direct connection mode, it 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. The information processing device 101 also 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, for example, information such as the SSID and password of the printer 121.

[0033] In this embodiment, a direct connection for connection setting between the information processing device 101 and the printer 121 is used to transmit infrastructure setting information and direct setting information in the connection setting process and to obtain information for directly connecting to the printer 121. In this embodiment, the connection setting process is performed 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 a Wi-Fi infrastructure connection or a direct connection is established between the information processing device 101 and the printer 121 through the connection setting process, communication between the information processing device 101 and the printer 121 becomes possible via the established connection. Specifically, for example, the information processing device 101 can send to the printer 121, via the established connection, a print job for causing the printer 121 to print or a scan job for causing the printer 121 to scan. Note that in this embodiment, the connection setting process can cause the printer 121 to operate in either infrastructure connection mode or direct connection mode, but is not limited to this. For example, the connection setting process may be configured to only cause the printer 121 to operate in infrastructure connection mode (i.e., the printer 121 cannot operate in direct connection mode).

[0035] <About connection setting mode> Printer 121 can operate in a connection setting mode. The 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 hardware button provided on printer 121, or may be a software 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, as a process for enabling Wi-Fi communication, the printer 121 enables an internal AP (connection setting AP) of the printer 121 that is dedicated to the connection setting mode. This enables the printer 121 to establish a direct connection via Wi-Fi with the information processing device 101. Connection information (SSID and password) for connecting to the connection setting AP is stored in advance in a setup application installed on the information processing device 101, and the information processing device 101 is assumed to recognize the connection information for connecting to the connection setting AP in advance. Note that an encryption method may not be set for the connection setting AP, and a password may not be required for connection to the AP. Therefore, unlike the connection information of the AP enabled in the direct connection mode, 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 via 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 configuration appropriate for the functions that can be executed by the device applied as the printer 121. The printer 121 may also be 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 also be a multifunctional peripheral (MFP) that is integrated with functions such as a scanner and a facsimile.

[0038] In the information processing system shown in FIG. 1, in order for a user to use a printer 121 from an information processing device 101, the user first sets up the printer 121 using a second application 115. By setting up the printer 121, the user can use the printer 121 from the information processing device 101 using a 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 that downloads the second application 115 from the first application 114, starts the second application 115, and performs setup. However, since the first application 114 and the second application 115 can operate as independent applications, it is desired to improve user convenience.

[0040] For example, depending on the timing of the release of an application from its provider, the printer model compatible with the first application 114 may differ from the printer model that can be set up by the second application 115. In such a case, when the second application 115 is started by the first application 114 and the printer is set up, a printer that is not compatible with the first application 114 may be set up. If a printer that is not compatible with the first application 114 is set up, the user may not be able to use the printer from the first application 114 even though the printer setup is complete.

[0041] In this embodiment, a configuration will be described in which control is performed to change the model of the printer to be set up by the second application 115 based on the launch source of the second application 115. As a result, when the second application 115 is launched from the first application 114, the second application 115 can set up a printer corresponding to the first application 114.

[0042] 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 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing the 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 determines whether or not the user has agreed to the software license agreement (End-User License Agreement (EULA)). If the first application 114 determines in S201 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 determines 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, which will be described later. The first application 114 makes the above-mentioned determination by referring to information indicating the user's agreement to the software license agreement. In the following description, the software license agreement may be referred to as a license agreement.

[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 that is displayed based on the activation of the first application 114. The software license acquisition screen 900 includes 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 a consent screen that requests consent from the user. The contents of the license agreement include not only the contents of the license agreement for the first application 114 but also the contents of the license agreement for the second application 115. In other words, the license agreement serves as license agreements for multiple applications for using the printer 121. In other words, the processing 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 that provides the first application 114 or the second application 115 may also be obtained through the software license acquisition screen 900. This means that when a user uses multiple applications to use the printer 121, the user will not be required to consent to a license agreement for each application. Therefore, the user can immediately use each application.

[0046] In S202, if the user presses the "Agree to License 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 processing of S203. In S202, for example, if the user presses the "Do not agree to License Agreement" button 903, the first application 114 may end the processing 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) provided in ROM 106 for storing application data of first application 114. As a result, license acquisition screen 900 will not be displayed again when the user launches first application 114 in the future. Note that the present invention is not limited to this, and license acquisition screen 900 may be displayed each time first application 114 is launched.

[0048] In S203, the first application 114 determines whether or not a printer 121 available for use by the first application 114 exists. If the first application 114 determines in S203 that a printer 121 available for use does not exist, the process proceeds to S204. On the other hand, if the first application 114 determines that a printer 121 available for use exists, 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 a print queue for a printer 121 available for use by the first application 114 exists. Note that a print queue is an object that stores print data during printing and provides the function of sequentially printing the data. One or more print queues are created for each device that provides a print function. Furthermore, the printer 121 available for use by the first application 114 is a printer 121 provided by the same vendor as the vendor that provides the first application 114. In this embodiment, a print queue for the printer 121 is created during a setup process for 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 determines whether 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 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 prompts the user to select whether to execute the setup function. This screen has buttons that allow the user to select, for example, whether to execute the setup function or to terminate without executing the setup. If the first application 114 detects that the user has pressed the button for executing the setup function, the process proceeds to S207. On the other hand, if the first application 114 detects that the user has pressed a button to end 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 to 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. The printer 121 available to the first application 114 is, for example, a printer 121 that corresponds to capability information previously acquired and saved 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. Screen displays of the printer function button 1401, the printer icon 1402, and the like will be described in detail in S213 below. The printer usage screen 1400 also has an interface for displaying a screen related to the printer 121. For example, the printer usage screen 1400 has an interface for displaying convenient ways to use the printer 121. Convenient ways to use the printer 121 are, in other words, ways of utilizing the printer 121. Specifically, the ways of utilizing the printer 121 are, for example, a method of printing using the printer 121 or a method of copying using the printer 121. More specifically, the ways of utilizing the printer 121 are, for example, a method of sending a print job from a PC or a smartphone to the printer 121. More specifically, the ways of utilizing the printer 121 are, for example, a method of printing posters, disc labels, calendars, ID photos, nail stickers, etc. using the printer 121. More specifically, the ways of utilizing the printer 121 are, for example, a method of registering for a service provided by a vendor that provides the printer 121. When the user presses the interface for displaying convenient ways to use the printer 121, for example, the first application 114 displays a web page describing ways to utilize 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 other interfaces may also be included. Furthermore, when the first application 114 is launched for the first time since it was installed in the information processing device 101, steps S204 and S206 may be skipped, and processing may begin from step S207.

[0051] In the process of S205, the method by which the first application 114 selects one of the printers 121 available to the first application 114 may be a method of selecting the most recent printer 121 used by the user from the information processing device 101. In addition, the printers 121 available to the first application 114 displayed on the printer usage screen 1400 may be multiple 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, when 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, when 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. Also, 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, it may perform a version upgrade. In other words, the first application 114 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 description 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. If 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, thereby enabling the use of the latest setup function. Furthermore, the latest specifications can be used in the collaboration between the first application 114 and the second application 115, including the specifications of command line arguments when starting the second application 115, which will be described later. On the other hand, if the first application 114 is not the latest version, a specific version of the second application 115 corresponding to the current version of the first application 114 may be downloaded. That is, in S208, a version of the second application 115 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 launches the second application 115 downloaded to the information processing device 101. At this time, the launch instruction issued by the first application 114 to launch the second application 115 includes a launch command for launching the second application 115 and launch parameters. The launch parameters are information indicating the application that launched the second application 115, and are added as options to the launch command. In this embodiment, the launch parameters are added as command line arguments. In this embodiment, the command line argument that the first application 114 adds as an option to the launch instruction for the second application 115 is defined as " / BOOT_PORTAL:YES". In S209, the second application 115 launched by the first application 114 executes setup processing for the printer 121. Details of the setup processing 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 by 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, activating an application screen means that the screen is currently displayed in the foreground on the display unit 113 and is operable by the user. For example, if the user uses another application while the second application 115 is setting up the printer 121, 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 on the display unit 113 and is operable by the user. This allows the user to easily perform operations on the screen of the first application 114 in the processes of S213 and S214 described below. Furthermore, 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 launched by the process of terminating the second application 115 shown in FIG. 8 described below. This makes it possible to continue the subsequent processing in Fig. 2. Details of the series of operations from when the first application 114 receives the setup result in S210 to when the screen of the first application 114 is activated 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. However, this is not limiting. For example, depending on the state of the screen of the first application 114, or the states of the screens of an 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, if the screen of the first application 114 is minimized by a user operation, the first application 114 may determine that it wishes to preferentially display the screen of another application. In this case, the first application 114 may perform, for example, blinking 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. By blinking the application icon of the first application 114, for example, it is possible to notify the user that the setup function of the first application 114 has been completed.

[0059] In S212, the first application 114 determines whether the setup of the printer 121 was 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 was successful, the process proceeds to S213. On the other hand, if the first application 114 determines that the setup was not successful, the process proceeds to S214. Details of receiving 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 functions of the set-up printer 121 on the display unit 113. That is, the first application 114 is an application 114 that allows the user to instruct execution of functions 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, etc. 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 sending a print job to the printer 121 to cause printing to be performed, and a button for executing a function of sending a scan job to the printer 121 to cause scanning to be performed. 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 uses the identification information of the printer 121 acquired from the second application 115 as a setup result to search for the printer 121 corresponding to the identification information on the network to which the information processing device 101 belongs. The printer icon 1402 then shows the printer 121 discovered by the search. That is, in S213, based on the successful setup of the printer 121, a screen on which the functions of the printer 121 can be used is displayed. As a result, after the setup of the printer 121 is complete, the user can use the set-up printer 121 from the printer usage screen 1400 without having to launch the first application by the user.

[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 includes 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 fails, 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 perform re-setup. If the first application 114 determines to perform re-setup, the process proceeds to S207. On the other hand, if the first application 114 determines not to perform re-setup, the process proceeds to S218. For example, if the user presses button 1512 for terminating the application in FIG. 15(b), the first application 114 determines not to perform re-setup. If the user presses button 1511 for starting the setup function again in FIG. 15(b), the first application 114 determines to perform 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] 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 loading 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 processing in Fig. 3. The processing in Fig. 3 is started when the second application 115 is launched by the first application 114 in S209 of Fig. 2. Alternatively, the processing 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, a program list screen displayed by the information processing device 101, or the like. In the following description, the launch of the second application 115 by the first application 114 may be referred to as linked launch. Furthermore, the launch of the second application 115 without the intervention of the first application 114 based on the execution of the executable file (not shown) of the second application 115 by the user may be referred to as standalone launch.

[0067] In S301, the second application 115 acquires startup parameters included in the startup instruction for the second application 115. Specifically, the second application 115 acquires information included in the startup instruction for 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 following it is defined 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 determines whether the launch parameters acquired in S301 are correct. If the second application 115 determines in S302 that the launch parameters are correct, the process proceeds to S303. On the other hand, if the second application 115 determines that the launch parameters are incorrect, the process proceeds to S306. Specifically, the second application 115 determines whether the launch parameters are correct based on whether the number and values ​​of the launch parameters acquired in S301 comply with predetermined description rules. For example, the launch parameters sent from the first application 114 are specified as " / BOOT_PORTAL:YES," indicating that a linked launch has occurred. In this case, if there are two or more launch parameters or if the parameter name or parameter value is not set according to the predetermined description rule, the second application 115 determines that the launch parameters are incorrect. For example, if there is a compatibility problem between the versions of the first application 114 and the second application 115, the launch parameters are determined to be incorrect. Alternatively, when the second application 115 is launched from an application capable of launching the second application 115 other than the first application 114, or when the user launches the second application 115 via a command on a terminal, and the description differs from a predetermined description rule, the launch parameters are determined to be incorrect. The predetermined description rule is, in other words, a predetermined format. In this embodiment, the second application 115 determines that the launch parameters are correct except when two or more of the above-mentioned launch parameters exist or when the parameter name or parameter value is not set according to the predetermined description rule. Note that when the second application 115 is launched independently, the first application 114 does not issue a launch instruction to the second application 115. In the case of standalone launch, the launch instruction to launch the second application 115 does not include any launch parameters. In other words, the number of launch parameters is zero. In this embodiment, the second application 115 determines that the launch parameters are correct even when the number of launch parameters is zero.In other words, the process in S302 is a process for determining that startup parameters that are written in a manner that does not conform to predetermined description rules are incorrect. These determination methods are merely examples, and it is also possible to determine whether startup parameters are correct using criteria other than those described above. Alternatively, this determination may be omitted, and the process may proceed to S303 whenever startup parameters are acquired in S301.

[0069] In S303, the second application 115 determines whether the second application 115 has been launched from the first application 114. In other words, this determination is processing for determining whether the second application 115 has been launched in a collaborative manner or independently. If the second application 115 determines that the second application 115 has been launched from the first application 114, the process proceeds to S304. On the other hand, if the second application 115 determines that the second application 115 has not been launched 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 determines that the second application 115 has been launched from the first application 114. That is, in this case, the second application 115 determines that the second application 115 has been launched in a collaborative manner. On the other hand, if the parameter value is a value other than "YES", the second application 115 determines that the launch was not initiated from the first application 114. An example of a case where the parameter value is a value other than "YES" is when there are zero launch parameters, as described above. That is, in this case, the second application 115 determines that the second application 115 has been launched independently.

[0070] In S304, the second application 115 executes a setup flow for cooperative startup. Details of the setup flow for cooperative 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 a startup parameter error has occurred as a command line argument, and starts the first application 114. Note that because the startup parameter is 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, allowing the first application 114 to proceed to the next operation. For example, the first application 114, which has received the error notification 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 processing of FIG.

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

[0075] S400 indicates the start of the processing of FIG. 4. In the processing of FIG. 4, in S304 of FIG. 3, the second application 115 performs setup for the case of coordinated launch. In the processing of FIG. 4, the second application 115 is launched from the first application 114. When the second application 115 is launched from the first application 114, the first application 114 has already obtained user consent to the software license agreement for the second application 115 in S202 of FIG. 2. In other words, when the second application 115 is launched in a coordinated manner, the second application 115 does not need to perform control to obtain user consent to the software license agreement for the second application 115. Therefore, the second application 115 performs control not to obtain a software license agreement based on the coordinated launch. In other words, when the second application 115 is launched in a coordinated manner, the second application 115 does not display the software license agreement on the display unit 113. As a result, after the user launches 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 for the second application 115. Note that when the second application 115 is launched in cooperation with the first application 114, the second application 115 may obtain information indicating that the user has agreed to the software license agreement for the second application 115.

[0076] In the above description, a configuration has been described in which, when the second application 115 is launched in a coordinated manner, the second application 115 does not perform control to obtain user consent to the software license agreement for the second application 115. However, this configuration is not limited to this. Even when the second application 115 is launched in a coordinated manner, the second application 115 may perform control to obtain user consent to the software license agreement for the second application 115. In this configuration, the control executed by the first application 114 in S202 may be control to obtain consent to the software license agreement for the first application 114, but not to obtain consent to the software license agreement for the second application 115.

[0077] In S401, the second application 115 performs a process of downloading model-wide data. Specifically, the second application 115 downloads a file required across all models in a process described below. The file required across 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 information processing device 101 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 printers 121 that belong to the same network as the information processing device 101. The one or more printers 121 that correspond to the one or more pieces of identification information acquired through this attempt are treated as one or more printers 121 detected (discovered) by the search. Note that the printer 121 that belongs to the same network as the information processing device 101 specifically refers to, for example, the printer 121 connected to the access point 152 to which the information processing device 101 is connected. Note that 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 a printer 121 operating in the connection setting mode. The one or more printers 121 corresponding to the one or more beacons acquired through 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 is started in a linked state. Details of the compatible model identification process for the printer 121 when the printer is started in a 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 processing 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 indicating whether or not at least one printer 121 compatible with the first application 114 has been detected, and makes the determination. A method for storing information indicating 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 area 1002, printer information 1003, a "Next" button 1004, and the like. The printer selection message 1001 is a message for prompting the user to select, for example, a printer 121 that can be set up. The printer list display area 1002 displays a list of printers 121 that are detected by the search in S402 and are compatible models of the first application 114. Note that a printer 121 that is compatible models of the first application 114 is, in other words, 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 one of the printer information 1003 from the printer list display area 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 section 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 a printer 121 based on the printer information 1003. The second application 115 closes the printer selection screen 1000 when the user selects any of the printer information 1003 and presses 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 includes an interface selection message 1101, interface selection radio buttons 1102, a "Next" button 1103, and the like. The interface selection screen 1100 is an interface that prompts the user to select a connection method between the information processing device 101 and the printer 121. The interface selection message 1101 is a message that prompts the user to select a connection method between the information processing device 101 and the printer 121. The interface selection radio buttons 1102 are buttons that display options for interfaces that connect 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 connection processing 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 processing to be executed differs depending on the interface selected by the user in S406.

[0084] The connection processing executed in S407 is 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 selected printer 121 is discovered in S405, 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 selected printer 121 is not discovered in S405, the second application 115 displays a USB connection guidance screen that prompts the user to connect the selected printer 121 to the information processing device 101 via a USB cable. The USB connection guidance screen may include a button for displaying a web manual that shows how to connect the printer 121 to the information processing device 101 via a USB cable. Thereafter, 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 performs interface determination in S405 to determine whether the interface used in S402 to search for and discover the selected printer 121 is also a wired LAN. If the interface determination returns YES, the second application 115 searches for the selected printer 121 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 selected printer 121 was discovered in S402 is used. If the selected printer 121 is discovered in S405, 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 selected printer 121 is not discovered in S405, a wired LAN connection failure screen indicating that the wired LAN connection has failed is displayed. The wired LAN connection failure screen may include a button for performing a search again or 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 how to connect the printer 121 to the information processing device 101 via a wired LAN. Thereafter, 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 a wireless LAN, the second application 115 performs interface determination in S405 to determine whether the interface used in S402 to search for and discover the selected printer 121 is also a wireless LAN. If the interface determination returns YES, the second application 115 searches for the selected printer 121 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 selected printer 121 was discovered in S402 is used. If the selected printer 121 is discovered in S405, a wireless LAN connection is established between the discovered printer 121 and the information processing device 101, and a wireless LAN connection failure screen is not displayed. Furthermore, if the selected printer 121 is discovered in S405, 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 selected printer 121 is not discovered in S405, a wireless LAN connection failure screen indicating that the wireless LAN connection has failed is displayed. The wireless LAN connection failure screen may include a button for displaying a web manual showing operation methods for causing the printer 121 to execute Wi-Fi Protected setup (WPS) or operation methods 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 NO, the second application 115 displays a guidance screen that prompts the user to operate the printer 121 in connection setting mode. Specifically, the guidance screen is a screen that prompts the user to press a predetermined button on the printer 121 to operate the printer 121 in connection setting mode, for example. Note that before the guidance screen is displayed, a screen may be displayed that confirms whether the printer 121 has the predetermined button. Then, the guidance screen may be displayed when it is confirmed that the printer 121 has the predetermined button.If it is determined that the printer 121 does not have the predetermined button, a screen may be displayed to display a web manual that explains how to operate the printer 121 that does not have the predetermined button in connection setting mode. The second application 115 then searches for a printer 121 that operates in connection setting mode and connects to the discovered printer 121 via wireless LAN. 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 discovered printer 121 via wireless LAN. The second application 115 then obtains from the printer 121 a list of access points discovered by the printer 121 through the search. The second application 115 then determines whether 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. If the second application 115 determines that the list does not include an access point corresponding to the predetermined connection information, it displays the list and identifies an access point selected from the list as the access point to which the printer 121 is to be connected. The second application 115 then transmits to the printer 121 connection information for connecting to the access point identified as the access point to which the printer 121 is to be connected. The password included in the connection information may be obtained by the second application 115 accepting an input from the user, or may be obtained from a wireless profile previously stored in the OS of the information processing device 101. Upon receiving the connection information, the printer 121 disconnects from the information processing device 101 and connects to the access point using the connection information. The second application 115 then reconnects the information processing device 101 to the access point corresponding to the predetermined connection information via wireless LAN.The second application 115 then 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 selected printer 121 is discovered in S405, a wireless LAN connection is established between the discovered printer 121 and the information processing device 101, and the process proceeds to the next step. If the selected printer 121 is not discovered in S405, the process may proceed to S413. Also, if the selected printer 121 is not discovered in S405, a confirmation screen may be displayed to confirm whether or not to continue setting up the printer 121, and if an input to continue setting up the printer 121 is made on the confirmation screen, the process may return to S402 or S405. If an input to not continue setting up the printer 121 is made on the confirmation screen, the process may proceed to S413.

[0087] Note that if 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 connection processing is executed to establish a connection between the information processing device 101 and the single printer 121. There is also a case where the printers 121 detected by the search in S402 and compatible with the first application 114 include multiple printers 121 operating in the connection setting mode. In this case, a list of multiple printers 121 that are detected by the search in S402, are compatible models for the first application 114, and are operating in the connection setting mode is displayed. Note that this list does not include printers 121 that are detected by the search in S402, are compatible models for the first application 114, but are not operating in the connection setting mode. When one of the printers 121 is selected from the list, the processes in S405 and S406 are omitted, and the process proceeds to S407, where connection processing is performed to establish a connection between the information processing device 101 and the printer 121 selected from the list. Specifically, for example, of the connection processing performed when the interface selected by the user in S406 is wireless LAN, the same processing as the processing performed after discovering a printer 121 operating in the connection setting mode is performed.

[0088] In S408, the second application 115 downloads and installs model-specific data. The model-specific data may be, for example, an information file containing information for the second application 115 to determine whether or not to perform a test print on the printer 121, or a model-specific printer driver for the printer 121 that is required for printing. The test print is a process of printing image data for a test print that has been 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 performed 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. When the user selects the printer 121 in S405, the printer 121 to be set up is determined, and the model-specific data is then 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 second application 115 notifies the OS to display the print queue creation screen, and a web manual explaining how to create a print queue on the print queue creation screen is displayed by the web browser. The print queue creation screen displays a list of printers 121 discovered by a search executed by the OS. When the user selects one from the list, the OS creates a print queue corresponding to the selected printer 121. Once the print queue is created, the information processing apparatus 101 can send a print job to the printer 121 corresponding to the created print queue. Once a connection is established between the information processing apparatus 101 and the printer 121 to be set up and creation of a print queue corresponding to the printer 121 to be set up is completed, the setup of the printer 121 is considered complete. Note that this is not a limitation, and the processing 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 for collaboration startup, as shown in FIG. 12A, on the display unit 113. The setup completion screen 1200 for collaboration startup includes 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 setup is complete. 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 launched and instructions for using the printer 121 will be displayed. The setup completion message for collaboration startup also includes a message informing the user to press the close button 1203 if there is no need to display instructions for using the printer 121. This prevents the same display from being displayed again, for example, if the user has already displayed instructions for using the printer 121 from the printer usage screen 1400 of the first application 114 shown in FIG. 14.

[0091] The "Go to Website" button 1202 is an interface that can display a screen related to the printer 121. In this embodiment, when the user presses the "Go to Website" button 1202, the second application 115 launches a web browser and displays on the display unit 113 a web page that describes how to use the printer 121, such as how to print and scan. The URL for displaying this web page is assumed to be stored in advance in the second application 115. Thereafter, the second application 115 closes the 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 user presses the close button 1203, the second application 115 closes the setup completion screen 1200 at the time of collaboration startup. That is, in S410, the second application 115 performs control to enable the close button 1203 to be displayed on the setup screen 1200 at the time of collaboration 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 collaboration 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 enabling the close button 1203 to be displayed, the user of the second application 115 can select whether to display the web page by pressing the “Go to Web Page” button 1202, or to not display the web page by pressing the close button 1203.

[0093] Note that a user who is using the first application 114 for the first time or a user who is unaware that a web page can be displayed from the first application 114 may have never viewed a web page. If the close button 1203 is enabled, such a user may press the close button 1203. Therefore, in S410, the second application 115 may control whether or not to enable and display the close button 1203 based on the launch parameters received from the first application 114. For example, the launch 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 that describes how to use the printer 121.

[0096] In S413, the second application 115 performs a termination process upon cooperative activation. The details of the termination process upon cooperative activation 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 activated in a linked manner.

[0098] 5 shows an example of a setup flow when the second application 115 in this embodiment is launched independently. The processing in FIG. 4 is realized, for example, by the CPU 102 loading a control program stored in a memory such as the ROM 106 into the RAM 107 and executing it.

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

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

[0101] In S502, the second application 115 executes control for obtaining consent to the software license agreement. The method for obtaining consent to the software license agreement is similar to S202 in FIG. 2 , and therefore description thereof will be omitted. Note that in the setup flow for standalone activation, the first application 114 does not perform the processing of S202, and therefore the software license acquisition screen 900 may not be displayed in the first application 114. That is, the first application 114 may not have obtained consent to the software license agreement for the second application 115. Therefore, in this embodiment, when the second application 115 is standalone activated, it displays a screen (not shown) similar to the software license acquisition screen 900 at the timing of S502. Note that, as described above, in this embodiment, the same control as S202 is executed in S502, and therefore 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 is executed in S502. However, this is not limited to this form, and 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] S503 is the same process as S402 in FIG. 4, and therefore 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. 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] Steps S505 to S510 are the same as steps S404 to S409 in FIG. 4, and therefore a description thereof will be omitted.

[0105] In S511, the second application 115 displays a setup completion screen 1204 for standalone startup, shown in FIG. 12B, on the display unit 113. The setup completion screen 1204 for standalone startup includes a setup completion message 1205, a "Go to website" button 1206, and an end message 1207. 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 information on 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 terminate the second application 115.

[0106] Furthermore, during independent activation, the second application 115 performs disable control, which is control that does not execute a user operation on the close button 1208 on the setup completion screen 1204 to close the setup completion screen 1204. Specifically, the disable control is, for example, control that does not display the close button 1208 on the setup completion screen 1204. When this disable control is executed, a screen in which the close button 1208 has been removed from the screen shown in FIG. 12(b) is displayed as the setup completion screen 1204. Alternatively, the disable control is, for example, control that displays the close button 1208 but does not execute a user operation on the close button 1208 to close the setup completion screen 1204. In this form of disable control, the close button 1208 may be displayed in a grayed-out state. Note that even when the disable control is executed, the display of the end message 1207 can inform the user of the operation to close the setup completion screen 1204. To make the user aware of this, the setup completion screen 1204 displays a completion message 1207, which is not displayed on the setup completion screen 1200. In S511, when the user presses the "Go to Website" button 1206, the second application 115 advances the process to S513.

[0107] As described above, in this embodiment, when the second application 115 is launched based on the execution of an executable file by the user, the close button 1208 is disabled to accept instructions from the user. On the other hand, when the second application 115 is launched from the first application 115, the close button 1208 is enabled to accept instructions from the user, as described with reference to FIG. 4 . That is, depending on whether the second application 115 is launched independently or in a linked launch, the second application 115 performs display control to determine whether the close button 1208 is disabled to accept instructions from the user or is enabled to accept instructions as described with reference to FIG. 4 . Note that, in the above description, the disable control is executed when the second application 115 is launched independently and is not executed when the second application 115 is launched in a linked launch. However, the present invention is not limited to this. The disable control may not be executed when the second application 115 is launched independently or in a linked launch. That is, the same screen (for example, 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 the same as that of S412 in FIG. 4, and therefore a description thereof will be omitted.

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

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

[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 at least one printer 121 that is compatible with the first application 114 is included 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 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 is a list of models that are incompatible with the first application. For example, the incompatible model list may be a list of models that have an OS that is incompatible with the first application 114, models that are incompatible with the printer driver of the first application 114, models that comply with standards that are incompatible with the first application 114, models that comply with communication specifications that are incompatible with the first application 114, etc. 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 of the 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 broader list than the incompatible model list of the second application 115. In other words, the range of printers 121 that can be set up in the case of linked startup is narrower than the range of printers 121 that can be set up in the case of standalone startup. However, this is not limited to this. 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. Furthermore, for example, the incompatible model list of the first application 114 may not include the models listed 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. Furthermore, the models of the printer 121 to which the first application 114 can send various jobs are the models supported by the first application 114.In other words, the model of the printer 121 to which the first application 114 cannot send various jobs is a model incompatible with the first application 114.

[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 this in the subsequent processing. In this way, when the second application 115 is launched in a linked manner, the second application 115 acquires a list of printer 121 models that are incompatible with the first application 114. As a result, even when the user launches 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 processing of FIG. 4.

[0114] In S602, the second application 115 excludes the printers 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 referred to as a detected printer. Also, the list of detected printers is referred to as a detected printer list. For example, it is assumed that the detected printer list includes a printer 121 of a predetermined model. It is also assumed that the non-compatible model list does not include the printer 121 of the predetermined model. In this case, the second application 115 does not exclude the printer 121 of the predetermined model from the detected printer list.

[0115] In the present embodiment, an example of acquiring a list of incompatible models 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 compatible with the first application 114 (compatible model list) is acquired, and printers 121 not included in the compatible model list are excluded 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 that is compatible with the first application 114. A compatible model for the first application 114 is a printer 121 among the printers 121 in the detected printer list that is not included in the incompatible model list for the first application 114. If the second application 115 determines that there is a printer 121 that is compatible with the first application 114, it stores information indicating that at least one printer 121 that is compatible with the first application 114 has been detected in the RAM 107, and proceeds to S608, ending the processing of FIG. 6. On the other hand, if the second application 115 determines that there is no printer 121 that is compatible with the first application 114, it proceeds to S604.

[0117] In S604, the second application 115 displays an incompatible model detection screen 1300 shown in FIG. 13 on the display unit 113. The incompatible model detection screen 1300 includes an incompatible model detection message 1301, an "OK" button 1302, a "Cancel" button 1303, and the like. The incompatible model detection message 1301 includes a message informing the user that a printer 121 incompatible with the first application 114 has been detected, and that the user should press the "OK" button 1302 to set up the printer 121. The printer 121 incompatible with the first application 114 is a printer 121 included in the incompatible model list of detected printers. The user can close the incompatible 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 that is a model incompatible 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, the second application 115 determines to execute setup if the user presses the "OK" button 1302 on the incompatible model detection screen 1300. On the other hand, the second application 115 determines not to execute setup if the user presses the "Cancel" button 1303 on the incompatible model detection screen 1300 in S604. Note that the second application 115 may also proceed to S406 if it determines not to execute setup. In this embodiment, setup is performed by the processes from S406 onwards for the printer 121 that was not found in the search in S402.

[0119] In S606, the second application 115 displays on the display unit 113 a Web page (not shown) for launching an application for setting up the printer 121 displayed on the non-compatible model detection screen 1300. Note that 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 is 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 launched independently by downloading an executable file for the second application 115 via the Web page. As a result, the setup for standalone launch 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 non-compatible model detection screen 1300 is included in the non-compatible model list of the first application 114 but not in the non-compatible model list of the second application 115, the second application 115 may directly execute the processing of S305 without displaying the above-mentioned Web page in S606. Also, if the printer 121 displayed on the non-compatible model detection screen 1300 is included in both the non-compatible model list of the first application 114 and 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 is the third application. The third application is an application that can perform setup only for a single model, unlike the second application, which can perform setup for multiple models.Furthermore, a printer 121 that is 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 a printer 121 that is 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 description, the process of S604 to S606 is executed when it is determined in S603 that there is no printer 121 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 there is no printer 121 compatible with the first application 114.

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

[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 at least one printer 121 that is compatible with the second application 114 is among the detected printers 121 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 ​​within 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 incompatible 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 that is compatible with the second application 115. A compatible model for the second application 115 is a printer 121 among the printers 121 in the detected printer list that is not included in the incompatible model list for the second application 115. If the second application 115 determines that there is a printer 121 that is compatible with the second application 115, it stores information indicating that at least one printer 121 that is compatible with the second application 115 has been detected in the RAM 107, and proceeds to S708, ending the processing of FIG. 7. On the other hand, if the second application 115 determines that there is no printer 121 that is compatible with the first application 114, it proceeds to S704.

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

[0129] In S705, the second application 115 determines whether 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, the second application 115 determines to execute setup if the user presses the "OK" button 1302 on the incompatible model detection screen 1300. On the other hand, the second application 115 determines not to execute setup if the user presses the "Cancel" button 1303 on the incompatible model detection screen 1300 in S704.

[0130] In S706, the second application 115 displays on the display unit 113 a Web page (not shown) for launching 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 identification processing when the second application 115 is launched independently, and the processing proceeds to S505.

[0133] In the above description, the process of S704 to S706 is executed when it is determined in S703 that there is no printer 121 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 there is no printer 121 compatible with the second application 114.

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

[0135] S800 indicates the start of the processing in Fig. 8. In the processing in Fig. 8, the second application 115 performs processing to transmit the 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 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 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 of 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 setup is 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 successfully set up the printer 121. An example of a case where the setup of the printer 121 has been successful is when the process of FIG. 8 is started by pressing the close button 1203 on the setup completion screen after a connection between the information processing device 101 and the printer 121 has been established by the connection process of S407. An example of a case where the setup of the printer 121 has failed is when the process of FIG. 8 is started because the selected printer 121 was not found in S405 even though the interface selected by the user in S406 was wireless LAN and connection information was sent to the printer 121. Another example of a case where the process of FIG. 8 is started because the selected printer 121 was not found in S405 even though the interface selected by the user in S406 was wired LAN or USB and the various guidance screens described above were displayed. Examples of information indicating the success or failure of the setup process included in the setup result include text information such as "SETUP_SUCCESS" if the processes in S401 to S410 shown in FIG. 4 are successful, and "SETUP_FAIL" if they are not. Examples of identification information of the printer 121 included in the setup result include identification information that can be acquired 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 may be, for example, the model name, MAC address, or serial number of the printer 121. In some cases, such as when a plurality of printers 121 with the same model name are detected, it may not be possible to identify a single set up printer 121 using a single piece of identification information.Therefore, the second application 115 may send the setup result including the plurality of identifying 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 that 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 startup instruction when the second application 115 starts the first application 114. Alternatively, the setup result may be transmitted via inter-process communication with the first application 114 that is currently running.

[0140] Note that the series of processes from S801 to S803 may use an application launching means (also called a "deep link") that uses 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 the setup result to be sent 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 processing to open the URL. A process to launch 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 processing to open the URL. The first application 114 acquires, as a parameter, the string "SETUP_SUCCESS / Param?PRINTERNAME=AAA&SERIAL=12345678" that follows the URL scheme "portal: / / " that indicates the first application 114. The first application 114 acquires the setup result "SETUP_SUCCESS" contained in the string and determines that the setup was successful. The first application 114 acquires the identification information "Param?PRINTERNAME=AAA&SERIAL=12345678" contained in the 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 performs 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 for the second application 115 in the case of cooperative activation.

[0143] As described above, according to this embodiment, a configuration has been described in which control is performed to change the model of the printer 121 that the second application 115 sets up, based on the launch source of the second application 115. As a result, when the second application 115 is launched from the first application 114, it can perform setup for the model of the printer 121 that the first application 114 supports. Therefore, even if the first application 114 and the second application 115 can operate independently, convenience can be improved.

[0144] In the present 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 using the software license agreement screen as an example, but the present invention is not limited to this. 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's consent regarding certain terms of use, confirmation items, handling of personal information, etc. Alternatively, the screen may be a screen for an advertisement related to the printer 121, etc., a screen requesting input from the user such as a login screen, or a screen that notifies the user of certain notifications, etc.

[0145] Note that, 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, which screen explains how to utilize the printer 121, but this is not limiting. The screen displayed from the setup completion screen of the second application 115 may be, for example, a screen about how to utilize the first application 114 or the printer 121, an introduction screen introducing products provided by the provider of the first application 114, or an advertising 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 also 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 program code for software that realizes the functions of the above-described 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 on the recording medium. In this case, the program code read from the recording medium itself realizes the functions of the above-described embodiments, and the recording medium on which the program code is stored constitutes the present invention.

[0147] Examples of storage media that can be used to supply 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 not only are the functions of the above-mentioned embodiments realized by the computer executing the program code it has read, but also cases are included in which an operating system running on the computer performs some or all of the actual processing based on the instructions of the program code, and the functions of the above-mentioned embodiments are realized by that processing.

[0149] Furthermore, it goes without saying that this also includes cases where the program code read from the storage medium is written into the memory of a function expansion board inserted into a computer or a function expansion unit connected to the computer, and then the CPU or the like 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, and the functions of the above-mentioned embodiments are realized through this processing.

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

[0151] The disclosure of this embodiment includes the following information processing device, method, and program. (Item 1) An information processing device having a first application and a second application different from the first application, The first application a first launching means for launching the second application; The second application a setup means for setting up a device connected to the information processing device; and a control means for controlling the setup means so that a device to be set up is different between when the second application is started by the first launch means and when the second application is started by a second launch means different from the first launch means. 1. An information processing device comprising: (Item 2) The information processing device described in item 1 is characterized in that the range of devices that are the target of the setup by the setup means when started up by the first startup means is narrower than the range of devices that are the target of the setup by the setup means when started up by the second startup means. (Item 3) 3. The information processing device according to item 1 or 2, wherein the second launching means can launch the second application regardless of whether the first application is running or not. (Item 4) 4. The information processing device according to any one of items 1 to 3, wherein the second launching means is execution of an executable file of the second application by a user. (Item 5) 5. The information processing device according to any one of items 1 to 4, further comprising a first determination means for determining whether the second application is launched by the first launch means or the second launch means. (Item 6) the second application further comprises a receiving means for receiving a start instruction; Item 6. The information processing device according to item 5, wherein the first determination means determines whether the second application was launched by the first launch means or the second launch means based on the launch instruction received by the receiving means. (Item 7) the first launch instruction by the first launch means includes information indicating that the launch is from the first application; Item 6. The information processing device according to item 6, wherein the first determination means determines that the second application has been launched by the first launch means when the launch instruction received by the receiving means includes the information. (Item 8) 8. The information processing device according to item 7, wherein the information is an option added to a startup command. (Item 9) 9. The information processing device according to item 7 or 8, wherein the first determination means determines that the second application has been launched by the second launch means if the launch instruction received by the receiving means does not include the information. (Item 10) 2. The information processing apparatus according to claim 1, wherein the second startup instruction by the second startup means does not include the option in the startup command. (Item 11) The second application The device further includes a second determination means for determining whether the startup instruction received by the receiving means is a startup instruction in a predetermined format, 11. The information processing device according to any one of items 6 to 10, wherein when the second determination means determines that the startup instruction is in the predetermined format, a determination is made by the first determination means. (Item 12) The predetermined format is: a first format including the launch command and the option, the first format being determined based on compatibility between a version of the first application and a version of the second application; and a second format in which the option is not added to the startup command. (Item 13) The first application and the second application 13. The information processing device according to any one of items 1 to 12, wherein the information processing device is an application related to a device connected to the information processing device. (Item 14) The first application Item 14. The information processing device according to item 13, 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 15) The second application 15. The information processing device according to item 13 or 14, wherein the information processing device is an application for setting up the device connected to the information processing device. (Item 16) 16. The information processing device according to any one of items 13 to 15, wherein the device connected to the information processing device is a printer. (Item 17) 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 a first launching step of launching the second application; The second application a setup step of setting up a device to be connected to the information processing device; a control step of controlling the setup step so that a device to be set up is different between when the second application is started by the first start-up step and when the second application is started by a second start-up step different from the first start-up step, A method characterized by: (Item 18) 17. A program for causing a computer to function as each of the means of the information processing device according to claim 1.

[0152] The invention is not limited to the above-described embodiments, and various changes and modifications can be made 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, The second program includes means for searching for one or more devices belonging to the same network as the information processing device, When the second program is started based on a startup instruction executed by the first program, the second program controls the system to not display as setup targets one or more devices among the one or more devices found by the search that are not compatible with the first program, and to display as setup targets one or more devices that are compatible with the first program. If the second program is started without the startup instruction given by the first program, the second program controls the system to display one or more devices among those found by the search that are of the same model as the second program as the setup target. An information processing device characterized by having the following features.

2. 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 1.

3. 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 2.

4. When the second program is started based on the startup instruction executed by the first program, means for obtaining a first list of models that do not correspond to the first program, Means for excluding devices of the type included in the first list from one or more devices found by the search, If the second program is started without the startup instruction given by the first program, means for obtaining a second list of models that do not correspond to the second program, Means for excluding devices of the type included in the second list from one or more devices found by the search, The information processing apparatus according to claim 1, further comprising the features.

5. The startup instruction executed by the first program includes information indicating that it was started by the first program, The second program determines, based on the information, whether or not the second program was started by the first program. The information processing apparatus according to feature 1.

6. The information is an option attached to the startup command, The information processing apparatus according to feature 5.

7. The second program provides means for determining whether a received startup instruction is a startup instruction of a predetermined format, If it is determined that the startup instruction is not a startup instruction of the predetermined format, means for notifying the first program of an error, The information processing apparatus according to claim 5, further comprising

8. The predetermined form is A first form including startup commands and options, determined based on the compatibility between the first program version and the second program version, A second form in which the aforementioned option is not attached to the aforementioned startup command, The information processing apparatus according to claim 7, characterized by including the following:

9. The means for searching is: Searching for one or more devices belonging to the same network as the aforementioned information processing device, Perform at least one of the following: search for one or more devices operating in connection setting mode. The information processing apparatus according to feature 1.

10. When the second program is started based on the startup instruction executed by the first program, and the one or more devices found by the search do not include a device of the model corresponding to the first program, the second program further has means for displaying a screen indicating that a device of a model not corresponding to the first program has been detected. The information processing apparatus according to feature 1.

11. The second program further provides means for setting up one or more devices selected by the user from among the devices displayed as setup targets. The information processing apparatus according to feature 1.

12. The setup means executes, by the second program, a process relating to the connection between the device selected by the user from among the one or more devices displayed as the setup target and the information processing device. The information processing apparatus according to feature 11.

13. The connection processing is performed using an interface selected by the user from among wireless LAN, wired LAN, and USB. The information processing apparatus according to feature 12.

14. The one or more devices displayed as the setup target are printers. The information processing apparatus according to feature 1.

15. The first program and the second program are application programs related to an external device connected to the information processing device. The information processing apparatus according to feature 1.

16. The first program is capable of instructing the functions of the external device to be executed. The information processing apparatus according to feature 15.

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

18. When the second program is started based on the startup instruction executed by the first program, the second program further has means for transmitting information indicating the setup result to the first program, The information indicating the results of the setup includes information on whether the setup was successful or not and identification information of the device that was the target of the setup. The information processing apparatus according to feature 11.

19. A control method for an information processing device having a first program and a second program, The second program includes the steps of searching for one or more devices belonging to the same network as the information processing device, When the second program is started based on a startup instruction executed by the first program, the second program controls the system to not display one or more devices among the one or more devices found by the search that are not compatible with the first program as setup targets, and to display one or more devices that are compatible with the first program as setup targets. If the second program is started without the startup instruction given by the first program, the second program controls the system to display one or more devices from the one or more devices found by the search that are of the same model as the second program as the devices to be set up. A control method characterized by including

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