Support programs and notification methods

The support program addresses the lack of convenient information in existing printer control technologies by acquiring and displaying device information, promoting the installation of control programs and enhancing user convenience.

JP2026113980APending Publication Date: 2026-07-08BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2024-12-26
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

Existing support programs for controlling printers via general-purpose printing programs lack the capability to provide highly convenient information to users, such as notifications about available functions and services, and do not facilitate easy installation of additional control programs.

Method used

A support program that acquires program and service information from a printing device and displays instructions on a user interface when a print-related operation occurs, promoting the installation of a control program and notifying users of available services and functions.

Benefits of technology

Enables users to be informed about available functions and services through the support program, facilitating the installation of control programs and enhancing user convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026113980000001_ABST
    Figure 2026113980000001_ABST
Patent Text Reader

Abstract

To realize a new technology that enables the notification of highly convenient information to the user using a support program in an information processing device that incorporates a general-purpose printing program. [Solution] An auxiliary program 42, which is a program that supports the general-purpose printing program 41 of OS21, acquires program information related to a printing application 54, which is a different program from the auxiliary program 42 and is used to control the printer 2, and service information related to services available on the printer 2. Furthermore, when the general-purpose printing program 41 starts the auxiliary program 42 in response to a predetermined printing-related operation, it displays instructions for using the printing application 54 based on the acquired program information or service information on the display 13a of the PC1.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technical field disclosed in this specification relates to a support program and a notification method for supporting control to cause a printing apparatus to perform printing.

Background Art

[0002] In recent years, a technology for controlling a printer by using a general-purpose printing program provided in an operating system (OS) without using a printer driver provided by a printer vendor has been put into practical use. In this technology, when the OS detects a printer, it associates the printer with the general-purpose printing program. Thereafter, when a print instruction for the printer is received, the general-purpose printing program generates print data without using the printer driver provided by the printer vendor, enabling printing by the general-purpose printing program.

[0003] Also, in a technology for controlling a printer via a general-purpose printing program, a support program for supporting control to cause the printer to perform printing is known. As a document that discloses a technology related to the support program, for example, there is Patent Document 1. Patent Document 1 discloses a configuration in which an auxiliary program corresponding to the support program acquires information from a printer and displays a message based on the acquired information.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] The technology disclosed in Patent Document 1 relates to notification using information acquired from a printer by a support program, but it is desirable to notify even more convenient information using the support program. [Means for solving the problem]

[0006] The support program designed to address the aforementioned issues is: A support program that is executable by the computer of the information processing device and supports a general-purpose printing program that has an operating system of the information processing device, To the aforementioned computer, A program information acquisition process is executed to acquire program information, which is information related to the control program. The control program is a different program from the support program and is a program used to control the printing device. The aforementioned computer further: When a predetermined print-related operation occurs via an application program incorporated in the aforementioned information processing device, and the general-purpose printing program is activated in response, Based on the program information acquired in the program information acquisition process, a display process is executed to display instructions for using the control program on the user interface of the information processing device. It is configured in this way.

[0007] Furthermore, another support program aimed at solving the aforementioned problems is: A support program that is executable by the computer of the information processing device and supports a general-purpose printing program that has an operating system of the information processing device, To the aforementioned computer, The printing device executes a service information acquisition process to obtain service information, which is information about the services available to the printing device. The aforementioned computer further: When a predetermined print-related operation occurs via an application program incorporated in the aforementioned information processing device, and the general-purpose printing program is activated in response, Based on the service information obtained in the service information acquisition process, the program executes a display process to display information on the user interface of the information processing device regarding the services available to the program. It is configured in this way.

[0008] The support program disclosed herein causes a computer to acquire at least one of program information and service information relating to a control program different from the support program. Furthermore, when a print-related operation occurs via an application program, the computer displays instructions for using the control program based on the acquired program information or service information. This allows the support program to display information different from that obtained from the printing device, such as information about functions and services available in the control program and suggestions for installing the control program, thereby providing highly convenient information from the support program in conjunction with print-related operations.

[0009] The control method, computer program, and computer-readable storage medium for storing the computer program used to realize the functions of the above-mentioned device are also novel and useful. [Effects of the Invention]

[0010] The technology disclosed herein enables a new technology in which a general-purpose printing program is incorporated into an information processing device that can notify the user of highly convenient information using a support program. [Brief explanation of the drawing]

[0011] [Figure 1] This block diagram shows an overview of the electrical configuration of a PC. [Figure 2] This is a sequence diagram showing an example of the installation procedure for a print program set. [Figure 3] This is a diagram showing an example of a completion notification screen. [Figure 4] This is a diagram showing an example of an installation guidance screen. [Figure 5] This is a sequence diagram showing an example of the installation procedure of a printing application. [Figure 6] This is a sequence diagram showing the first half of an example of the procedure for printer selection and detailed settings. [Figure 7] This is an explanatory diagram showing an example of a print settings screen. [Figure 8] This is an explanatory diagram showing an example of a detailed settings screen. [Figure 9] This is a sequence diagram showing the second half of an example of the procedure for printer selection and detailed settings. [Figure 10] This is a diagram showing an application form of the installation guidance screen. [Figure 11] This is a diagram showing an example of a subscription guidance screen. [Figure 12] This is an explanatory diagram showing an application form of the detailed settings screen. [Figure 13] This is an explanatory diagram showing an application form of the print settings screen. [Figure 14] This is a sequence diagram showing the first half of an example of the print execution procedure. [Figure 15] This is a sequence diagram showing the second half of an example of the print execution procedure. [Figure 16] This is an explanatory diagram showing an example of a device management screen.

Embodiments for Carrying Out the Invention

[0012] Hereinafter, a printing system including a personal computer (hereinafter referred to as "PC") that uses the support program of this embodiment and a printer connected to the PC will be described in detail with reference to the accompanying drawings. This specification discloses a support program executed on a PC.

[0013] (System Configuration) As shown in Figure 1, the printing system 100 in this configuration includes a PC 1, a printer 2, a first server 30, a second server 31, and a third server 32, all connected to each other via the Internet 6. The PC 1 and the printer 2 are connected via a LAN. The printer 2 may also be connected to the Internet 6, or it may be connected to the PC 1, etc., via the Internet 6.

[0014] PC1 is a general-purpose PC, such as a desktop, notebook, or tablet. PC1 is equipped with a controller 10 that includes a CPU 11 and memory 12. PC1 is an example of an information processing device. CPU 11 is an example of a computer. PC1 is also equipped with a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Figure 1 is a general term for the hardware and software used to control PC1, and does not necessarily represent a single piece of hardware actually present in PC1.

[0015] The CPU 11 of PC1 executes various processes according to programs read from memory 12 and based on user operations. Memory 12 stores various programs and data. Memory 12 is also used as a workspace when executing various programs. The buffer provided by the CPU 11 is also an example of memory 12. Note that the example of memory 12 is not limited to ROM, RAM, HDD, etc., built into PC1, but may also be a storage medium that the CPU 11 can read and write to, such as a recording medium such as a CD-ROM or DVD-ROM.

[0016] The user interface 13 includes a display 13a, which is hardware that displays a screen for informing the user of information, and hardware that accepts user operations. The user interface 13 may also include a combination of a display 13a capable of displaying information and a mouse or keyboard with input acceptance functionality, or it may include a touch panel that has the functionality of the display 13a and input acceptance functionality.

[0017] The communication interface 14 includes hardware for communicating with external devices such as printer 2. The communication standards for the communication interface 14 include Ethernet (registered trademark), Wi-Fi (registered trademark), and USB. PC1 may be able to connect to the internet via the communication interface 14. PC1 may have multiple communication interfaces 14 that support multiple communication standards.

[0018] As shown in Figure 1, the memory 12 stores various programs and data, including an operating system (hereinafter referred to as "OS") 21 containing a general-purpose printing program 41, a print program set 40 consisting of multiple programs, an editing application 43, a browser 44, and a printing application 54. In this specification, application programs may be referred to as "apps."

[0019] OS21 is a multitasking operating system that can process multiple tasks in parallel by managing and switching between them. Examples of OS21 include Windows®, macOS®, Linux®, iOS®, and Android®.

[0020] OS21 includes a general-purpose printing program 41. The general-purpose printing program 41 is provided by the OS21 vendor and is offered as part of OS21; in other words, it is a program pre-installed in the OS. The general-purpose printing program 41 can be said to be a program that is standard in OS21. The general-purpose printing program 41 is packaged with OS21 and installed on PC1 together with OS21. In other words, PC1 has OS21 installed, which includes the general-purpose printing program 41. The general-purpose printing program 41 is not configured to use printer drivers specific to each printer. An example of the general-purpose printing program 41 is the IPP Class Driver.

[0021] The general-purpose printing program 41 is a program that has the functionality to perform printing on multiple types of printers, each provided by multiple vendors, based on user instructions. The general-purpose printing program 41 supports general-purpose functions that enable printing on many printers. Unlike printer drivers specific to each printer, the general-purpose printing program 41 does not support functions unique to each printer or printer driver, especially functions that require complex processing.

[0022] The general-purpose printing program 41 is a program that, based on user instructions, receives image data designated as the print target in print instructions output from various programs and includes a function to generate intermediate data based on that image data. The intermediate data is, for example, XPS data. The general-purpose printing program 41 further has a function to generate print data in a format that can be used for printing on various printers based on the intermediate data. The print data is, for example, PWGRaster data or PDF data. The general-purpose printing program 41 also has a function to send the generated print data to the printer selected as the device to perform the printing via the communication function of OS21.

[0023] The print program set 40 is a packaged set of programs that includes an auxiliary program 42, a launcher program 48, an environment checker 50, and an installer 52. The print program set 40 may also include programs other than those listed above.

[0024] The auxiliary program 42 is a program or group of programs that performs processing based on instructions from the OS 21 in conjunction with the processing of the general-purpose printing program 41, and is a program that supports the control of the target hardware. The auxiliary program 42 can also be described as a program that supports the general-purpose printing program 41, or supports processing in accordance with the general-purpose printing program 41. In this form, the auxiliary program 42 corresponds to the model of the printer 2 connected to the PC 1, and is provided, for example, by the printer 2 vendor. The general-purpose printing program 41 starts the auxiliary program 42 corresponding to printer 2 when printer 2 is selected as the device to perform printing, when detailed print settings instructions are received while printer 2 is selected, when an instruction to perform printing on printer 2 is received, etc. The auxiliary program 42 is, for example, called a print support application (abbreviated as PSA) or a hardware support application (abbreviated as HSA). The auxiliary program 42 is an example of a support program.

[0025] The auxiliary program 42 may be a combination of multiple programs, each accepting execution commands, or it may be a single program capable of executing different processes depending on the command. Furthermore, the number of printers that the auxiliary program supports may be two or more. For example, it may be a program provided by a printer vendor for each type of printer. For instance, separate auxiliary programs may be provided for inkjet printers and laser printers. In addition to being limited to each printer type, auxiliary programs may also be provided for each printer model or series of printer models.

[0026] For example, if the OS21 of PC1 detects that a new printer has been connected to PC1, it can automatically download the appropriate auxiliary program from an external device and install it into PC1, depending on the type and model of the connected printer. The OS21 associates the identification information of the installed auxiliary program with the printer information of the newly connected printer and stores it in memory 12.

[0027] In this configuration, the auxiliary program 42 is one of a group of programs packaged as the print program set 40, and is incorporated into PC1 when the print program set 40 is downloaded to PC1 from the first server 30. Once downloaded to PC1, the print program set 40 is placed in a sandbox environment. That is, the auxiliary program 42, launcher program 48, environment checker 50, and installer 52 included in the print program set 40 are all placed in the sandbox environment. As used herein, "placement" is not limited to the installation of the program on PC1, but also includes the storage of the program's executable file, configuration files, etc., in a predetermined area of ​​PC1's memory 12.

[0028] An auxiliary program 42 deployed in a sandbox environment has restricted access to programs and files outside the sandbox environment. Furthermore, this embodiment of the auxiliary program 42 is configured to be able to give instructions to only one program deployed in the sandbox environment. Specifically, this embodiment of the auxiliary program 42 is configured to be able to give instructions to only a launcher program 48 deployed in the sandbox environment.

[0029] The launcher program 48, the environment checker 50, and the installer 52 are Win32 applications. Each of the launcher program 48, the environment checker 50, and the installer 52 is assigned an application ID to identify the application. As described above, the launcher program 48, the environment checker 50, and the installer 52 included in the print program set 40 are placed in a sandbox environment. Unlike the auxiliary program 42, the launcher program 48, the environment checker 50, and the installer 52 are configured to access programs and files that are not placed in the sandbox environment.

[0030] The launcher program 48 has the function of launching a specified Win32 application in response to a launch command that includes the specification of the application. The launcher program is an example of a launch program. The environment checker 50 has the function of checking the environment information of PC1 on which the environment checker 50 is located. The environment information includes information about applications installed on PC10, etc. The installer 52 is a program for installing the print application 54. The installer 52 is a program that requires User Account Control in order to execute processing with administrator privileges. In addition, the installer 52 may also be able to install applications other than the print application 54.

[0031] The print application 54 is a Win32 application. The print application 54 is also assigned an application ID to identify the application. The print application 54 is a program that is not included in the print program set 40 and is placed outside the sandbox environment. The print application 54 is a program used to control the printer and has the function of making the printer print and the function of acquiring and displaying printer status information. Status information includes, for example, the printing status and the remaining amount of colorant. Furthermore, the print application 54 has the function of acquiring information about the printer from the printer or an external server. The print application 54 is an example of a control program.

[0032] The editing application 43 is a program for creating and editing image data and document data, for example. The editing application 43 may be, for example, Microsoft Word or PowerPoint, or a program provided by the printer vendor. The browser 44 is a program for retrieving web pages from a web server and displaying those web pages for viewing. Both the editing application 43 and the browser 44 are Win32 applications and are deployed outside the sandbox environment. The editing application 43 can receive print execution commands via the user interface 13, for example, to print to printer 2. Note that the editing application 43 is not limited to a program for creating and editing data, but may also be a program that has the function of receiving display and print commands for various types of information such as map information and web pages, according to the user's request.

[0033] In this embodiment, printer 2 is a device having at least printing and communication functions. Therefore, printer 2 may be a multifunction printer, copier, fax machine, etc. When printer 2 receives print data from, for example, PC 1, it can perform printing based on the received print data. Printer 2 may be a device capable of color printing, or it may be a device capable of monochrome printing only. Printer 2 is an example of a printing device.

[0034] The first server 30 in this configuration is a server installed on the Internet 6 by the OS21 vendor. For example, the first server 30 is a cloud server that provides Microsoft Store services. The first server 30 may be a single server or a collection of multiple servers. The first server 30 stores various programs corresponding to OS21, and in this configuration, it stores a set of printing programs 40 corresponding to OS21.

[0035] In this configuration, the second server 31 is a server installed on the Internet 6 by the printer 2 vendor. The second server 31 may be a single server or a collection of multiple servers. The second server 31 stores various programs corresponding to the printer 2, and in this configuration, it stores the OS 21 and a printing application 54 corresponding to the printer 2.

[0036] In this configuration, the third server 32 is a server installed on the Internet 6 by a service company that provides services corresponding to the printer 2. The third server 32 may be a single server or a collection of multiple servers. The third server 32 manages the service subscription status for each printer. The third server 32 can send notification information such as services available for the printer 2 and advertisements from the printer 2 vendor. If the printer 2 vendor provides the service, the second server 31 may also serve as the third server 32.

[0037] (Installation Instructions) Next, the program installation procedure will be explained. In the initial state of this procedure, the print program set 40 and the print application 54 are not stored in the memory 12 of PC1. Also, printer 2 is not connected to PC1. In the following, all communication performed between PC1 and other devices is performed via the communication IF 14 of PC10. For this reason, the phrase "via the communication IF 14" will be omitted below. Furthermore, in the following, various processes that the CPU 11 implements according to the program may be described as being performed proactively by each program (e.g., OS 21). In addition, the print application 54, etc., accesses various hardware such as the user IF 13, memory 12, and communication IF 14 via OS 21 to perform various processes. In the following, the fact that the print application 54, etc., performs processes via OS 21 will be omitted as appropriate.

[0038] In this specification, "acquiring information" is used as a concept that does not necessarily require "requesting the information." That is, "acquiring information" is a concept that also includes "passively receiving information." Furthermore, "supplying specific information to a program" can also be said to pass specific information to the processing of a program. Let's explain using the case where memory is shared as an example. "Supplying information to a program" means storing specific identification information that identifies specific information in a storage area within shared memory that is accessible to the computer that executes processing according to the program. Furthermore, "acquiring information from a program" means acquiring specific information based on the above storage area and the specific identification information. Methods for supplying / acquiring information between multiple programs include using socket communication and using pipes.

[0039] First, the installation procedure for the print program set 40 will be explained with reference to the sequence diagram in Figure 2. In the installation procedure for the print program set 40, when printer 2 is connected to PC 1, OS 21 receives the model name and IP address from the connected printer 2 (T10). Next, OS 21 sends a program set request specifying the model name of printer 2 to the first server 30 (T12). The program set request is a signal to request the first server 30 to send the program set corresponding to the specified model name.

[0040] When the first server 30 receives a program set request from PC1, it identifies the print program set 40 corresponding to the specified model name and sends the identified print program set 40 to PC1 (T14).

[0041] When OS21 receives the print program set 40 from the first server 30, it executes a first installation process to install the print program set 40 on PC1 (T16). This installs (deploys) the print program set 40 into the sandbox environment of PC1. Next, OS21 notifies that the installation of the print program set 40 is complete, as shown in Figure 3, and displays a completion notification screen 35 that accepts an operation to start the print program set 40 (T18). The completion notification screen 35 includes the model name 36 of printer 2, a message 37 notifying that the installation of the print program set 40 is complete, and an "Launch Application" button 38 for inputting an instruction to start the auxiliary program 42. The operation of the "Launch Application" button 38 is an example of a second startup operation.

[0042] Next, while the completion notification screen 35 is displayed, if the "Launch App" button 38 is pressed, the OS 21 supplies a first app launch command, including the model name and IP address of printer 2, to the auxiliary program 42 in the sandbox environment. The auxiliary program 42 is registered in the print program set 40 as the first app to be launched by the OS 21 from among the multiple programs included in the print program set 40.

[0043] The auxiliary program 42 is started in response to receiving a first application launch command from the OS 21, and then the auxiliary program 42 supplies a second application launch command specifying the application ID of the environment checker 50 to the launcher program 48 in the sandbox environment (T32).

[0044] The launcher program 48 is activated upon receiving a second application launch instruction from the auxiliary program 42, and identifies the environment checker 50 as the application to be launched based on the specified application ID. Next, the launcher program 48 supplies a third application launch instruction to the environment checker 50 in the sandbox environment (T34).

[0045] The environment checker 50 is activated in response to receiving a third startup instruction from the launcher program 48 and supplies the OS 21 with an environment information request (T40) specifying application identification information that identifies the print application 54. The environment information request is a signal to request the OS 21 to send environment information. The application identification information is, for example, information indicating the application ID of an application outside the sandbox environment and the path to the executable file of that application. The application identification information may also be the file name of the executable file instead of the application ID.

[0046] When OS21 receives an environmental information request from the environmental checker 50, it determines whether the application identified by the specified application identification information, namely the printing application 54, is installed on PC1. Next, OS21 supplies the determination result to the environmental checker 50. In the initial state of this procedure, the printing application 54 is not installed on PC1. Therefore, OS21 determines that the application corresponding to the acquired environmental information request is not installed and supplies environmental information including the installation information "not installed" to the environmental checker 50 (T42).

[0047] When the environment checker 50 obtains environmental information from the OS 21, it supplies the obtained environmental information to the auxiliary program 42 (T44). The environment checker 50 may supply the environmental information to the auxiliary program 42 via the launcher program 48, or it may supply the environmental information to the auxiliary program 42 without going through the launcher program 48.

[0048] When the auxiliary program 42 obtains environmental information from the environmental checker 50, it determines whether or not the print application 54 is installed based on the obtained environmental information (T50). T50 is an example of the determination process. In this procedure, since the environmental information includes the installation information "not installed", the auxiliary program 42 determines that the print application 54 is not installed.

[0049] If the print application 54 is not already installed, the auxiliary program 42 notifies the user that the print application 54 can be installed and displays an installation guidance screen 55 (T52) that accepts the user's command to install the print application 54, as shown in Figure 4. The installation guidance screen 55 includes a message 56 suggesting the installation of the print application 54, an "Install" button 57 for entering instructions to install the print application 54, and a "Later" button 58 for entering instructions not to install the print application 54. T52 is an example of the display process. In addition to the suggestion to install the print application 54, the message 56 may also include an introduction to the functions of the print application 54.

[0050] If the "Install" button 57 is pressed while the installation guidance screen 55 is displayed, the installation procedure for the print application 54 will begin. On the other hand, if the "Later" button 58 is pressed, the installation procedure for the print application 54 will not begin. In this case, the auxiliary program 42 may store information indicating that the print application 54 was not installed in a memory area available to the auxiliary program 42.

[0051] Note that if the print application 54 is already installed, the installation procedure for the print application 54 will not be performed. In this case, instead of displaying the installation guidance screen 55, a screen indicating that the print application 54 is already installed or a screen introducing the functions of the print application 54 may be displayed.

[0052] Next, the installation procedure for the print application 54 will be explained with reference to the sequence diagram in Figure 5. In the installation procedure for the print application 54, first, the auxiliary program 42 supplies a fourth application launch command to the launcher program 48, specifying the model name of printer 2, the IP address of printer 2, and the application ID of installer 52 (T62).

[0053] When the launcher program 48 receives a fourth application launch instruction from the auxiliary program 42, it identifies the installer 52 as the application to be launched based on the specified application ID. Next, the launcher program 48 specifies the model name of printer 2 and the IP address of printer 2, and supplies a fifth application launch instruction, including an instruction to obtain administrator privileges, to the installer 52 in the sandbox environment (T64). In this way, the auxiliary program 42 is configured to be able to give instructions only to one application placed in the sandbox environment, which in this embodiment is the launcher program 48, but it is possible to selectively launch the environment checker 50 and the installer 52 via the launcher program 48.

[0054] The installer 52 is launched in response to receiving a fifth application launch instruction from the launcher program 48, and as part of User Account Control, it supplies an administrator privileges authorization request to the OS 21 (T66).

[0055] When OS21 receives an administrator privileges authorization request from installer52, it accepts the authorization operation from the user. Then, after receiving the authorization operation from the user via user IF13, OS21 grants administrator privileges to installer52 (T72).

[0056] When installer 52 obtains administrator privileges from OS 21, it identifies the model name of printer 2 specified in the fifth application launch instruction and accepts an installation instruction for the print application 54 corresponding to the model name of printer 2 (T80). When installer 52 receives the installation instruction for the print application 54 through user operation, it sends an application request for the print application 54 to the second server 31 (T84).

[0057] When the second server 31 receives an application request from the PC 10 in T84, it identifies the specified print application 54 from among the stored applications as the recipient. The second server 31 then sends the print application 54 to the PC 10.

[0058] When installer 52 receives the print application 54 from the second server 31, it executes a second installation process to install the print application 54 on PC1 (T90). In the second installation process, installer 52 supplies installation instructions, including the received print application 54, to OS21.

[0059] When OS21 receives an installation instruction from installer52, it places the executable file and other files corresponding to the print application 54 in a designated area outside the sandbox environment. OS21 also supplies installer52 with installation completion information indicating that the print application 54 has been installed. This completes the second installation process, i.e., the installation of the print application 54 on PC1. Alternatively, installer52 may notify auxiliary program 42 of the installation completion, and auxiliary program 42 may, in response to this notification, store information indicating that the print application 54 has been installed, along with the version of the print application 54, in a memory area available to auxiliary program 42.

[0060] In the procedure described above, the first installation process of T16 installs the print program set 40, and then the second installation process of T90 installs the print application 54. However, if the user does not select to install the print application 54 in T80, the print application 54 will not be installed. In other words, even if the print program set 40, including the auxiliary program 42, is installed, a situation may arise where the print application 54 is not installed.

[0061] Furthermore, in the procedure described above, the print application 54 exists on the second server 31 and is sent from the second server 31. However, the print application 54 may also be included with the installer 52. In this case, the installer 52 does not make an application request to the second server 31 in T84, but can use the included print application 54 to execute the second installation process of T90.

[0062] (Printing procedure via a general-purpose printing program) Next, we will explain the procedures for various processes related to printing with printer 2 on PC1, where auxiliary program 42 is already installed. First, we will explain the selection and setting procedure for selecting the printer to be used for printing and specifying the print settings on PC1, referring to the sequence diagram in Figure 6.

[0063] In the selection and setting procedure, the editing application 43 first selects print based on the user's instructions (A01). The user can select print, for example, from the menu of operation items provided in the editing application 43. Note that the application that selects print only needs to be capable of issuing print commands, and instead of the editing application 43, it could be, for example, the printing application 54.

[0064] When the editing application 43 accepts the selection to print, it requests the general-purpose printing program 41 of the OS21 to display a screen that accepts instructions regarding printing (A02). In response to the request, the general-purpose printing program 41 displays a print settings screen 70, as shown in Figure 7, to the user IF13 (A03). The print settings screen 70 is a screen that accepts user instructions regarding various print settings that can be accepted by the general-purpose printing program 41. The print settings screen 70 includes, for example, a printer selection field 71, an information display field 72, a setting information field 73, an advanced settings button 74, and a print button 75. Note that the display of the print settings screen 70 may be performed by the editing application 43.

[0065] The printer selection field 71 displays information indicating the printer selected as the device to perform printing, and is a field that accepts device selection in a list box format. The selectable devices correspond to the print queue managed by OS21, and printer 2 is also included in the selectable devices.

[0066] The information display area 72 is a field that displays information specified by the auxiliary program corresponding to the device displayed in the printer selection area 71. The settings information area 73 is a field that shows the currently set values ​​for some of the print settings. In the example in Figure 7, the information display area 72 includes an image 721 that combines the model name and icon of the selected printer 2, and the settings information area 73 includes a field that shows the print orientation, a copy setting field that shows the set value for the number of copies, and a Nin1 setting field that shows the set value for the Nin1 item.

[0067] The Advanced Settings button 74 is a button that accepts a command to display the Advanced Settings screen for making detailed print settings. The Print button 75 is a button that accepts a command to execute printing with the selected device and print settings.

[0068] For example, if printer 2 is selected as the device to perform printing, and the system accepts an operation on the advanced settings button 74 as an instruction to perform detailed print settings (A11), the general-purpose printing program 41 starts the auxiliary program 42 corresponding to printer 2 and passes an instruction to the auxiliary program 42 to start accepting detailed print settings (A12).

[0069] When the auxiliary program 42 is activated in response to the instruction in A12, it obtains the capability information of printer 2. Specifically, the auxiliary program 42 requests the general-purpose printing program 41 to obtain the capability information (A13). The general-purpose printing program 41 sends a command to printer 2 requesting the capability information and obtains the capability information from printer 2 (A14). The general-purpose printing program 41 passes the capability information obtained from printer 2 to the auxiliary program 42 (A15). As a result, the auxiliary program 42 is able to obtain the capability information of printer 2.

[0070] The general-purpose printing program 41 communicates with the printer 2 via the OS 21 in A14, for example, by communication corresponding to IPP (Internet Printing Protocol). Alternatively, the auxiliary program 42 may obtain capability information directly from the printer 2 using, for example, the MIB (Management Information Base), instead of requesting it from the general-purpose printing program 41. Furthermore, the capability information that the auxiliary program 42 can obtain from the printer 2 may contain more information than the capability information obtained via the OS 21.

[0071] Furthermore, when the auxiliary program 42 is started in response to the instruction of A12, it obtains environmental information indicating whether or not the print application 54 is installed (A16). The specific procedure for A16 is, for example, the procedure from T32 to T44 shown in Figure 2. That is, it starts the environment checker 50 and obtains environmental information from the OS 21. If the OS 21 determines that the print application 54 is already installed, it supplies the environment checker 50 with environmental information including the installation information "Installed" and the version of the print application 54. Therefore, if the print application 54 is already installed, the auxiliary program 42 can obtain the version of the installed print application 54 by obtaining environmental information from the environment checker 50. A16 is an example of the program information acquisition process.

[0072] Furthermore, when the auxiliary program 42 is activated in response to the instruction of A12, it obtains subscription information indicating the status of subscription services that can be supported by printer 2 (A17). Subscription services that can be supported by printer 2 include an automatic shipping service in which, when the amount of colorant in the printer 2's cartridge becomes low, the cartridge is automatically shipped to the printer 2 user. Note that the colorant in this application includes toner and ink. In addition, the subscription service charges the printer 2 user a fixed fee on a regular basis. A user can subscribe to a subscription service by registering the printer's serial number and user information with the third server 32. That is, when a user subscribes to a subscription service, information indicating that the user has subscribed to the subscription service is stored in the third server 32 in association with the printer's serial number. Also, the types of subscription services that can be supported may differ depending on the type of printer. If there are multiple types of services, the subscription information includes the status of subscriptions for each service. The auxiliary program 42 may obtain subscription information from the third server 32, or, if the printing application 54 is installed and the printing application 54 has subscription information, it may obtain subscription information from the printing application 54 via the launcher program 48. A17 is an example of the service information acquisition process. In this specification, subscription services may be referred to as "subscriptions".

[0073] Furthermore, when the auxiliary program 42 is launched in response to the instruction of A12, it is sufficient for it to obtain the environment information and subscription information of the print application 54, and it does not matter which one is obtained first. In addition, if information on whether or not the print application 54 is installed, or information indicating the status of subscription services, is stored in the memory available to the auxiliary program 42, it may also obtain that stored information.

[0074] Based on the acquired capability information, the auxiliary program 42 displays a detailed settings screen on the user interface 13's display 13a, which accepts detailed print settings (A18). The auxiliary program 42 can display the detailed settings screen 60 on the user interface 13, for example, as shown in Figure 8. In this embodiment, the detailed settings screen 60 includes a setting field 61 that accepts changes to various print setting items, an image 62 that combines the model name and icon of the selected printer 2, and an OK button 63. The detailed settings screen 60 may include setting items that are not included in the print settings screen 70. A18 is an example of the setting screen display process. After A18, the process proceeds to the sequence diagram in Figure 9.

[0075] After A18, the auxiliary program 42, based on the environment information of the printing application 54 obtained in A16, notifies the user of instructions for using the printing application 54 if the printing application 54 is not installed (opt: printing application not installed) (A20). The notification in A20 is made, for example, by displaying a pop-up or a message box. A20 is an example of the display process.

[0076] In the notification from A20, the auxiliary program 42 displays an installation guide screen 55, for example, as shown in Figure 4. If the display position of the installation guide screen 55 overlaps with the detailed settings screen 60, the installation guide screen 55 is displayed in front of the detailed settings screen 60. In addition to the installation guide, the installation guide screen 55 may also include an introduction to the functions of the printing application 54, for example, as shown in Figure 10. By suggesting the installation of the printing application 54 through messages included in the installation guide screen 55, such as "Let's use the printing application!" or "Why not install the printing application and try out its various convenient functions?", the user can become aware of the existence of the uninstalled printing application 54. Furthermore, it can be expected that the user will install the printing application 54, and once the printing application 54 is installed, its use will be promoted.

[0077] When the "Install" button 57 is pressed while the installation guidance screen 55 is displayed (opt: "Install"), the system proceeds to the installation procedure for the print application 54 shown in Figure 5, and the print application 54 is installed (A21). By having the user perform the installation process for the print application 54 from the installation guidance screen 55, the user's effort required to install the print application 54 can be reduced.

[0078] If the "Later" button 58 is pressed while the installation guidance screen 55 is displayed, the auxiliary program 42 will exit the installation guidance screen 55 without proceeding to the installation procedure for the print application 54. Even in this case, the user may become aware of the existence of the print application 54 and it can be expected that the user will install the print application 54.

[0079] Furthermore, the auxiliary program 42 does not need to include an "Install" button 57 on the installation guidance screen 55. In other words, simply notifying the user of the existence of the print application 54 is sufficient to encourage user-initiated installation of the print application 54. Additionally, the installation guidance screen 55 may include a checkbox to instruct the user not to display the installation guidance screen 55 again in the future. If this checkbox is checked, the system may be configured to prevent the installation guidance screen 55 from being displayed again, even if the conditions for displaying the installation guidance screen 55 are met. This avoids the annoyance of repeatedly displaying the installation guidance screen 55 to users who are not interested in the print application 54.

[0080] On the other hand, if the print application 54 is already installed, the auxiliary program 42 does not notify the user of instructions for using the print application 54. In other words, the auxiliary program 42 does not perform the A20 process related to instructions for using the print application 54.

[0081] If the print application 54 is already installed, the auxiliary program 42 may obtain the latest version of the print application 54 from the second server 31. If the installed version of the print application 54 is not the latest, it may display an update suggestion screen (not shown) that suggests updating the print application 54. The update suggestion screen may have a button to instruct the user to update, and if that button is pressed, the auxiliary program 42 should perform the update of the print application 54. Alternatively, if the installed version of the print application 54 is the latest, the program may be configured not to notify the user of the print application 54. In other words, the auxiliary program 42 may not perform the A20 process related to the user of the print application 54.

[0082] Furthermore, after A18, the auxiliary program 42, based on the subscription information obtained in A17, notifies the user of any unsubscribed subscription services that are compatible with printer 2 (opt: unsubscribed services exist) (A22). The notification in A22 is made, for example, by displaying a pop-up or a message box. A22 is an example of the display process.

[0083] In the A22 notification, the auxiliary program 42 displays a subscription information screen 80, for example, as shown in Figure 11. If the display position of the subscription information screen 80 overlaps with the detailed settings screen 60, the subscription information screen 80 is displayed above the detailed settings screen 60. The subscription information screen 80 includes the model name 81 of printer 2, a guide 82 on how to use the available subscription services, a "Join" button 83 to direct the user to the registration site for joining the subscription service, a "Later" button 84 to direct the user not to join the subscription service, and a checkbox 85 to direct the user not to display the subscription information screen 80 on the next visit. The guide 82 may also include a message introducing the details of the subscription service. By suggesting joining a subscription service through the subscription information screen 80, the user can become aware of the existence of unsubscribed subscription services. Furthermore, the user can consider joining the unsubscribed subscription services.

[0084] While the subscription information screen 80 is displayed, if the "Join" button 83 is pressed (opt: "Join"), the auxiliary program 42 starts processing the procedure for joining an unsubscribed subscription service (A23). Specifically, in A23, the auxiliary program 42 launches a browser 44 via the launcher program 48 and displays the registration site for joining the subscription service. Alternatively, the auxiliary program 42 may launch a printing application 54 via the launcher program 48, and the launched printing application 54 may further launch a browser 44, which then displays the registration site for joining the subscription service. The user can join the subscription service by entering the necessary information on that registration site.

[0085] If the "Later" button 84 is pressed while the subscription information screen 80 is displayed, the auxiliary program 42 closes the subscription information screen 80 without launching the browser 44, that is, without displaying the registration site for subscribing to the subscription service. Even in this case, the user can be aware that there are subscription services they have not yet subscribed to, and it can be expected that the user will subscribe to the subscription service through user action.

[0086] Furthermore, the auxiliary program 42 does not need to include a "Subscribe" button 83 on the subscription information screen 80. In other words, simply notifying the user of the existence of unsubscribed subscription services is sufficient to encourage user participation. Also, once the checkbox 85 is checked, the subscription information screen 80 will not be displayed in subsequent instances, even if the display conditions for the subscription information screen 80 are met. This avoids the annoyance of repeatedly displaying the subscription information screen 80 to users who are not interested in subscription services.

[0087] The auxiliary program 42 only needs to be able to send notifications regarding the use of the printing application 54 and notifications regarding the use of the subscription service, and it does not matter which one is sent first. Also, the notifications regarding the use of the printing application 54 and the subscription service do not need to be sent on separate screens; they can be sent on the same screen. In this case, the notifications regarding the use of the printing application 54 and the subscription service will be sent simultaneously.

[0088] Furthermore, although the auxiliary program 42 notifies users of the installation guidance screen 55 and the subscription guidance screen 80 as separate screens from the detailed settings screen 60, for example, the usage instructions for the print application 54 and subscription services may be included and displayed on the detailed settings screen 60. In this case, as shown in Figure 12, the auxiliary program 42 may display the detailed settings screen 60 which includes a message 64 suggesting the installation of the print application 54 and an "Install" button 65 for inputting instructions to install the print application 54. The roles of message 64 and the "Install" button 65 are the same as those of message 56 and the "Install" button 57 included in the installation guidance screen 55. Therefore, when the "Install" button 65 is operated while the detailed settings screen 60 is displayed, the process should proceed to the installation procedure for the print application 54. The usage instructions for subscription services may also be included on the detailed settings screen 60, similar to the usage instructions for the print application 54.

[0089] Alternatively, the auxiliary program 42 may include, for example, instructions for using the print application 54 or subscription services in the information display area 72 of the print settings screen 70, which displays information specified by the auxiliary program 42. In this case, as shown in Figure 13, the auxiliary program 42 may include a message 722 in the information display area 72 suggesting the installation of the print application 54, and further display the print settings screen 70 which includes an "Install" button 723 for inputting instructions to install the print application 54. The roles of message 722 and the "Install" button 723 are the same as those of message 56 and the "Install" button 57 included in the installation instructions screen 55. Therefore, when the "Install" button 723 is operated while the print settings screen 70 is displayed, the system should proceed to the installation procedure for the print application 54. Instructions for using subscription services may also be included in the print settings screen 70, similar to the instructions for using the print application 54.

[0090] Furthermore, the auxiliary program 42 may be configured to determine whether printer 2 is compatible with the print application 54 before displaying the installation guidance screen 55, and not notify the user of the print application 54 if it is not compatible. In other words, if printer 2 is not compatible with the print application 54, the auxiliary program 42 may not execute the A20 process related to the user guidance of the print application 54. In some cases, the print application 54 may not be compatible with printer 2, which is controlled by the auxiliary program 42, and in such cases, displaying the user guidance may mislead the user, so it is preferable not to display the user guidance. The auxiliary program 42 may obtain information on models compatible with the print application 54 from the second server 31 and determine whether the model of printer 2 is a compatible model, or information on models compatible with the print application 54 may be stored in advance, and the program may determine whether the model of printer 2 is a compatible model based on that information.

[0091] When the detailed settings screen 60 is displayed by the auxiliary program 42, notifications regarding the use of the printing application 54 and subscription services are provided, making it easier for users to notice the instructions. The operation required to display the detailed settings screen 60 is an example of a printing-related operation.

[0092] When the auxiliary program 42 receives an instruction to determine the print settings via the detailed settings screen (A25), it stores the determined print settings information and the capability information obtained in A15 in the memory 12 (A26).

[0093] The auxiliary program 42 passes the determined print settings information to the general-purpose print program 41 (A27). The auxiliary program 42 may also pass the capability information obtained in A15 to the general-purpose print program 41. The general-purpose print program 41 may also display the print settings screen 70 again based on the information passed from the auxiliary program 42.

[0094] In the selection setting procedure described above, the auxiliary program 42 is launched from the general-purpose printing program 41 when an instruction to perform detailed print settings is received. However, the auxiliary program 42 may also be launched from the general-purpose printing program 41 when printer 2 is selected as the printer selection. For example, when printer 2 is selected and the program is launched, capability information may be obtained from printer 2 and the obtained capability information may be cached. When an instruction to perform detailed print settings is received and the program is launched, the capability information may not be obtained from printer 2, but rather from the cache. Even when the auxiliary program 42 is launched due to the selection of a printer, the auxiliary program 42 may execute the processes of A16 and A17, and if the print application 54 is not installed, it may send a notification via A20, and if there are unsubscribed subscription services, it may send a notification via A22.

[0095] Next, the print execution procedure for sending print data from PC1 will be explained with reference to the sequence diagram in Figure 14. After the user decides on the image to be printed and the print settings, the user inputs a print execution command in the editing application 43 (B01). When the editing application 43 receives the print execution command from the user, it determines that it has received an execution command to the general-purpose printing program 41 to print the selected image to printer 2. The editing application 43 supplies the information of the received print command to the general-purpose printing program 41 (B02).

[0096] The general-purpose printing program 41 obtains image data indicating the image to be printed and information indicating the print settings from the editing application 43 as print instruction information. Based on the information obtained from the editing application 43, the general-purpose printing program 41 generates intermediate data by converting the format of the image data of the image to be printed into an intermediate data format (B03). The image data included in the editing application 43 is of various types, and the general-purpose printing program 41 converts the image data to be printed into intermediate data suitable for generating print data. If the image data to be printed is suitable for generating print data, the generation of intermediate data can be omitted, and the data can be used as intermediate data as is.

[0097] Furthermore, the general-purpose printing program 41 may, before generating intermediate data, start an auxiliary program 42 corresponding to the specified device, printer 2, to notify it that it has started processing the print job. When the auxiliary program 42 is started by the general-purpose printing program 41, it can pass information indicating various instructions used when generating intermediate data to the general-purpose printing program 41 as needed.

[0098] The general-purpose printing program 41 generates intermediate data and then starts the auxiliary program 42 by outputting an execution instruction to the auxiliary program 42 (B05). When the auxiliary program 42 is started in response to the instruction in B05, it obtains information on the intermediate data and print settings generated by the general-purpose printing program 41 by making a request to the general-purpose printing program 41, for example (B06). The intermediate data obtained in B06 is intermediate data indicating the image to be printed, and is intermediate data generated by the general-purpose printing program 41 based on the image data obtained from the editing application 43 in B02.

[0099] Based on the print settings obtained in B06, the auxiliary program 42 executes an intermediate data editing process to edit the image data according to the parameters set in the print settings if editing of the image data is necessary (B11). For example, if the print settings include a layout that fits multiple pages onto one sheet, the intermediate data editing process will reduce the size and rearrange the images.

[0100] Furthermore, when the auxiliary program 42 is started in response to the instruction in B05, it obtains environmental information indicating whether or not the print application 54 is installed (B12). When the auxiliary program 42 is also started in response to the instruction in B05, it obtains subscription information indicating the subscription status of the subscription services that can be supported by the printer 2 (B13). The processes in B12 and B13 are the same as the processes in A16 and A17 described above.

[0101] Furthermore, as shown in Figure 15, the auxiliary program 42, based on the environment information of the printing application 54 obtained in B12, notifies the user of instructions for using the printing application 54 if the printing application 54 is not installed (opt: printing application not installed) (B16). Also, if the "Install" button 57 is pressed while the installation instructions screen 55 is displayed in B16 (opt: "Install"), the printing application 54 is installed (B17). The processes in B16 and B17 are the same as the processes in A20 and A21 described above.

[0102] Furthermore, based on the subscription information obtained in B13, if there are any unsubscribed subscription services (opt: Unsubscribed services exist), a notification is sent with instructions on how to use those subscription services (B18). Then, while the subscription information screen 80 is displayed in B18, if the "Subscribe" button 83 is pressed (opt: "Subscribe"), the registration site for subscribing to the subscription service is displayed (B19). The processes in B18 and B19 are the same as those in A22 and A23, respectively.

[0103] When a print command is issued, the auxiliary program 42 notifies the user of instructions for using the print application 54 or subscription services, making it easier for the user to notice the instructions. The operation for issuing a print command is an example of a print-related operation.

[0104] Furthermore, the auxiliary program 42 passes the intermediate data edited in the intermediate data editing process of B11, or the intermediate data received from the general-purpose printing program 41 in B06, to the general-purpose printing program 41 and instructs the general-purpose printing program 41 to generate print data (B21). As a result, the general-purpose printing program 41 performs necessary processing such as rasterizing the intermediate data to generate print data (B22), and passes the generated print data to the auxiliary program 42 (B23).

[0105] The auxiliary program 42 processes the print data obtained from the general-purpose printing program 41 as needed and passes it to the general-purpose printing program 41, instructing it to send the print data to the printer 2 (B24). As a result, the general-purpose printing program 41 sends the print data to the printer 2 (B25). The printer 2 receives the print data and performs printing based on the print data (B31).

[0106] Alternatively, the auxiliary program 42 may perform rasterization and generate print data instead of the general-purpose printing program 41. In this case, the auxiliary program 42 may perform rasterization based on the intermediate data to generate print data, and then pass the generated print data and print settings to the general-purpose printing program 41 to instruct it to send them to the printer 2. The auxiliary program 42 may also process the print data generated by the general-purpose printing program 41 or the auxiliary program 42 as needed. The print data sent to the printer 2 only needs to be in a format that can be printed by the printer 2.

[0107] Alternatively, instead of having the general-purpose printing program 41 send the print data to the printer 2, the auxiliary program 42 may send a print command instructing the printer to execute the print job, along with the print data, to the printer 2. For example, if the print settings include settings related to image processing that can be performed on the printer 2, the auxiliary program 42 may generate a print command that also includes information about that processing.

[0108] Furthermore, if, after the print settings screen 70 is displayed by the general-purpose print program 41, the user selects printer 2 as the printer to be controlled via the OS 21, that is, if the printer to be controlled is changed from another printer to printer 2, the general-purpose print program 41 may also start the auxiliary program 42. Even in this case, as with the display of the detailed settings screen 60, when the auxiliary program 42 is started by the general-purpose print program 41, it executes the processes A16 and A17 in Figure 6, and may notify the user via A20 if the print application 54 is not installed, or notify the user via A22 if there are any unsubscribed subscription services. In this case, the operation of selecting printer 2 is an example of a print-related operation.

[0109] Furthermore, OS21 can accept setting instructions from the user for each component, and on the screen that accepts setting instructions, it can accept device management instructions, including instructions to display information about various devices connected to PC1 and instructions to change settings. OS21 can display a list of various devices capable of performing image processing, such as printers and scanners, and accept the selection of one device from that list. If printer 2 is selected, for example, a device management screen 90 as shown in Figure 16 will be displayed.

[0110] The device management screen 90 displays, for example, a "Open Printer Queue" button 91, a "Launch App" button 92, and a "Print Test Page" button 93. The "Open Printer Queue" button 91 accepts instructions to check the status of the printer queue corresponding to the selected printer 2. The "Launch App" button 92 accepts instructions to launch the app corresponding to the selected printer 2. The "Print Test Page" button 93 accepts instructions to send a test image from OS21 to the selected printer 2.

[0111] When the device management screen 90, which is displayed after printer 2 is selected, accepts an operation to the "Launch App" button 92, the OS 21 passes the information of the selected printer, printer 2, and an instruction to launch the program corresponding to that printer to the general-purpose printing program 41. When the general-purpose printing program 41 receives this instruction from the OS 21, it launches the program associated with the printer information of printer 2. In this configuration, since the identification information of the auxiliary program 42 is stored in association with the printer information of printer 2, the general-purpose printing program 41 launches the auxiliary program 42. The user's operation to the "Launch App" button 92 is an example of a first launch operation (also called Open Printer App) that launches the auxiliary program 42.

[0112] Even if the application is launched from the general-purpose printing program 41 by pressing the "Launch Application" button 92, the auxiliary program 42 may execute the processes A16 and A17 in Figure 6, and if the printing application 54 is not installed, it may issue a notification via A20, and if there are any unsubscribed subscription services, it may issue a notification via A22.

[0113] As explained in detail above, the auxiliary program 42 in this configuration acquires environmental information related to the print application 54, and when there is a print-related operation such as an operation to display the detailed settings screen 60 or a print command, it displays a user guide for the print application 54 based on that environmental information. This allows the auxiliary program 42 to display information different from the information obtained from the printer 2, such as information about the functions and services available in the print application 54 or suggestions for installing the print application 54. As a result, the auxiliary program 42 can provide highly convenient information linked to print-related operations.

[0114] The embodiments disclosed herein are merely illustrative and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence.

[0115] For example, the examples of screens displayed in User IF13 are all just examples and are not limited to those shown in the illustration. Furthermore, the text, object shapes, backgrounds, etc., displayed in each illustrated screen can be anything.

[0116] Furthermore, in this embodiment, the auxiliary program 42 displays information about the print application 54 and services at the following times when it is launched: when the detailed settings screen 60 is launched, when printer 2 is selected, when a print command is issued, immediately after the installation of the print application 54, and when a launch command is issued from the OS 21. However, it is sufficient to execute this at least once, and it is not necessary to execute it at all of these times.

[0117] Furthermore, while the auxiliary program 42 provides both instructions for using the printing application 54 and instructions for using the subscription service in response to a printing-related operation, it may also be configured to perform only one of these instructions.

[0118] Furthermore, the services offered through the support program 42 are not limited to subscription services. Services that are not subscription services can also be offered if they are available for use with Printer 2. Examples include cartridge purchase services and automatic cartridge shipping services. The cartridge purchase service is a service provided by the printer vendor, a type of e-commerce site, that provides a user interface for selecting and purchasing cartridges from the printer vendor. The automatic cartridge shipping service is a service that automatically ships cartridges to the printer user when the amount of colorant remaining in the printer's cartridges becomes low. Note that subscription services are a set of fixed-rate charges and automatic shipping services, but automatic shipping services can also exist as a standalone service.

[0119] Furthermore, while the embodiment describes processing under the assumption that the OS21 imposes restrictions on the auxiliary program 42, namely restrictions on access to programs and files outside the sandbox environment, and restrictions on being able to give instructions only to the launcher program 48 located in the sandbox environment, it is also possible to assume that there are no such restrictions. For example, the auxiliary program 42 may be able to access outside the sandbox environment, and may be able to give instructions to multiple programs. In such a configuration, the auxiliary program 42 can directly execute the installation procedure processing shown in Figures 2 and 5 without going through the launcher program 48 or the environment checker 50. Also, the auxiliary program 42, the launcher program 48, the environment checker 50, and the installer 52 do not have to be located in the sandbox environment.

[0120] Furthermore, although the embodiment describes only the printing operation as the operation of the auxiliary program 42 in detail, the auxiliary program 42 may have other roles as well. Also, the program that executes the processing of this embodiment is not limited to the auxiliary program 42, but can be any program that receives instructions from the OS 21 or the general-purpose printing program 41 when printing using the general-purpose printing program 41. For example, the Print Workflow application whose specifications have been published by Microsoft may also be used.

[0121] Furthermore, the execution timing of the auxiliary program 42 is not limited to the examples of this embodiment. For example, it may be executed by direct execution instruction from the OS 21, or it may be a resident auxiliary program 42. In the case of a resident auxiliary program, the auxiliary program 42 should perform the operations described above upon receiving an execution instruction.

[0122] Furthermore, in any flowchart disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.

[0123] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of symbols]

[0124] 1 PC 2 Printer 41 General-purpose printing program 42 Support Programs 54 Printing Apps

Claims

1. A support program that is executable by the computer of the information processing device and supports a general-purpose printing program that has an operating system of the information processing device, To the aforementioned computer, A program information acquisition process is executed to acquire program information, which is information related to the control program. The control program is a different program from the support program and is a program used to control the printing device. The aforementioned computer further: When a predetermined print-related operation occurs via an application program incorporated in the aforementioned information processing device, and the general-purpose printing program is activated in response, Based on the program information acquired in the program information acquisition process, a display process is executed to display instructions for using the control program on the user interface of the information processing device. A support program configured in this way.

2. A support program as described in claim 1, To the aforementioned computer, The printing device is instructed to perform a service information acquisition process to acquire service information, which is information about the services available to the printing device. In the aforementioned display process, The user interface of the information processing device displays the user instructions for the control program based on the program information obtained in the program information acquisition process, and the user instructions for services available to the program based on the service information obtained in the service information acquisition process. A support program configured in this way.

3. A support program as described in claim 1, To the aforementioned computer, The system executes a settings screen display process to display a detailed settings screen for accepting print settings on the user interface of the information processing device. The aforementioned computer further: As a result of the aforementioned predetermined print-related operation, which involves launching the detailed settings screen via the application program, the display process is executed when launched from the general-purpose printing program. A support program configured in this way.

4. A support program as described in claim 3, In the aforementioned display process, By including the user guide for the control program in the detailed settings screen, the user guide for the control program is displayed on the user interface of the information processing device. A support program configured in this way.

5. A support program as described in claim 1, To the aforementioned computer, The application program displays a print settings screen on the user interface of the information processing device that accepts print settings from the general-purpose printing program, and when the general-purpose printing program is launched as a predetermined print-related operation, and the user selects the printing device connected to the information processing device in the printing device selection items included in the print settings screen, the application program executes the display process. A support program configured in this way.

6. A support program as described in claim 5, In the aforementioned display process, By including the user guide for the control program in the print settings screen, the user guide for the control program is displayed on the user interface of the information processing device. A support program configured in this way.

7. A support program as described in claim 1, To the aforementioned computer, As a result of the aforementioned predetermined print-related operation, which involves issuing a print command via the application program, the display process is executed when the general-purpose printing program is launched. A support program configured in this way.

8. A support program as described in claim 1, To the aforementioned computer, Even if there is a first startup operation accepted by the operating system which is an operation to start the support program, the display process is also executed. A support program configured in this way.

9. A support program as described in claim 1, To the aforementioned computer, Even if there is a second startup operation, which is an operation to start the support program, which is an operation that is accepted after the installation of the support program, the display process will be executed. A support program configured in this way.

10. A support program as described in claim 1, To the aforementioned computer, When the application program is launched from the general-purpose printing program in response to a predetermined printing-related operation, If the control program corresponds to the printing device connected to the information processing device, the display process is executed. If the control program does not correspond to the printing device connected to the information processing device, the display process will not be executed. A support program configured in this way.

11. A support program as described in claim 1, In the program information acquisition process described above, The program information, which includes information on whether or not the control program is installed on the information processing device, is acquired. In the aforementioned display process, Based on the program information obtained in the program information acquisition process, if the control program is not installed in the information processing device, an installation suggestion screen proposing the installation of the control program is displayed on the user interface of the information processing device as a guide for using the control program. A support program configured in this way.

12. A support program according to claim 11, In the aforementioned display process, The installation suggestion screen, which proposes the installation of the control program, is displayed on the user interface of the information processing device, and when the installation instruction is received, the device executes a process to install the control program. A support program configured in this way.

13. A support program as described in claim 1, In the program information acquisition process described above, The control program is a Win32 application, and the program information relating to the control program is not located in the sandbox where the support program is located is obtained. A support program configured in this way.

14. A support program as described in claim 13, The sandbox on which the support program is located also contains a startup program and an installer for the control program, and the startup program and the installer are Win32 applications. To the aforementioned computer, The startup program is instructed to start the installer, and the installer is instructed to execute an installation process that accepts the installation of the control program. The installer has a function to install the control program outside the sandbox once it accepts the installation of the control program. A support program configured in this way.

15. A support program that is executable by the computer of the information processing device and supports a general-purpose printing program that has an operating system of the information processing device, To the aforementioned computer, The printing device executes a service information acquisition process to obtain service information, which is information about the services available to the printing device. The aforementioned computer further: When a predetermined print-related operation occurs via an application program incorporated in the aforementioned information processing device, and the general-purpose printing program is activated in response, Based on the service information obtained in the service information acquisition process, the program executes a display process to display information on the user interface of the information processing device regarding the services available to the program. A support program configured in this way.

16. A notification method for notifying notification information including information about a printing device using an information processing device, wherein the information processing device has a support program that supports a general-purpose printing program on the operating system of the information processing device. The support program includes a program information acquisition step of acquiring program information, which is information relating to the control program, wherein the control program is a different program from the support program and is used to control the printing device. Furthermore, when a general-purpose printing program is launched via an application program incorporated in the information processing device in response to a predetermined printing-related operation, the support program includes a display step in which it displays instructions for using the control program on the user interface of the information processing device, based on the program information acquired in the program information acquisition step. A notification method configured in such a way.

17. A notification method for notifying notification information including information about a printing device using an information processing device, wherein the information processing device has a support program that supports a general-purpose printing program on the operating system of the information processing device. The support program includes a service information acquisition step in which it acquires service information, which is information about services available to the printing device. Furthermore, when a general-purpose printing program is launched via an application program incorporated in the information processing device in response to a predetermined printing-related operation, the support program includes a display step in which it displays information on the user interface of the information processing device, based on the service information acquired in the service information acquisition step, providing guidance on using the services available to the program. A notification method configured in such a way.