Program, information processing device, and method for controlling the information processing device.

The information processing device adapts to OS changes by installing either vendor or standard drivers based on environment, ensuring continuous driver functionality and application compatibility.

JP2026081777APending Publication Date: 2026-05-19CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-11-05
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing systems face issues where vendor-provided drivers become unavailable after an operating system (OS) update, leading to installation failures and loss of functionality.

Method used

An information processing device that determines the OS environment and installs either a vendor-provided virtual printer driver or a standard driver as a virtual printer driver based on capability information, ensuring compatibility and functionality regardless of OS changes.

Benefits of technology

Enables continued use of vendor-provided driver functionality by seamlessly transitioning between old and new OS environments, maintaining application compatibility and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026081777000001_ABST
    Figure 2026081777000001_ABST
Patent Text Reader

Abstract

Regardless of changes in the OS environment, it can provide the functionality of the driver provided by the vendor. [Solution] The present invention provides an application installer program executed by an information processing device, which causes the information processing device to function as an acquisition means for acquiring OS capability information from an OS implemented in the information processing device, and a control means for controlling whether to install a first driver, which is a virtual printer driver provided by a printer vendor, or to apply a second driver, which is a driver different from the first driver and is a standard OS driver, as a virtual printer driver, based on the OS capability information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0006] , , ,

[0005] , , ,

[0001] The present disclosure relates to a program, an information processing apparatus, and a control method for an information processing apparatus.

Background Art

[0002] When the OS environment changes due to an update of an operating system (OS) or the like, there may occur a situation where a driver provided by a vendor (a vendor-made driver) cannot be used. That is, a vendor-made driver that was available before the OS update becomes unavailable after the OS update. In other words, after the OS update, a situation occurs where the installation of the vendor-made driver fails.

[0003] Patent Document 1 discloses a method of notifying a user of the cause of a failed installation by displaying a predetermined message when the installation of a vendor-made driver fails.

Prior Art Documents

Patent Documents

[0007] According to this disclosure, the functionality of the vendor-provided driver can be provided regardless of changes in the OS environment. [Brief explanation of the drawing]

[0008] [Figure 1] This is a block diagram showing an example of a printing system hardware configuration. [Figure 2] This is a schematic diagram illustrating an example of a printing system's software configuration. [Figure 3] This block shows an example of the configuration for an editing application installer. [Figure 4] This figure shows an example of the configuration of an editing application. [Figure 5] This is a flowchart illustrating an example of the installation process for an editing application. [Figure 6] This is a sequence diagram illustrating an example of the process of applying a standard driver as a virtual printer driver. [Figure 7] This is a flowchart showing an example of the process for launching an editing application. [Figure 8] This is a flowchart showing an example of the process for launching an editing application. [Figure 9] This figure shows an example of a dialog box prompting you to update an editing application. [Figure 10] This is a flowchart showing an example of the process for launching an editing application. [Figure 11] This figure shows an example of a dialog box prompting you to update an editing application. [Figure 12] This is a flowchart illustrating an example of the installation process for an editing application. [Figure 13] This diagram shows an example of the process from printing to printing using a printing device. [Modes for carrying out the invention]

[0009] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. Note that the following embodiments are not limiting to the scope of this disclosure, and not all combinations of features described in the following embodiments are essential to the solutions of this disclosure. Identical components will be denoted by the same reference numerals.

[0010] A configuration is known in which a program, such as software, accepts data input using a virtual driver (hereinafter referred to as a virtual driver) installed on an information processing device. In an environment where a virtual driver and an operating system (OS), which is the basic software, are installed on the information processing device, the virtual driver operates according to the specifications defined by the OS. For example, a virtual driver can receive predetermined instructions from any software via the OS, generate predetermined data, and output it to a specific device, specific software, or specific memory area. Furthermore, specific software that receives the generated data generated by the virtual driver can perform specific processing using that generated data and output the generated data. A vendor that provides specific software or services can provide vendor-made virtual drivers and software installers that correspond to these software or services. This provides users with a method for inputting data from any program capable of issuing predetermined instructions to the vendor-made virtual driver to a device that provides specific software or services.

[0011] In recent years, for example, Windows (registered trademark) has provided standard class drivers (hereinafter referred to as standard drivers) that can be used in common with devices provided by multiple vendors. Such standard drivers are included in the OS package and can be easily used by connecting any device to the information processing device. A printing device is an example of a device that can be connected to the information processing device.

[0012] By using the standard driver, there is no need to separately install a printer driver specific to the model suitable for the printing device. Therefore, it is highly convenient for users. Also, the standard driver is configured to be able to specify the printing function based on the "Print Device Capabilities (hereinafter referred to as PDC)" generated based on the information obtained from the connected printing device. When a user attempts to print using a printing device connected to the information processing device equipped with such a standard driver, the user can specify the printing function according to the capabilities of the printing device.

[0013] In the future, it is assumed that due to an update of the OS version, in an information processing device implementing the updated OS, the use and installation of the vendor's virtual printer driver (hereinafter referred to as the virtual printer driver) will become unavailable. Note that even in such a situation, it is expected that the standard driver will be available in an information processing device implementing the updated OS.

[0014] In an OS environment (hereinafter referred to as the new environment) where the standard driver is available but the vendor's virtual printer driver is not available, by expanding the functions of the standard driver, users can use specific software provided by the vendor and the like.

[0015] For example, a system can be constructed to replace the functions previously performed by the vendor's virtual printer driver through an extended application or the like for expanding the functions of the standard driver. On the contrary, in an OS environment (hereinafter referred to as the old environment) where the vendor's virtual printer driver is available, there may be a possibility that a system to replace the functions of the vendor's virtual printer driver cannot be constructed through an extended application or the like. In the transitional period from the old environment to the new environment, a method that can handle both the old environment and the new environment is required.

[0016] In the following embodiments, a method capable of providing the functions of a virtual printer driver provided by a printer vendor will be described in an information processing apparatus that implements the virtual printer driver provided by the printer vendor regardless of changes in the OS environment.

[0017] <<First Embodiment>> <Hardware Configuration> FIG. 1 is a block diagram showing an example of the hardware configuration of a printing system. In the present embodiment, the information processing apparatus will be described by taking the host computer 101 as an example, but the information processing apparatus is not limited thereto. For example, the information processing apparatus may be a desktop PC, a node PC, a smartphone, or a tablet terminal.

[0018] The host computer 101 has an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device 114, an output interface 115, and an input / output interface 116. Further, input devices such as a keyboard 118 and a pointing device 117 are connected to the input interface 110. A display device such as a display unit 119 is connected to the output interface 115. Note that the display unit 119 may have a touch panel function. In this case, the display unit 119 can receive a user's input operation on the display unit 119 by being connected to an input / output interface (not shown).

[0019] ROM 112 stores control programs such as initialization programs. External storage device 114 stores the OS, editing applications (described later), other applications, installers (described later), various drivers and other programs, as well as other various data. RAM 113 is the main memory of the host computer 101, which temporarily stores programs and the like. When various programs stored in the external storage device 114 are executed, RAM 113 is used as work memory, etc., so that various programs can run within the host computer 101. In this embodiment, information processing is realized when the CPU 111 loads the control programs stored in ROM 112 into RAM 113 and the CPU 111 executes them.

[0020] The printing device 120 is connected to the host computer 101 via an input / output interface 116. Multiple printing devices 120 may be connected to the host computer 101. Here, the host computer 101 and the printing device 120 are configured separately, but they may also be configured as a single information processing unit.

[0021] In this embodiment, the printing device 120 is described as an inkjet printer that prints by ejecting ink onto the paper surface, but printing may be performed by other methods (for example, electrophotography).

[0022] <Software configuration of the printing system> Figure 2 shows an example of the software configuration of a printing system. Figure 2(a) shows an example of the configuration of a host computer 101 with an OS installed that allows the installation of a vendor-provided virtual printer driver. OS204 is an OS that can use the vendor-provided virtual printer driver 202. An OS that can use a vendor-provided virtual printer driver is, for example, an OS that does not prohibit the execution and installation of a vendor-provided virtual printer driver through functions provided by the OS that restrict the execution and installation of software. An example of OS204 is a version of Microsoft's Windows® that can use vendor-provided printer drivers.

[0023] The drawing application 201 is software that generates content (drawing data) to be printed. For example, the drawing application 201 may be a word processing application or a spreadsheet application. When the drawing application 201 receives a print request from the user, it issues a print command to the OS 204. The print command includes print setting information to instruct the vendor-provided virtual printer driver 202 to perform a predetermined operation.

[0024] To generate print setting information, the drawing application 201 may display a print setting screen provided by the vendor's virtual printer driver 202, the OS 204, or the drawing application 201 itself. The print setting screen in this embodiment includes setting items that enable print settings corresponding to capability information (information that can be set as print settings) obtainable from the vendor's virtual printer driver 202.

[0025] The vendor-provided virtual printer driver 202 is a virtual driver that can input print data into the editing application 203. The vendor-provided virtual printer driver 202 receives a print command containing user-configured print settings information from the drawing application 201 via the OS 204, and generates print data based on the contents of the print settings information. The generated print data is input to the editing application 203 via a predetermined path in this embodiment.

[0026] The editing application 203 is an application that uses a vendor-provided virtual printer driver 202 as one method of inputting print data. In this embodiment, the editing application 203 is a layout editing application and accepts editing operations from a user who wishes to print using the printing device 120.

[0027] For example, the editing application 203 accepts an editing operation to add predetermined data (e.g., document data) to the drawing data generated by the drawing application 201. The editing application 203 can then display a review of the editing results in response to the user's request for an editing operation. Upon receiving a user's instruction to print an image corresponding to the editing results, the editing application 203 can generate a print instruction containing setting information corresponding to the editing results and send the generated print instruction to the printing device 120 via the OS 204.

[0028] As described above, the editing application 203 can accept print data input from the vendor-provided virtual printer driver 202. However, the editing application 203 is not limited to such applications. For example, applications applicable to this embodiment include applications that have the function of uploading the input data to a server, or applications that have the function of converting the input data into a specific file format. Furthermore, applications applicable to this embodiment do not need to have the function of issuing print commands.

[0029] Figure 2(b) shows an example configuration of a host computer 101 with an OS installed that does not allow the use and installation of vendor-specific virtual printer drivers. OS212 is an OS that does not allow the use of vendor-specific virtual printer drivers 202, but does allow the use of standard drivers. An OS that does not allow the use of vendor-specific virtual printer drivers is, for example, an OS that prohibits the execution and installation of vendor-specific virtual printer drivers through functions provided by the OS that restrict the execution and installation of software. An example of OS212 is a version of Microsoft's Windows® that does not allow the use of vendor-specific virtual printer drivers. Note that the host computer 101 shown in Figure 2(b) is explained using the example of having standard drivers installed.

[0030] The standard driver virtual print queue 214 is a virtual print queue corresponding to the standard driver. In this embodiment, the standard driver is not a specific printer driver for each model of the printing device 120, but a standard class driver that can be used in common among printing devices provided by multiple printer vendors. In this embodiment, the standard driver will be explained using the "IPP Class Driver" included in Windows® 11 as an example. The IPP Class Driver is a printer driver that performs printing processing according to the specifications of a standard printing protocol called IPP (Internet Print Protocol), and is included in the OS package. By using the functions included in OS 212, the standard driver virtual print queue 214 can be generated using the IPP Class Driver.

[0031] The extended application 213 is software that enables the extension of the functionality of the standard driver by being associated with the standard driver virtual print queue 214. The extended application 213 is software that can be provided by the vendor of the printing device 120 and is not pre-installed (not bundled) with the OS.

[0032] Therefore, the user needs to operate the host computer 101 to download and install the extended application 213 from a server (not shown) via the internet. Alternatively, the host computer 101 may automatically download and install the extended application 213 from the server via the internet without any user intervention. Or, the extended application 213 may be included in the installer for the editing application 203. The extended application 213 can provide functions (extended functions) that cannot be achieved by the standard driver by editing the PDC generated by the standard driver.

[0033] In addition to the software shown in Figure 2, the host computer 101 may also have a general-purpose web browser or similar software.

[0034] Figure 3 shows an example of the configuration of the installer for the editing application 203. The installer 301 includes a basic installation processing unit 302, an OS environment determination unit 303, a virtual driver generation processing unit 304, and a virtual driver installation unit 305.

[0035] The OS environment determination unit 303, the virtual driver generation processing unit 304, and the virtual driver installation unit 305 perform processing related to the virtual printer driver that inputs data to the editing application 203. The basic installation processing unit 302 performs installation processing necessary for the editing application 203, other than the virtual driver setup processing.

[0036] The OS environment determination unit 303 determines whether the OS environment on which the installer 301 for the editing application 203 is implemented is an old environment or a new environment. Based on this determination, the virtual driver generation processing unit 304 or the virtual driver installation unit 305 executes the processing described later.

[0037] The virtual driver installation unit 305 installs the vendor-provided virtual printer driver 202 associated with the editing application 203. The vendor-provided virtual printer driver 202 may be included with the installer 301, or it may be obtained from a server via the internet.

[0038] The virtual driver generation processing unit 304 issues instructions for generating a standard driver virtual print queue 214, issues instructions for installing an extended application 213, and performs related processing. Details of each process will be described later.

[0039] Figure 4 shows an example of the configuration of the editing application 203. The editing application 203 has a basic processing unit 401 and an update module 406. The update module 406 includes an OS environment determination unit 402, a virtual driver generation processing unit 403, a virtual driver installation unit 404, and an update processing unit 405.

[0040] The basic processing unit 401 executes the basic functions of the editing application 203. The processing related to the basic functions of the editing application 203 in this embodiment includes editing the layout, issuing print commands to the printing device 120, acquiring print data from the virtual printer driver, and starting the editing application 203. In addition, the basic processing unit 401 can delete the vendor-made virtual printer driver 202 (described later), control the display of dialogs, and issue display commands to start a web browser and display a web page.

[0041] The update module 406 is a group of processes related to updating the editing application 203. The update module 406 includes the OS environment determination unit 402 to the update processing unit 405. The OS environment determination unit 402 has the same function as the OS environment determination unit 303 included in the installer 301. The virtual driver generation processing unit 403 and the virtual driver installation unit 404 have the same function as the virtual driver generation processing unit 304 and the virtual driver installation unit 305 included in the installer 301, respectively. The update processing unit 405 performs the processing related to updating the editing application 203 that does not involve the virtual printer driver. In addition, the basic processing unit 401 may execute predetermined processing for updating the editing application 203.

[0042] Furthermore, the editing application 203 does not necessarily have to include all of the basic processing unit 401 to the update processing unit 405. The editing application 203 does not necessarily have to include the update module 406, or it may include the update module 406. Even if the editing application 203 includes the update module 406, it does not necessarily have to include all of the OS environment determination unit 402 to the update processing unit 405.

[0043] <Installation flow for editing applications> Figure 5 is a flowchart showing an example of the process executed by the CPU 111 of the host computer 101 as a function of the installer 301. The process shown in Figure 5 is realized by the CPU 111 of the host computer 101 reading the control program stored in ROM 112 and the installer 301 program stored in external storage device 114 into RAM 113 and executing them. Note that some or all of the functions of the process shown in Figure 5 may be realized by hardware such as an ASIC or electronic circuit. The symbol "S" in the description of each process means a step in the flowchart (the same applies to flowcharts in this specification hereafter). The installation process of the editing application 203 will be described with reference to Figure 5.

[0044] The process shown in Figure 5 is initiated when the CPU 111 detects a user attempt to launch the installer 301 via the interface. Alternatively, the process shown in Figure 5 may be automatically initiated when the CPU 111 detects that the editing application 203 is not installed on the host computer 101.

[0045] In S501, the CPU 111, via the basic installation processing unit 302, performs basic installation processing to enable the editing application 203 to run on OS 204 or OS 212. This basic installation processing includes placing each module that executes the various processes of the editing application 203 into the external storage device 114 of the host computer 101.

[0046] Furthermore, in S501, the CPU 111, via the basic installation processing unit 302, performs a process to register information about the startup module of the editing application 203 with the OS as part of the editing application 203 installation process. The process of registering information about the startup module of the editing application 203 with the OS is a process of registering a URI (Uniform Resource Identifier) ​​that indicates the location of the startup module in the external storage device 114 with the OS. This URI is used when the vendor-made virtual printer driver 202 or extension application 213 starts the editing application 203. Note that the process executed by the basic installation processing unit 302 in S501 is an installation process for the editing application 203 that does not affect the virtual printer driver.

[0047] In S502, the CPU 111 receives instructions from the basic installation processing unit 302 and performs an OS environment determination using the OS environment determination unit 303. The CPU 111 obtains OS capability information from the OS using the OS environment determination unit 303 and determines whether or not the environment is suitable for using the vendor's virtual printer driver 202. In this embodiment, the OS capability information is explained using information indicating the OS version as an example, but it is not limited to this. For example, the OS capability information can be any information that can identify whether or not the vendor's virtual printer driver is available.

[0048] Specifically, OS capability information may include responses received through specific APIs (Application Programming Interfaces) to the OS, information indicating the presence or absence of specific APIs, or predetermined settings configured in the OS. Furthermore, OS capability information may also include policy-related information.

[0049] In S502, the CPU 111 proceeds to S503 if the OS environment determination unit 303 determines, based on the OS capability information, that the OS environment is capable of installing the vendor's virtual printer driver 202 (Yes). In other words, the CPU 111 proceeds to S503 if it determines that the installer 301 is running on an OS 204 capable of installing the vendor's virtual printer driver 202. Such determination is made, for example, by the CPU 111 obtaining version information for determining the OS environment, and determining the OS environment on which the installer 301 is running based on the version information and the OS version information obtained as OS capability information. In this embodiment, the version information is information indicating the OS version capable of installing the vendor's virtual printer driver 202, and is information described in the internal program or external file of the installer 301.

[0050] In S502, if the OS environment determination unit 303 determines that the OS environment is not capable of installing the vendor's virtual printer driver 202 (No) based on the OS capability information, the CPU 111 proceeds to S504. In other words, if the CPU 111 determines that the installer 301 is running on an OS 212 where the vendor's virtual printer driver 202 cannot be installed but the standard driver can be installed, the CPU 111 proceeds to S504. That is, if the OS environment determination unit 303 determines that the environment is not capable of using the vendor's virtual printer driver 202, the CPU 111 proceeds to S504 without executing the installation process for the vendor's virtual printer driver 202.

[0051] In S503, the CPU 111, via the virtual driver installation unit 305, executes the installation process for the vendor-provided virtual printer driver 202. The virtual printer driver installed here is one specified by the provider of the editing application 203 and is configured to work in conjunction with the editing application 203. After the CPU 111 completes the installation process for the vendor-provided virtual printer driver 202 and its associated setup process in S503, it terminates the process shown in Figure 5. That is, if the CPU 111 determines in S502 that the OS environment is capable of installing the vendor-provided virtual printer driver 202, it does not perform the process to apply the standard driver described later as the virtual printer driver in S503. The CPU 111 may, via the basic installation processing unit 302, perform other installation processes necessary for the editing application 203 after the setup process for the vendor-provided virtual printer driver 202, or it may terminate the installation process shown in Figure 5.

[0052] In S504, the CPU 111, via the virtual driver generation processing unit 304, performs processing to apply the standard driver as a virtual printer driver. Specifically, in S504, the CPU 111, via the virtual driver generation processing unit 304, issues a command to generate a standard driver virtual print queue 214 that will be generated using the IPP Class Driver. As will be described later, when the command to generate a standard driver virtual print queue 214 is issued, the OS generates the standard driver virtual print queue 214 and performs processing to associate the standard driver virtual print queue 214 with the extended application 213. Details of the processing performed in S504 will be explained with reference to Figure 6.

[0053] Figure 6 is a sequence diagram showing an example of applying a standard driver as a virtual printer driver based on the standard driver virtual print queue generation instruction issued by installer 301 in S504. In the sequence shown in Figure 6, the OS is assumed to be OS 212, which is not capable of installing the vendor-made virtual printer driver 202. Furthermore, in the sequence shown in Figure 6, the host computer 101 is assumed to be a computer in which the vendor-made virtual printer driver 202 is not installed, as shown in Figure 2(b).

[0054] In S601, the virtual driver generation processing unit 304 of the installer 301 issues a command to the OS 212 to generate a standard driver virtual print queue 214. This command instructs the OS 212 to generate a standard driver virtual print queue 214 to be assigned to the standard driver, and is issued using a function installed in the OS 212 (for example, Printui.dll). Printui.dll is a function related to printing installed in the OS 212. By executing Printui.dll with predetermined parameters, a standard driver virtual print queue 214 can be generated by specifying the standard driver installed in the OS 212 and the PDC generated by that standard driver. This links the PDC generated by the standard driver with the standard driver virtual print queue 214. The predetermined parameters also include specific information to identify the extended application to be downloaded, which is executed in S603. That is, the OS 212 uses the specific information included in the predetermined parameters to identify the extended application to be downloaded. Specifically, the identifying information is the model name of the printing device, but it is not limited to this form; any information that can identify the editing application 203 is acceptable. The predetermined parameters correspond to the parameters that cause the OS 212 to execute the processes S603 to S606, in addition to S602, which will be described later. In other words, the process of S601 can be said to be the process that causes the OS 212 to execute the processes S602 to S606, which will be described later.

[0055] In addition, when creating the standard driver virtual print queue 214, it is possible to specify the virtual print queue name, virtual model name, the port to which the data will be output, and a file containing information about printing the virtual print queue.

[0056] Here, the standard driver generally generates a PDC for the print queue corresponding to the printer 120 based on the capability information of the printer 120 obtained from the printer 120. The capability information of the printer 120 is the setting information related to printing that can be executed on the printer 120. However, since the printer 120 does not support the standard driver virtual print queue 214, the standard driver cannot obtain the capability information necessary to generate the PDC for the virtual print queue, and therefore cannot generate the PDC for the virtual print queue. Therefore, by specifying a file containing capability information in the instruction to generate the standard driver virtual print queue 214, the standard driver can generate the PDC for the standard driver virtual print queue 214 in S601. Also, in S502, when the CPU 111 determines that the environment is not one in which the vendor's virtual printer driver 202 can be used by the OS environment determination unit 303, the standard driver can generate the PDC.

[0057] The file containing the capability information of the printing device 120 in S601 is included with the editing application 203. Furthermore, this file was created by the vendor providing the editing application 203 to ensure that appropriate print data can be generated for transmission to the editing application 203.

[0058] In S602, when OS212 receives an instruction from installer 301 to create a standard driver virtual print queue 214, it creates the standard driver virtual print queue 214 based on the instructions received from installer 301.

[0059] In S603, if the extension application 213 corresponding to the editing application 203 is not installed on the host computer 101, OS212 downloads the extension application 213 from the server via the internet. The method for identifying the application to be downloaded is as described above.

[0060] In S604, OS212 performs the installation process for the extension application 213. For example, once the download of the extension application 213 is complete in S603, the virtual driver generation processing unit 304 can issue an installation instruction to OS212 for the extension application 213. Upon receiving the installation instruction, OS212 then executes the installation process for the extension application 213. When OS212 completes the download of the extension application 213 in S603, it notifies the virtual driver generation processing unit 304 of the completion of the download. This allows OS212 to receive an installation instruction for the extension application 213 from the virtual driver generation processing unit 304.

[0061] In S605, once the installation process of the extended application 213 is completed in S604, OS212 associates the standard driver virtual print queue 214 with the extended application 213. This association in S605 allows OS212 to start the various units of the extended application 213 by accepting print commands to the standard driver virtual print queue 214.

[0062] In S606, after the association process in S605 is completed, OS212 issues a print function extension instruction to the extended application 213. In this embodiment, the print function extension instruction is an editing instruction for the PDC of the standard driver virtual print queue 214. OS212 starts the extended application 213 and issues the print function extension instruction at the timing when the standard driver virtual print queue 214 and the extended application 213 are associated. OS212 can also issue a print function extension instruction at other times, such as when the print settings screen is displayed.

[0063] In S607, when the extended application 213 receives a print function extension instruction in S606, it extends the print function. Specifically, the extended application 213 edits the contents of the PDC of the standard driver virtual print queue 214 so that the print data generated based on the input data to the standard driver virtual print queue 214 can be appropriately output to the editing application 203. This makes it possible for the extended application 213 to generate print data that can be appropriately input into the editing application 203. In addition, it becomes possible to temporarily save the print data to any storage area of ​​the external storage device 114.

[0064] In S608, when the extended application 213 completes the extension of the printing function in S607, it notifies the OS 212 that the printing function extension process is complete. In S609, when the OS 212 receives the notification from the extended application 213 in S608 that the printing function extension process is complete, it notifies the installer 301 that the standard driver virtual print queue 214 is complete.

[0065] The above describes the process of applying the standard driver as a virtual printer driver based on the instruction to generate a standard driver virtual print queue 214 issued by the virtual driver generation processing unit 304 of the installer 301 in S504. Once this process is complete, the installer 301 terminates the process shown in Figure 5. Note that the basic installation processing unit 302 of the installer 301 may perform other installation processes necessary for the editing application 203 after the completion of the process shown in Figure 5.

[0066] According to this embodiment, the installer of an editing application that uses a virtual printer driver as one of its data input methods determines the OS environment and, if the environment allows the installation of a vendor-provided virtual printer driver, executes the installation process. If the environment does not allow the installation of a vendor-provided virtual printer driver, the installer of the editing application issues an instruction to create a standard driver virtual print queue, thereby applying the standard driver as the virtual printer driver.

[0067] A single installer will enable support for both the old and new environments. In other words, it will provide the functionality of the vendor's drivers regardless of changes in the OS environment. This allows users to continue using their editing applications.

[0068] <<Second Embodiment>> In the first embodiment, an installer system capable of supporting both the old and new environments was described, assuming a new installation of the editing application. However, a scenario is envisioned where the OS 204 is changed to OS 212 due to an OS update while the editing application 203 is already installed. In this case, a situation arises where the vendor-provided virtual printer driver that was available in OS 204 becomes unavailable.

[0069] In this embodiment, we describe a configuration that can provide the functionality of the vendor's printer driver even if the old environment in which the editing application 203 is already installed is updated and the vendor's virtual printer driver becomes unavailable.Hereafter, unless otherwise specified, the basic configuration of this embodiment is the same as that of the first embodiment.

[0070] Figure 7 is a flowchart showing an example of the startup process of the editing application 203, which is executed by the CPU 111 as a function of the editing application 203 in this embodiment. The software configuration of the host computer 101 in this embodiment is as shown in Figure 2(a). That is, the host computer 101 in this embodiment has a vendor-made virtual printer driver 202 installed.

[0071] This embodiment describes a configuration that allows the printer driver functionality provided by the vendor to be maintained even if the OS204 is updated to OS212 through its automatic update function or through a user's voluntary update, or if it has already been updated.

[0072] Upon receiving a user request to launch the editing application 203, the editing application 203 begins the startup process shown in Figure 7. If a resident application associated with the editing application 203 is installed on the host computer 101, that resident application may execute the process shown in Figure 7 each time the OS starts. A resident application is, for example, an application that starts with the OS and, upon detecting a specific event (such as a change in the OS version or an error occurring on the OS), notifies the editing application 203 of that event.

[0073] In S701, the CPU 111 confirms the OS environment using the OS environment determination unit 402. For example, the CPU 111 obtains OS capability information from the OS using the OS environment determination unit 402 and confirms the OS environment. Note that the OS capability information is the same as the information described in S502 of the first embodiment, so its explanation is omitted. Also, the method for determining the OS environment is the same as the method described in S502 of the first embodiment, so its explanation is omitted.

[0074] In S702, if the OS environment determination unit 402 determines that the environment is one in which the vendor's virtual printer driver 202 is available, that is, the environment in which OS204 is running (Yes), the CPU 111 proceeds to S703. In other words, the OS environment determination unit 402 determines that the vendor's virtual printer driver 202, which is already installed, is still available, and proceeds to S703. In S702, if the OS environment determination unit 402 determines that the environment is one in which the vendor's virtual printer driver 202 is not available, that is, the environment in which OS212 is running (No), the CPU 111 proceeds to S704.

[0075] In S703, the CPU 111 continues the startup process of the editing application 203 via the basic processing unit 401. Once this startup process is complete, the CPU 111 terminates the process shown in Figure 7 via the basic processing unit 401. That is, if S702 determines that the environment is suitable for using the vendor's virtual printer driver 202, the CPU 111 does not perform the process to apply the standard driver as the virtual printer driver in S703.

[0076] In S704, the CPU 111, via the basic processing unit 401, deletes the vendor-provided virtual printer driver 202. In S702, the OS environment determination unit 402 determines that the environment is not suitable for installing the vendor-provided virtual printer driver 202, so it is possible that the OS has been changed from OS 204 to OS 212 as shown in Figure 2(a). In this situation, the vendor-provided virtual printer driver 202, which is already installed, cannot be used, and therefore the editing application 203 may not be able to provide the same functionality as before. For this reason, in S704, the CPU 111, via the basic processing unit 401, deletes the vendor-provided virtual printer driver 202 and proceeds to S705. In S704, the CPU 111, via the basic processing unit 401, may also uninstall the bundled vendor-provided virtual printer driver 202. Alternatively, in S704, the CPU 111, via the basic processing unit 401, may directly delete the vendor-provided virtual printer driver 202 and its related files located on the external storage device 114.

[0077] Furthermore, in S704, the CPU 111 does not need to delete the vendor-provided virtual printer driver 202 via the basic processing unit 401. For example, if the process of applying the standard driver as a virtual printer driver in S705 (described later) can be performed successfully without deleting the vendor-provided virtual printer driver 202, the CPU 111 will not delete the vendor-provided virtual printer driver 202. Alternatively, in situations where the OS is downgraded, the CPU 111 does not need to delete the vendor-provided virtual printer driver 202 in S704 so that the vendor-provided virtual printer driver 202 can be used as is afterward.

[0078] In S705, once the removal of the vendor-provided virtual printer driver 202 in S704 is complete, the CPU 111 issues a command to the virtual driver generation processing unit 403 to generate a standard driver virtual print queue 214. The OS or other system that receives the generation command then applies the standard driver as a virtual printer driver. Specifically, after the contents of the PDC of the standard driver virtual print queue generated using the IPP Class Driver are edited, the CPU 111 proceeds to S703. The process of applying the standard driver as a virtual printer driver is the same as the process in S504 in the first embodiment, so the explanation is omitted.

[0079] After the standard driver is applied as a virtual printer driver in S705, the CPU 111 in S703 continues the startup process of the editing application 203 via the basic processing unit 401. After the startup process of the editing application 203 is completed, the process shown in Figure 7 is terminated.

[0080] According to this embodiment, even if the OS is changed to one where the vendor's virtual printer driver is not available while the editing application is already installed, the functionality of the vendor's driver can be provided regardless of the change in the OS environment. In other words, a mechanism is provided in which the standard driver is applied as the virtual printer driver based on the instructions of the editing application, and the functionality of the vendor's virtual printer driver is replaced, allowing the user to continue using the editing application.

[0081] <<Third Embodiment>> In the second embodiment, a process was described for applying a standard driver as a virtual printer driver when the OS is changed to one where the vendor-provided virtual printer driver is not available, while the editing application 203 is already installed. However, in the situation described in the second embodiment, depending on the configuration of the editing application 203, an update of the editing application 203 may be necessary.

[0082] For example, if the installed editing application 203 is an older version that is not designed to support the new environment, the following situation may occur under certain circumstances, requiring an update to editing application 203.

[0083] Specifically, this could involve situations where the editing application 203 does not include a virtual driver generation processing unit 403, or where a file describing the capabilities of the printing device 120 is not included.

[0084] In this situation, the OS is unable to generate the standard driver virtual print queue 214, and the process of applying the standard driver as a virtual printer driver based on the instructions of the virtual driver generation processing unit 403 is not executed. Therefore, it is necessary to update to a new version of the editing application 203 that is designed to support the new environment.

[0085] In this embodiment, we will explain how to update the editing application 203 to apply the standard driver as the virtual printer driver when the OS is changed to one that does not support the vendor-provided virtual printer driver.

[0086] Figure 8 is a flowchart showing an example of the startup process of the editing application 203, which is executed by the CPU 111 as a function of the editing application 203 in this embodiment. The software configuration of the host computer 101 in this embodiment is as shown in Figure 2(a). That is, the host computer 101 in this embodiment has a vendor-made virtual printer driver 202 installed.

[0087] This embodiment describes a configuration that allows the printer driver functionality provided by the vendor to be maintained even if the OS204 is updated to OS212 through its automatic update function or through a user's voluntary update, or if it has already been updated.

[0088] Upon receiving a user request to launch the editing application 203, the editing application 203 begins the startup process shown in Figure 8. Note that, as in the second embodiment, if a resident application associated with the editing application 203 is installed on the host computer 101, that resident application may execute the process shown in Figure 8 each time the OS starts. S801 to S803 are the same as S701 to S703 in the second embodiment, and therefore their explanation is omitted. Note that if S802 determines that the environment allows the use of the vendor-provided virtual printer driver 202, the CPU 111 in S803 does not perform the process to apply the standard driver as the virtual printer driver and continues the startup process.

[0089] In this case, if the host computer 101 shown in Figure 2(a) has been changed from OS204 to OS212, the vendor-provided virtual printer driver 202, which is already installed, becomes unavailable. In this state, the editing application 203 cannot provide the same functionality as before, so it is necessary to apply a standard driver as a virtual printer driver, such as S504 in the first embodiment. In this embodiment, it is assumed that the editing application 203 does not include a file describing the capabilities of the printing device 120, or does not include a virtual driver generation processing unit 403. In such a situation, OS212 cannot generate a standard driver virtual print queue 214. Therefore, the OS and other systems cannot execute the process of applying a standard driver as a virtual printer driver.

[0090] Therefore, in S804, the CPU 111, via the basic processing unit 401, displays a dialog box prompting for an automatic update of the editing application 203 before the editing application 203 is launched. An example of the screen displayed as a dialog box in S804 is shown in Figure 9.

[0091] Figure 9 shows an example of an update confirmation screen 901 that prompts the user to automatically update the editing application 203. In this embodiment, the update confirmation screen 901 is described as being displayed as a dialog box.

[0092] The update confirmation screen 901 displays a message prompting the user to perform an automatic update. The update confirmation screen 901 also includes a cancel button 902 to allow the user to decline the update, and an update button 903 to allow the user to agree to the update.

[0093] In S805, the CPU 111, via the basic processing unit 401, determines whether the update button 903 has been pressed. The CPU 111, via the basic processing unit 401, detects user operation on the update button 903 and, if it determines that the update button 903 has been pressed (Yes), proceeds to S806. The CPU 111, via the basic processing unit 401, detects user operation on the cancel button 902 and, if it determines that the cancel button 902 has been pressed (No), proceeds to S809. In other words, if the CPU 111, via the basic processing unit 401, detects user operation on the cancel button 902, it does not perform the update process of the editing application 203, which will be described later. In S809, the CPU 111, via the basic processing unit 401, terminates the editing application 203 and ends the process shown in Figure 8.

[0094] In the S806, the CPU 111 performs update processing for the editing application 203 via the update processing unit 405. This process includes obtaining data necessary for updates via the internet and updating existing data in the external storage device 114.

[0095] In S807, once the update of the editing application 203 is completed in S806, the CPU 111 uses the basic processing unit 401 to delete the vendor-provided virtual printer driver 202. However, as mentioned above, the CPU 111 does not necessarily have to delete the vendor-provided virtual printer driver 202 using the basic processing unit 401. S807 and S808 are the same as S704 and S705 in the second embodiment, respectively, so their explanation is omitted. After applying the standard driver as the virtual printer driver in S808, the CPU 111 terminates the editing application 203 without continuing the startup process of the editing application 203, and terminates the process shown in Figure 8.

[0096] According to this embodiment, if the OS is changed to one that does not support the vendor's virtual printer driver while the editing application is already installed, the editing application 203 is updated. This enables the application to use the standard driver as the virtual printer driver, thereby providing the functionality of the vendor's driver. Therefore, the user can continue to use the editing application 203.

[0097] <<Fourth Embodiment>> In the third embodiment, an example was described in which the update processing unit 405 of the editing application 203 obtains the data necessary for the update via the internet to perform an update on the editing application 203. However, depending on the configuration of the editing application 203, it may not include an update processing unit 405. In this case, the update processing unit 405 cannot update the editing application 203, so the user needs to perform a predetermined operation to obtain a new version of the editing application 203.

[0098] In this embodiment, we describe an example in which the editing application 203 is updated by user operation when the OS is changed to one that does not support the vendor's virtual printer driver 202 while the editing application 203 is already installed.

[0099] Figure 10 is a flowchart showing an example of the startup process of the editing application 203, which is executed by the CPU 111 as a function of the editing application 203 in this embodiment. The software configuration of the host computer 101 in this embodiment is as shown in Figure 2(a). That is, the host computer 101 in this embodiment has a vendor-made virtual printer driver 202 installed.

[0100] This embodiment describes a configuration that allows the printer driver functionality provided by the vendor to be maintained even if the OS204 is updated to OS212 through its automatic update function or through a user's voluntary update, or if it has already been updated.

[0101] Upon receiving a user request to launch the editing application 203, the editing application 203 begins the startup process shown in Figure 10. As in the third embodiment, if the editing application 203 and related resident applications are installed on the host computer 101, those resident applications may execute the process shown in Figure 10 each time the OS starts. Steps S1001 to S1003 are the same as steps S801 to S803 in the third embodiment, and therefore their explanation is omitted. If S1002 determines that the environment allows the use of the vendor-provided virtual printer driver 202, then in S1003, the CPU 111 does not perform the process to apply the standard driver as the virtual printer driver and continues the startup process.

[0102] In S1004, the CPU 111, via the basic processing unit 401, displays a dialog box prompting manual updating of the editing application 203 before the editing application 203 is launched. An example of the screen displayed as a dialog box in S1004 is shown in Figure 11.

[0103] Figure 11 shows an example of an update confirmation screen 1101 that prompts the user to manually update the editing application 203. In this embodiment, the update confirmation screen 1101 is described as being displayed as a dialog box.

[0104] The update confirmation screen 1101 displays a message prompting the user to manually update. The update confirmation screen 1101 includes a cancel button 1102 that accepts the user's refusal to display the page for updating the editing application 203, and an update button 1103 that accepts the user's consent to display the page.

[0105] In S1005, the CPU 111, via the basic processing unit 401, determines whether the update button 1103 has been pressed. The CPU 111, via the basic processing unit 401, detects user operation on the update button 1103, and if it determines that the update button 1103 has been pressed (Yes), proceeds to S1006. The CPU 111, via the basic processing unit 401, detects user operation on the cancel button 1102, and if it determines that the cancel button 1102 has been pressed (No), proceeds to S1007. That is, when the CPU 111, via the basic processing unit 401, detects user operation on the cancel button 1102, it proceeds to S1007 without displaying the page for updating the editing application 203. In S1007, the CPU 111, via the basic processing unit 401, terminates the editing application 203 and ends the process shown in Figure 10.

[0106] In S1006, the CPU 111, via the basic processing unit 401, issues a display instruction to the OS 212 to display a page for obtaining the installer for the new version of the editing application. Then, the CPU 111, via the basic processing unit 401, terminates the current version of the editing application 203 without continuing the startup process of the current version of the editing application 203, and terminates the process shown in Figure 10.

[0107] When the CPU 111 receives a display command issued by the basic processing unit 401, the OS 212 launches a web browser and displays a page for obtaining the installer for the new version of the editing application 203. Specifically, after launching the web browser, the CPU 111 can specify the URL of a web page pre-configured in the editing application 203 and display the aforementioned page. The user can perform operations on the web browser to download the installer for the new version of the editing application 203 and save it to the external storage device 114.

[0108] A user who has obtained the installer for the new version of the editing application 203 launches the installer to install the new version of the editing application 203. This installer has the same configuration as installer 301 shown in Figure 3. Figure 12 shows a flowchart illustrating an example of the process that CPU 111 executes as a function of installer 301 after obtaining the installer in S1006. When the installer obtained in S1006 receives an operation from the user to install the new version of the editing application 203, the process shown in Figure 12 begins. S1201 to S1203 are the same as S501 to S503, respectively, so their explanation is omitted. Note that if S1202 determines that the OS environment is one in which the vendor's virtual printer driver 202 is available, CPU 111 does not perform the process to apply the standard driver as the virtual printer driver in S1203. Furthermore, if the CPU 111 determines in S1202 by the OS environment determination unit 303 that the environment is not suitable for using the vendor's virtual printer driver 202, it proceeds to S1204 without executing the installation process for the vendor's virtual printer driver 202.

[0109] In S1204, if it is determined in S1202 that the environment is not suitable for using the vendor-provided virtual printer driver 202, the CPU 111 uses the basic installation processing unit 302 to determine whether or not the vendor-provided virtual printer driver 202 exists. In this embodiment, since an update from an existing editing application 203 is assumed, it is assumed that the vendor-provided virtual printer driver 202 exists. Assuming this situation, the determination of whether or not the vendor-provided virtual printer driver 202 exists is made.

[0110] In S1204, if the CPU 111 determines via the basic installation processing unit 302 that the vendor-provided virtual printer driver 202 does not exist (No), the process proceeds to S1206. In S1206, the CPU 111 uses the virtual driver generation processing unit 304 to apply the standard driver as the virtual printer driver and completes the process shown in Figure 12. Note that the CPU 111 may use the basic installation processing unit 302 to perform other installation processes necessary for the editing application 203 before completing the process shown in Figure 12.

[0111] In S1204, if the CPU 111 determines via the basic installation processing unit 302 that a vendor-provided virtual printer driver 202 exists (Yes), the process proceeds to S1205. In S1205, the CPU 111 deletes the vendor-provided virtual printer driver via the basic installation processing unit 302 and proceeds to S1206. As mentioned above, the CPU 111 does not necessarily have to delete the vendor-provided virtual printer driver 202 via the basic installation processing unit 302.

[0112] The process of applying the standard driver as a virtual printer driver is completed once the installer 301 for the new version of the editing application 203 has finished.

[0113] According to this embodiment, even if an existing editing application cannot be automatically updated due to a change in the OS to one where the vendor's virtual printer driver is not available, the user can still obtain the data necessary to update the editing application. Using this data, the user can then install a new version of the editing application and execute the process of applying the standard driver as the virtual printer driver. In other words, even if the editing application does not have an built-in update function, the user can update the editing application and provide the functionality of the vendor's driver. Therefore, the user can continue to use the editing application 203.

[0114] Figure 13 shows an example of the process from applying a standard driver as a virtual printer driver to issuing a print command from any application and executing printing on the printer 120. Referring to Figure 13, an example will be described in which an editing application can be used with a standard driver virtual print queue and extended applications even in environments where a vendor-specific virtual printer driver is not available.

[0115] In S1301, any application capable of issuing print commands issues print commands to the standard driver virtual print queue 214. For example, any application, upon detecting a user's operation to issue a print command to its own UI, issues a print command to the standard driver virtual print queue 214.

[0116] In S1302, the extended application 213 generates print data based on a print instruction to the standard driver virtual print queue 214. In S1303, the extended application 213 saves the print data generated in S1302 to an arbitrary storage area allocated on the external storage device 114 of the host computer 101.

[0117] In S1304, print data is passed from an arbitrary storage area to the editing application 203. In S1305, the editing application 203 performs editing processing on the print data in response to the user's editing operations and generates edited data from the print data. The editing application then issues a print command in response to the user's operation and sends it to the printer 120 via the OS. Printing is then executed by the printer 120 based on the received print command.

[0118] In this way, by editing the contents of the PDC of a standard driver virtual print queue generated using a standard driver with an extended application, it is possible to provide functionality equivalent to that of a vendor-provided virtual printer driver.

[0119] <<Other Embodiments>> In the above embodiment, an example was described in which the CPU 111 determines whether or not the vendor's virtual printer driver 202 can be installed based on version information and OS capability information using the OS environment determination unit 303, but the determination method is not limited to this.

[0120] For example, the CPU 111 may obtain policy information from the OS using the OS environment determination unit 303 and determine whether or not the vendor's virtual printer driver 202 can be installed based on the policy information.

[0121] Policy information refers to policy settings that configure the operation of the computer system and software. Policy settings also include operational settings for virtual printer drivers. Furthermore, operational settings include configuration information indicating whether or not to prohibit the execution and installation of vendor-provided virtual printer drivers 202.

[0122] In other words, the CPU 111 uses the OS environment determination unit 303 to determine whether the policy information includes configuration information that prohibits the installation of the vendor's virtual printer driver 202. If the policy information does not include configuration information that prohibits the installation of the vendor's virtual printer driver, the CPU 111 uses the OS environment determination unit 303 to determine that the OS environment allows the installation of the vendor's virtual printer driver. If the policy information includes configuration information that prohibits the installation of the vendor's virtual printer driver, the CPU 111 uses the OS environment determination unit 303 to determine that the OS environment does not allow the installation of the vendor's virtual printer driver.

[0123] Alternatively, before determining the OS environment, the CPU 111 may start the installation process of the vendor's virtual printer driver 202 using the virtual driver installation unit 305 and determine whether the installation process is executable.

[0124] For example, before the OS environment determination unit 303 determines whether the vendor's virtual printer driver 202 can be installed, the CPU 111 starts the installation process for the vendor's virtual printer driver 202 using the virtual driver installation unit 305. Then, the CPU 111 starts the installation process for the vendor's virtual printer driver 202 and determines whether or not an execution error occurred during the installation process.

[0125] If an execution error occurs during the installation process of the vendor-provided virtual printer driver 202, the CPU 111, using the OS environment determination unit 303, determines that the OS environment is not capable of installing the vendor-provided virtual printer driver 202. Conversely, if no execution error occurs during the installation process of the vendor-provided virtual printer driver 202, the CPU 111, using the OS environment determination unit 303, determines that the OS environment is capable of installing the vendor-provided virtual printer driver 202. Thus, in addition to using version information, the CPU 111 can determine the OS environment using the OS environment determination unit 303.

[0126] This disclosure can also be implemented by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be implemented by a circuit (e.g., an ASIC) that implements one or more functions.

[0127] The disclosure of this embodiment includes configurations represented by the following example programs, example information processing devices, and example control methods for information processing devices.

[0128] <Configuration 1> An application installer program executed by an information processing device, The aforementioned information processing device An acquisition means for acquiring capability information of the OS from the OS implemented in the information processing device, A control means that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform processing to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. A program characterized by its ability to function in a certain way.

[0129] <Configuration 2> The program according to Configuration 1, characterized in that the first driver outputs print data including setting information for printing with the printing device to the application provided by the vendor of the printing device, which is capable of issuing print instructions to the printing device.

[0130] <Structure 3> The OS capability information is information indicating whether the first driver is available in the OS. The control means is If the OS capability information indicates that the first driver is available in the OS, the first driver is installed. The program according to configuration 1 or 2, characterized in that, if the OS capability information indicates that the first driver is not available in the OS, it performs processing to apply the second driver as the virtual printer driver.

[0131] <Structure 4> The program according to any one of configurations 1 to 3, characterized in that the OS capability information is either information indicating the version of the OS or information indicating whether or not the installation of the first driver is prohibited.

[0132] <Composition 5> The control means is a program according to any one of configurations 1 to 4, characterized in that it performs the control during the installation process of the application.

[0133] <Composition 6> The installation process includes the setup process for the virtual driver, The control means is a program according to configuration 5, characterized in that it performs the control during the setup process.

[0134] <Composition 7> A program for an application executed by an information processing device, The aforementioned information processing device An acquisition means for acquiring capability information of the OS from the OS implemented in the information processing device, A control means that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. A program characterized by its ability to function in a certain way.

[0135] <Structure 8> The program according to configuration 7, characterized in that the control means performs the control during the startup process of the application.

[0136] <Composition 9> The OS capability information is information indicating whether the first driver is available in the OS. The control means is If the OS capability information indicates that the first driver is available in the OS, the process for applying the second driver as the virtual printer driver is not performed. The program according to configuration 8, characterized in that it performs the process when the OS capability information indicates that the first driver is not available in the OS.

[0137] <Composition 10> The program according to configuration 9, characterized in that, if the capability information of the OS indicates that the first driver is available in the OS, the control means further performs control to continue the startup process.

[0138] <Composition 11> The information processing device has the first driver installed. The program according to configuration 9 or 10, characterized in that, if the OS capability information indicates that the first driver is not available in the OS, the control means further performs control to delete the first driver.

[0139] <Composition 12> The program according to any one of configurations 9 to 11, characterized in that, when the capability information of the OS indicates that the first driver is unavailable in the OS, the information processing device is made to function as a display control means for displaying a first screen to prompt the user to automatically update the application.

[0140] <Composition 13> The program according to configuration 12, wherein the control means further performs control to update the application based on user operations on the first screen.

[0141] <Composition 14> The program according to configuration 12, characterized in that, if the OS capability information indicates that the first driver is not available in the OS, the display control means further performs control to display a second screen prompting the user to manually update the application.

[0142] <Composition 15> The program according to configuration 14, characterized in that the control means further performs control to issue a display instruction to display a web page for obtaining data necessary for updating the application, based on the user's operation on the second screen.

[0143] <Composition 16> An information processing device that implements an OS and runs an application installer on the OS, An acquisition means for acquiring capability information of the OS from the OS, A control means that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform processing to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. An information processing device characterized by comprising:

[0144] <Composition 17> An information processing device that implements an OS and runs applications on the said OS, An acquisition means for acquiring capability information of the OS from the OS, A control means that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. An information processing device characterized by comprising:

[0145] <Composition 18> A control method for an information processing device that implements an OS and runs an application installer on the OS, An acquisition step of acquiring capability information of the OS from the OS, A control step that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform a process to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. A control method for an information processing device, characterized by having the following features.

[0146] <Composition 19> A control method for an information processing device that implements an OS and runs an application on the OS, An acquisition step of acquiring capability information of the OS from the OS, A control step that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. A control method for an information processing device, characterized by having the following features. [Explanation of symbols]

[0147] 101 Host computer 203 Editing Applications 204 OS 212 OS 301 Installer

Claims

1. An application installer program executed by an information processing device, The aforementioned information processing device An acquisition means for acquiring capability information of the OS from the OS implemented in the information processing device, A control means that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform processing to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. A program characterized by its ability to function in a certain way.

2. The program according to claim 1, wherein the first driver outputs print data including setting information for printing with the printing device to the application provided by the vendor of the printing device, which is capable of issuing print instructions to the printing device.

3. The OS capability information is information indicating whether the first driver is available in the OS. The control means is If the OS capability information indicates that the first driver is available in the OS, the first driver is installed. The program according to claim 1, characterized in that, if the OS capability information indicates that the first driver is not available in the OS, it performs processing to apply the second driver as the virtual printer driver.

4. The program according to claim 1, characterized in that the OS capability information is either information indicating the version of the OS or information indicating whether or not to prohibit the installation of the first driver.

5. The program according to claim 1, characterized in that the control means performs the control during the installation process of the application.

6. The installation process includes the setup process for the virtual driver, The program according to claim 5, characterized in that the control means performs the control in the setup process.

7. A program for an application executed by an information processing device, The aforementioned information processing device An acquisition means for acquiring capability information of the OS from the OS implemented in the information processing device, A control means that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. A program characterized by its ability to function in a certain way.

8. The program according to claim 7, characterized in that the control means performs the control in the startup process of the application.

9. The OS capability information is information indicating whether the first driver is available in the OS. The control means is If the OS capability information indicates that the first driver is available in the OS, the process for applying the second driver as the virtual printer driver is not performed. The program according to claim 8, characterized in that, if the OS capability information indicates that the first driver is not available in the OS, it performs processing to apply the second driver as the virtual printer driver.

10. The program according to claim 9, characterized in that, if the capability information of the OS indicates that the first driver is available in the OS, the control means further performs control to continue the startup process.

11. The first driver is installed on the information processing device. The program according to claim 9, wherein if the OS capability information indicates that the first driver is not available in the OS, the control means further performs control to delete the first driver.

12. The program according to claim 9, characterized in that, if the capability information of the OS indicates that the first driver is unavailable in the OS, the information processing device is made to function as a display control means for displaying a first screen to prompt the user to automatically update the application.

13. The program according to claim 12, wherein the control means further performs control to update the application based on user operation on the first screen.

14. The program according to claim 12, wherein if the OS capability information indicates that the first driver is not available in the OS, the display control means further controls to display a second screen prompting the user to manually update the application.

15. The program according to claim 14, wherein the control means further performs control to issue a display instruction to display a web page for obtaining data necessary for updating the application, based on the user's operation on the second screen.

16. An information processing device that implements an OS and runs an application installer on the OS, An acquisition means for acquiring capability information of the OS from the OS, A control means that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform processing to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. An information processing device characterized by comprising:

17. An information processing device that implements an OS and executes applications on the said OS, An acquisition means for acquiring capability information of the OS from the OS, A control means that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. An information processing device characterized by comprising:

18. A control method for an information processing device that implements an OS and runs an application installer on the OS, An acquisition step of acquiring capability information of the OS from the OS, A control step that controls whether to install a first driver, which is a virtual printer driver provided by the vendor of the printing device, based on the capability information of the OS, or to perform a process to apply a second driver, which is a driver different from the first driver and is a standard driver for the OS, as the virtual printer driver. A control method for an information processing device, characterized by having the following features.

19. A control method for an information processing device that implements an OS and runs an application on the OS, An acquisition step of acquiring capability information of the OS from the OS, A control step that controls whether or not to perform processing to apply a second driver, which is a standard driver of the OS and different from a first driver, which is a virtual printer driver provided by the vendor of the printing device, as the virtual printer driver, based on the capability information of the OS. A control method for an information processing device, characterized by having the following features.