JP2018173998A - Information processing device, control method, and program - Google Patents

Information processing device, control method, and program Download PDF

Info

Publication number
JP2018173998A
JP2018173998A JP2018138424A JP2018138424A JP2018173998A JP 2018173998 A JP2018173998 A JP 2018173998A JP 2018138424 A JP2018138424 A JP 2018138424A JP 2018138424 A JP2018138424 A JP 2018138424A JP 2018173998 A JP2018173998 A JP 2018173998A
Authority
JP
Japan
Prior art keywords
driver
information
printer
update
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018138424A
Other languages
Japanese (ja)
Other versions
JP6545332B2 (en
Inventor
悟史 平川
Satoshi Hirakawa
悟史 平川
Original Assignee
キヤノン株式会社
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by キヤノン株式会社, Canon Inc filed Critical キヤノン株式会社
Priority to JP2018138424A priority Critical patent/JP6545332B2/en
Publication of JP2018173998A publication Critical patent/JP2018173998A/en
Application granted granted Critical
Publication of JP6545332B2 publication Critical patent/JP6545332B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device capable of installing a device driver that can operate on an updated OS without causing a user to be aware of it even in the case of performing update to an OS on which only a device driver of a specific architecture operates.SOLUTION: A host computer 1000 holds driver information including at least one of the device ID and the driver name of a printer driver 201 of an architecture which does not operate on a first OS used on an unupdated second OS before update to a first OS as unupdated driver information, and installs a device driver 201 of a specific architecture corresponding to the held driver information after performing update to the first OS.SELECTED DRAWING: Figure 3

Description

  The present invention relates to an information processing apparatus, a control method, and a program.

  Driver software (control command generation program) for controlling the device is created in accordance with a mechanism (architecture) supported by the OS at that time. For example, printer drivers for controlling image forming apparatuses are classified according to the type of OS system (64 bits or 32 bits) that can be operated, the files that are configured, and the corresponding API architecture. The operating systems that can be operated are also different.

  Depending on the OS, a plurality of types of printer drivers can be operated and installed. In the technique described in Patent Document 1, when the printer driver is upgraded, a printer driver (alternative driver) for a different OS can be updated at the same time as the printer driver for the own OS. With this technology, when a plurality of types of printer drivers are installed in a computer, they can be upgraded at a time.

Japanese Patent No. 5513858

  However, even if a plurality of types of printer drivers are installed in the computer, the installed printer drivers cannot always be used after the OS is updated. For this reason, if the system type or architecture corresponding to the updated OS is changed, the user may not be able to print. In this case, it takes time for the user to acquire the printer driver corresponding to the updated OS from the homepage of the image forming apparatus vendor and install the printer driver again.

  According to the present invention, even when the OS is updated to an OS that only operates a device driver of a specific architecture, the device driver that can operate on the updated OS can be installed without the user's awareness. An object is to provide an apparatus.

  An information processing apparatus according to an embodiment of the present invention is an information processing apparatus that can be updated to a first OS that operates only a device driver of a specific architecture, and is updated before the update to the first OS. A holding means for holding in a specific area driver information including at least one of hardware ID and model information of a device driver having an architecture that does not operate on the first OS used on the 2OS; and updating to the first OS Driver management means for installing a device driver having a specific architecture corresponding to the held driver information.

  According to the information processing apparatus of the present invention, even when the OS is updated to an OS that only operates a device driver having a specific architecture, a device driver that can operate with the updated OS is provided without the user being aware of it. Is possible.

1 is a diagram illustrating an overall configuration of a print system according to an embodiment of the present invention. It is a figure which shows the hardware constitutions of a host computer and a printer. It is a figure which shows the software structural example of a host computer. It is a figure which shows the software structural example of a server computer. It is a figure which shows the structure and example of apparatus ID. It is a flowchart explaining the process which hold | maintains driver information. 6 is a flowchart illustrating processing for installing a printer driver. 6 is a flowchart illustrating processing for installing a printer driver. It is a flowchart explaining the process which hold | maintains driver information. 6 is a flowchart illustrating processing for installing a printer driver. 6 is a flowchart illustrating processing for installing a printer driver. It is a figure which shows an example of a notification message. It is a flowchart which shows a driver search process.

Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
(First embodiment)
FIG. 1 is a diagram illustrating an example of the overall configuration of a print system according to the present embodiment.
The printing system includes at least a host computer 1000, a server computer 1500, and a printer 2000. The host computer 1000, the server computer 1500, and the printer 2000 are communicably connected via a network 3000 such as a LAN (Local Area Network) or a WAN (Wide Area Network). As long as the function of the present invention is executed, the connection form of the host computer 1000, the server computer 1500, and the printer 2000 is not limited to this, and may be a local connection. Further, the host computer 1000, the server computer 1500, and the printer 2000 may be a single device or a system composed of a plurality of devices as long as the functions of the present invention are executed.

FIG. 2 is a diagram illustrating an example of a hardware configuration of the host computer and the printer.
In FIG. 2, the host computer 1000 includes a CPU 1 that performs document and image processing based on a program processing program stored in the ROM 3 or a document processing program stored in the external memory 11. Further, the CPU 1 comprehensively controls each printer 2000 connected to the system bus 4.

  The program ROM of the ROM 3 or the external memory 11 stores an OS (operating system) that is a control program for the CPU 1. The font ROM of the ROM 3 or the external memory 11 stores font data and the like used for document processing. The data ROM of the ROM 3 or the external memory 11 stores various data used when processing documents and images. The RAM 2 functions as a main memory and work area for the CPU 1.

  A keyboard controller (KBC) 5 controls key input from a keyboard 9 or a pointing device (not shown). A CRT controller (CRTC) 6 controls display on a CRT display (CRT) 10. A disk controller (DKC) 7 controls access to an external memory 11 such as a hard disk (HDD) that stores a boot program, various applications, font data, a printer driver, and the like. A printer controller (PRTC) 8 is connected to the printer 2000 via the bidirectional interface 30 and executes communication control processing with the printer 2000.

  Note that the CPU 1 executes, for example, outline font development (rasterization) processing on the display information RAM set on the RAM 2 to enable WYSIWYG on the CRT 10. The CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing. When executing printing, the user can open a window relating to print settings, and set the print processing method for the printer driver, including printer settings and print mode selection.

  The server computer 1500 is also configured as a single server device or cluster server device having the same hardware configuration as the host computer 1000 described in FIG.

  The printer 2000 is controlled by the CPU 12. The CPU 12 operates based on a program ROM stored in the ROM 13 or a control program stored in the external memory 14. The CPU 12 outputs an image signal as output information to a printing unit (printer engine) 17 connected to the system bus 15 via the printing unit I / F 16. Further, a control program of the CPU 12 is stored in the program ROM of the ROM 13. The font ROM of the ROM 13 stores font data and the like used when generating the output information described above. When the printer 2000 is a printer that does not have an external memory 14 such as a hard disk, information used by the host computer 1000 is stored in the data ROM of the ROM 13.

  The CPU 12 can communicate with the host computer 1000 via the input unit 18 and can notify the host computer 1000 of information in the printer 2000 and the like. The input unit 18 includes a switch for operating the operation panel 21 by the user, an LED display, and the like. The RAM 19 functions as a main memory of the CPU 12 and a work area. The RAM 19 is also used as a development area for output information, a storage area for environmental data, and the like.

  The external memory 14 is connected to the printer 2000 as an option. The external memory 14 stores font data, an emulation program, form data, a program for interpreting printer control languages having different language systems, printer mode setting information input from the operation panel 21, and the like. Access to the external memory 14 is controlled by a memory controller (MC) 20. The external memory 14 is not limited to one, and a plurality of external memories 14 may be provided.

FIG. 3 is a diagram illustrating an example of a software configuration of the host computer.
The plug-and-play detection unit 100 detects the printer 2000 connected through an interface such as a universal serial bus (USB) or Web Service on Devices (WSD). The device ID acquisition unit 101 sends a device ID acquisition request to the printer 2000 detected by plug and play, and acquires a device ID. The device ID will be described later.

  The driver search unit 102 searches for the device control application 200 and the printer driver 201 corresponding to the acquired device ID. It should be noted that the search range of the driver search unit 102 is not limited to the host computer 1000 but is also performed for the server computer 1500 determined in advance. The driver installation processing unit 103 performs installation processing of the device control application 200 and the printer driver 201 found by the driver search unit 102.

  The driver classification determination unit 104 acquires various information about the device control application 200 and the printer driver 201 installed in the host computer 1000. For example, the driver classification determination unit 104 acquires a device ID corresponding to the printer driver 201, a printer driver name (model information), and associated printer queue information (port information, printer queue name, print setting information, and the like). To do. In addition, the driver classification determination unit 104 also acquires architecture information such as configured files and corresponding APIs on which the installed device control application 200 and the printer driver 201 operate, and can operate on the currently operating OS. Judge whether or not. The driver information holding unit 105 holds various information about the device control application 200 and the printer driver 201 acquired by the driver classification determination unit 104 in the data ROM of the ROM 3 or the external memory 11.

  The device control application 200 is an application corresponding to each model of the printer 2000, and is an application having a management function of the printer 2000 and the printer driver 201, and a printing, fax, and scanning function for the printer 2000. The device control application 200 monitors whether the printer driver 201 is installed as a management function, monitors the processing status of the printer driver 201, and the like. The device control application 200 also monitors the processing status of the printer 2000 and the remaining status of consumables such as paper, ink, and toner. The device control application 200 corresponds to both or one of model identification information (MDL) and compatibility identification information (CID) described later in a plug-and-play system using a device ID.

  The printer driver 201 is a printer driver corresponding to each model of the printer 2000. In a plug-and-play system that uses a device ID, the model identification information (MDL) and / or the compatibility identification information (CID) are either or both. Correspond. The functions and capabilities differ for each printer driver, and are classified according to the type of OS system to be operated, the files to be configured, the architecture of the corresponding API, etc., and the OS that can be operated is also different.

  The device control application 200 or the printer driver 201 “corresponds to the device ID” means that it corresponds to either or both of the model identification information (MDL) and the compatibility identification information (CID) as described above. Show. The device control application 200 and the printer driver 201 are provided by the same vendor. Further, it is assumed that the host computer 1000 can hold the printer driver 201 bundled with the OS or introduced later.

FIG. 4 is a diagram showing an example of the software configuration of the server computer.
The server computer 1500 includes a driver management unit 150 for responding to the driver search unit 102 of the host computer 1000. The server computer 1500 provides the device control application 200 and the printer driver 201 to the host computer 1000 via the driver management unit 150. The external memory 11 of the server computer 1500 stores a device control application 200 and a printer driver 201 corresponding to a plurality of types of OSs operating on the host computer 1000.

In response to the inquiry from the driver search unit 102, the driver management unit 150 provides an optimal one from the stored device control application 200 and printer driver 201. The determination as to whether or not the device is optimal is made based on whether or not the device ID and name at the time of inquiry match, the operating OS type matches, and the like.
The server computer 1500 can provide the latest device control application and printer driver to the host computer 1000 by holding the latest device control application and printer driver provided by each printer vendor.

FIG. 5 is a diagram illustrating a configuration of a device ID (hardware ID) and an example thereof.
As shown in FIG. 5, the device ID includes the following elements as main elements, and is expressed in the form of character string information. “MANUFACTURER” (hereinafter referred to as MFG) indicating the manufacturer information of the device. “COMMAND SET” (hereinafter referred to as CMD) indicating a command set supported by the device. “MODEL” (hereinafter referred to as MDL) indicating model identification information of the device. “CLASS” (hereinafter referred to as CLS) indicating the class information of the device. “COMPATIBLE ID” (hereinafter referred to as CID) indicating compatible identification information of the family or class to which the device belongs. The provision of IEEE1284 requires provision of MFG, MDL, and CMD, but provision of CLS and CID is optional.

  FIG. 5B shows an example of the device ID. In the device shown in this example, the manufacturer is “ABC”, supports “PCL” as a command set, and the model name is “M123”. Further, the device shown in this example has a class “PRINTER”, and the compatibility identification information is given the name “Class 1”.

FIG. 6 is a flowchart for explaining processing in which the OS retains the driver information of the installed printer driver before the OS is updated.
In step S <b> 601, the OS driver classification determination unit 104 checks whether there is a printer driver installed in the host computer 1000. If there is an installed printer driver, the process advances to step S602; otherwise, the process ends.
In step S602, the driver classification determination unit 104 acquires device ID and driver name information corresponding to the printer driver confirmed in step S601.

In step S603, the driver classification determination unit 104 acquires printer queue information (port information, printer queue name, print setting information) associated with the printer driver confirmed in step S601.
In step S604, the driver information holding unit 105 holds the information acquired in steps S602 to S603 as pre-update driver information in a specific area, for example, the data ROM of the ROM 3 or the external memory 11. Note that the pre-update driver information does not need to include all the information acquired in S602 to S603, and may include, for example, at least one of a device ID and a driver name.

Table A is a table showing an example of pre-update driver information.

FIGS. 7 and 8 are flowcharts for explaining processing for installing a printer driver optimal for the updated OS environment after the OS is updated.
This process is performed with reference to the previously held driver information described with reference to FIG. This process is executed by the OS immediately after the OS is updated.

In step S701, the driver classification determination unit 104 lists the printer drivers 201 installed in the host computer 1000.
In step S702, the driver classification determination unit 104 determines whether each printer driver 201 listed in step S701 is operable on the currently operating OS. Specifically, the determination is made based on the OS system type on which the printer driver 201 operates, the configuration file, the architecture information such as the corresponding API (application programming interface), and the version of the currently operating OS. Whether or not the printer driver 201 operates on a certain version of the OS is known in advance from the specifications of the OS, and a determination is made in the comparison.

In step S703, the driver classification determination unit 104 determines whether there is a printer driver 201 that cannot operate on the OS currently operating in step S702. If it is determined that there is no inoperable printer driver 201, the process proceeds to step S706. If it is determined that there is no printer driver 201, the process proceeds to step S704.
In step S704, the driver classification determination unit 104 acquires a device ID and a driver name corresponding to the printer driver 201 determined to be inoperable on the currently operating OS in step S702.
In step S705, the driver classification determination unit 104 adds the device ID and driver name acquired in step S704 to the installed driver candidate list.

Table B is a table showing an example of the installed driver candidate list.

In step S706, the driver classification determination unit 104 determines whether the installed printer driver 201 listed in step S701 and the pre-update driver information (table A) held in step S604 of the process illustrated in FIG. Make a comparison.
In step S707, the driver classification determination unit 104 determines whether there is a printer driver 201 deleted as a result of the OS update as a result of the comparison in step S706. Specifically, the driver classification determination unit 104 determines whether the printer driver 201 listed in the pre-update driver information exists in the printer driver 201 listed in step S701. Then, the driver classification determination unit 104 determines that the printer driver 201 that did not exist has been deleted. If it is determined in step S707 that there is a deleted printer driver, the process proceeds to step S708. On the other hand, if all the printer drivers 201 held in the pre-update driver information exist in the printer drivers 201 listed in step S701, that is, if it is determined that there is no deleted printer driver, step S710 is performed. Proceed to

In step S708, the driver classification determination unit 104 acquires the device ID and driver name corresponding to the printer driver 201 determined to have been deleted in step S707 from the pre-update driver information.
In step S709, the driver classification determination unit 104 adds the device ID and driver name acquired in step S708 to the installed driver candidate list.

In step S710, the driver classification determination unit 104 checks whether or not one or more printer drivers 201 are registered in the install driver candidate list. If they are registered, the process proceeds to step S711. If not registered, the process ends.
In step S711, the driver search unit 102 searches for the printer driver 201 corresponding to the device ID or driver name held in the installed driver candidate list. The search process is performed by the driver search unit 102 inquiring of the driver management unit 150 of the server computer 1500. Details of the search process will be described later. In addition, the driver search unit 102 downloads the searched printer driver 201 to the host computer 1000.

In step S712, the driver installation processing unit 103 performs installation processing of the printer driver 201 downloaded to the host computer 1000 in step S711.
In step S713, the driver installation processing unit 103 sets a printer queue to be associated with the printer driver 201 installed in step S712. Specifically, the driver installation processing unit 103 identifies the printer queue to be set from the device ID and driver name used when searching for the printer driver 201 installed in step S712. For specifying the printer queue, the driver information before update described above is referred to.

  For example, it is assumed that the device ID used for the search in step S711 is “MDL: M123” “CID: None” and the driver name is “PD123 V3”. Further, it is assumed that the pre-update driver information to be referenced is the information described in Table A. In this case, there are two printer queues to be set, with queue names (printer names) “M123 (Floor1)” and “M123 (Floor2)”.

  If a printer queue having the specified queue name already exists on the host computer 1000, the port and print settings in the pre-update driver information described in Table A are set for the printer queue. Then, the printer driver 201 installed in the printer queue is associated. If the printer queue having the specified queue name does not exist on the host computer 1000, a new printer queue is created using the queue name, port, and print settings of the driver information before update. Then, the printer driver 201 installed in the created printer queue is associated.

  In step S714, the driver installation processing unit 103 checks whether there is a printer driver 201 that could not be searched in step S711, that is, whether there is a corresponding printer driver 201 in the server computer 1500. If there is a printer driver 201 that could not be searched, the process proceeds to step S715. If there is no printer driver 201 that could not be searched, the process ends.

  In step S715, the driver installation processing unit 103 notifies the user that there is a printer driver 201 that cannot be used after the OS update among the printer drivers 201 that can be used before the OS update. FIG. 12 is an example of a message to be notified. The timing for displaying such a message may be immediately after the OS update, or may be the timing when the printer management folder is opened for the first time after the OS update. Any means that can notify the user, such as saving the same contents as a log file, instead of displaying a message, may be used.

  By performing the processing of the flowcharts shown in FIGS. 6 to 8, the OS is updated, and even if the installed printer driver does not operate on the updated OS, it operates on the updated OS. A printer driver can be automatically provided.

FIG. 13 is a flowchart for explaining the driver search process performed by the driver management unit of the server computer in response to the inquiry performed by the driver search unit in S711.
When making an inquiry to the driver management unit 150, the driver search unit 102 notifies the OS version of the host computer 1000, the device ID corresponding to the printer driver 201 that performs the search, and the driver name. The device ID and the driver name are those listed in the installed driver candidate list (Table B). The driver management unit 150 performs a search process for the printer driver 201 based on the notified OS version, device ID, and driver name of the host computer 1000.

In step S1101 and step S1102, the driver management unit 150 acquires the OS version, device ID, and driver name of the host computer 1000 notified from the driver search unit 102.
In step S1103, the driver management unit 150 checks whether or not the server computer 1500 has the printer driver 201 corresponding to the notified OS version and model identification information (MDL). Specifically, this is realized by the driver management unit 150 confirming (searching) whether or not the corresponding printer driver 201 exists in the external memory 11 of the server computer 1500.

In step S1104, the driver management unit 150 determines whether or not the printer driver 201 searched in S1103 exists, that is, whether or not there is a printer driver 201 corresponding to the notified OS version and MDL. If the corresponding printer driver 201 exists, the process proceeds to step S1109, and if not, the process proceeds to step S1105.
In step S <b> 1105, the driver management unit 150 confirms whether the server driver 1500 has a printer driver 201 corresponding to the notified OS version and compatibility identification information (CID).

  In step S1106, the driver management unit 150 determines whether the printer driver 201 searched in step S1105 exists. That is, it is determined whether or not the printer driver 201 corresponding to the notified OS version and CID exists. If the corresponding printer driver 201 exists, the process proceeds to step S1109, and if it does not exist, the process proceeds to step S1107.

In step S <b> 1107, the driver management unit 150 confirms whether or not the server computer 1500 has the printer driver 201 corresponding to the notified OS version and driver name.
In step S1108, the driver management unit 150 determines whether the printer driver 201 searched in step S1107 exists. That is, it is determined whether there is a printer driver 201 corresponding to the notified OS version and driver name. If there is a matching printer driver 201, the process proceeds to step S1109. If not, the process proceeds to step S1110.

In step S1109, the driver management unit 150 notifies the driver search unit 102 of the storage location of the printer driver 201 existing in the server computer 1500, and ends the process.
On the other hand, in S1110, if the printer driver 201 corresponding to the inquiry from the driver search unit 102 does not exist in the server computer 1500, the driver management unit 150 notifies the driver search unit 102 that the corresponding printer driver does not exist. To do. This means that the host computer 1000 can operate and the printer driver 201 corresponding to the model identification information (MDL) or the compatible identification information (CID) or the driver name has not been found.

  As described above, according to the present embodiment, even when the OS is updated to an OS that only operates a device driver having a specific architecture, the device driver that can operate on the updated OS can be installed without the user being aware of it. It becomes possible to do.

(Second Embodiment)
Next, an information processing apparatus according to the second embodiment of the present invention will be described.
The overall configuration of the printing system, the hardware configuration of the host computer and the printer, the software configuration of the host computer, the software configuration of the server computer, and the configuration of the device ID in this embodiment are the same as those shown in the first embodiment. . Specifically, FIG. 1 shows the overall configuration of the print system, FIG. 2 shows the hardware configuration of the host computer and printer, FIG. 3 shows the software configuration of the host computer, FIG. 4 shows the software configuration of the server computer, and FIG. The configuration is the same as that shown in FIG.

FIG. 9 is a flowchart for explaining processing in which the device control application holds driver information of the installed printer driver before the OS is updated.
In step S801, the device control application 200 holds version information of the operating OS. The OS version information can be obtained by using an API for obtaining version information prepared by the OS.

In step S <b> 802, the device control application 200 checks whether there is a printer driver installed in the host computer 1000. If there is an installed printer driver, the process advances to step S803; otherwise, the process ends.
In step S803, the device control application 200 acquires device ID and driver name information corresponding to the printer driver confirmed in step S802.

In step S804, the device control application 200 acquires printer queue information (port information, printer queue name, print setting information) associated with the printer driver confirmed in step S802.
In step S805, the device control application 200 holds the information acquired in steps S803 to S804 as pre-update driver information (Table A).

When the device control application 200 is not installed, the device control application 200 is forcibly installed before the OS is updated. Installation of the device control application is performed by the driver installation processing unit 103. An outline of installation of the device control application 200 is described below.
The driver installation processing unit 103 confirms the presence or absence of the printer driver 201 installed in the host computer 1000. If the printer driver 201 exists, the device ID information corresponding to the printer driver 201 is acquired. The driver search unit 102 searches the server computer 1500 for the device control application 200 corresponding to the acquired device ID. The driver installation processing unit 103 performs installation processing of the device control application 200 searched by the driver search unit 102.

FIGS. 10 and 11 are flowcharts for explaining processing for installing a printer driver optimal for the updated OS environment after the OS is updated.
This process is performed with reference to the previously held driver information described with reference to FIG. This process is executed by the device control application 200 when the device control application 200 is activated for the first time after OS update.

In step S901, the device control application 200 confirms whether or not the device control application 200 is activated for the first time after the update of the OS. Specifically, the device control application 200 compares the OS version held in step S801 of the process shown in FIG. 9 with the current OS version, and updates the OS if the OS versions are different. It is determined that it has been activated for the first time later, and the process proceeds to step S902. On the other hand, if the compared OS versions are the same, the process ends. In other words, the device control application 200 can detect whether or not the OS has been updated based on the current OS information and the OS information held in the process of FIG.
In step S902, the device control application 200 lists the printer driver 201 installed in the host computer 1000.

  In step S903, the device control application 200 determines whether the printer driver 201 listed in step S902 is operable on the currently operating OS. Specifically, the determination is made by making an inquiry to the OS driver classification determination unit 104. The driver classification determination unit 104 makes a determination based on the OS system type on which the printer driver 201 operates, the configured files, architecture information such as the corresponding API, and the version of the currently operating OS. Whether or not the printer driver 201 operates on a certain version of the OS is known in advance from the specifications of the OS, and a determination is made in the comparison.

In step S904, the device control application 200 determines whether or not there is a printer driver 201 that cannot be operated on the OS currently operating in step S903. If it is determined that there is no inoperable printer driver 201, the process proceeds to step S907. If it is determined that there is no printer driver 201, the process proceeds to step S905.
In step S905, the device control application 200 acquires a device ID and a driver name corresponding to the printer driver 201 determined to be inoperable on the currently operating OS in step S903.

In step S906, the device control application 200 adds the device ID and driver name acquired in step S905 to the installed driver candidate list (Table B).
In step S907, the device control application 200 compares the installed printer driver 201 listed in step S902 with the pre-update driver information (Table A) held in step S805 of the process illustrated in FIG. I do.

  In step S908, the device control application 200 determines whether there is a printer driver 201 deleted as a result of the OS update as a result of the comparison in step S907. Specifically, the device control application 200 determines whether or not the printer driver 201 listed in the pre-update driver information exists in the printer driver 201 listed in step S902. Then, the device control application 200 determines that the printer driver 201 that did not exist has been deleted. If it is determined in step 908 that there is a deleted printer driver, the process advances to step S909. On the other hand, if all the printer drivers 201 stored in the pre-update driver information are present in the printer drivers 201 listed in step S902, that is, if it is determined that there is no deleted printer driver, step S911 is performed. Proceed to

In step S909, the device control application 200 acquires the device ID and driver name corresponding to the printer driver 201 determined to have been deleted in step S908 from the pre-update driver information.
In step S910, the device control application 200 adds the device ID and driver name acquired in step S909 to the installed driver candidate list.

In step S911, the device control application 200 checks whether or not one or more printer drivers 201 are registered in the install driver candidate list. If they are registered, the process proceeds to step S912. If not registered, the process ends.
In step S912, the device control application 200 searches for the printer driver 201 corresponding to the device ID or driver name held in the installed driver candidate list. The search process is performed when the device control application 200 makes an inquiry to the driver search unit 102. Details of the processing are the same as the processing of FIG.

  In the search process, the driver management unit 150 of the server computer 1500 notifies the driver search unit 102 of the storage location of the printer driver 201 corresponding to the inquiry from the driver search unit 102. The driver search unit 102 downloads the corresponding printer driver 201 to the host computer 1000 from the notified storage location on the server computer 1500. If the printer driver 201 corresponding to the inquiry of the driver search unit 102 does not exist in the server computer 1500, the driver management unit 150 notifies the driver search unit 102 that the corresponding printer driver 201 does not exist. This means that the host computer 1000 can operate and the printer driver 201 corresponding to the model identification information (MDL) or the compatible identification information (CID) or the driver name has not been found. The driver search unit 102 answers the inquiry of the device control application 200 with the result of the search process as described above.

  In step S913, the device control application 200 performs installation processing of the printer driver 201 downloaded to the host computer 1000 in step S912. The installation process is performed when the device control application 200 makes an inquiry to the driver installation processing unit 103.

  In step S914, the device control application 200 sets a printer queue associated with the printer driver 201 installed in step S913. Specifically, the device control application 200 identifies the printer queue to be set from the device ID and driver name used when searching for the printer driver 201 installed in step S913. For specifying the printer queue, the driver information before update described above is referred to.

  For example, it is assumed that the device ID used for the search in step S912 is “MDL: M123” “CID: None” and the driver name is “PD123 V3”. Further, it is assumed that the pre-update driver information to be referenced is the information described in Table A. In this case, the printer queues to be set are two queue names “M123 (Floor1)” and “M123 (Floor2)”.

  If a printer queue having the specified queue name already exists on the host computer 1000, the port and print settings in the pre-update driver information described in Table A are set for the printer queue. Then, the printer driver 201 installed in the printer queue is associated. If the printer queue having the specified queue name does not exist on the host computer 1000, a new printer queue is created using the queue name, port name, and print settings of the driver information before update. Then, the printer driver 201 installed in the created printer queue is associated.

In step S915, the device control application 200 confirms whether there is a printer driver 201 that could not be searched in step S912, that is, whether the corresponding printer driver 201 exists in the server computer 1500. If there is a printer driver 201 that could not be searched, the process proceeds to step S916. If there is no printer driver 201 that could not be searched, the process ends.
In step S916, the device control application 200 notifies the user that there is a printer driver 201 that cannot be used after the OS update among the printer drivers 201 that can be used before the OS update. FIG. 12 is an example of a message to be notified.

  As described above, by performing the processes shown in FIGS. 9 to 11, the OS is updated, and even if the installed printer driver does not operate in the updated OS, the updated OS Can automatically provide printer drivers that work with

(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

  As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.

The present invention provides an information processing apparatus that can be set up so that a user can use a device in an updated OS without being aware of the user even when the OS is updated to an OS that only operates a device driver having a new architecture. The purpose is to do.

An information processing apparatus according to an embodiment of the present invention is an information processing apparatus on which an OS (operating system) operates, does not support the operation of a device driver of the first architecture, and is the first architecture Before updating to a new version of an OS that supports the operation of a device driver of a different second architecture, the hardware ID or model information of the device driver of the first architecture used on the OS before the update And a driver for holding the second architecture device driver based on the held driver information after the OS has been updated to the new version. Set up your device for use via Control means .

FIG. 5 is a diagram illustrating a configuration of a device ID (hardware ID) and an example thereof.
As shown in FIG. 5 (A), the device ID is configured by the following elements as a main component, it is expressed in the form of character string information. “MANUFACTURER” (hereinafter referred to as MFG) indicating the manufacturer information of the device. “COMMAND SET” (hereinafter referred to as CMD) indicating a command set supported by the device. “MODEL” (hereinafter referred to as MDL) indicating model identification information of the device. “CLASS” (hereinafter referred to as CLS) indicating the class information of the device. “COMPATIBLE ID” (hereinafter referred to as CID) indicating compatible identification information of the family or class to which the device belongs. The provision of IEEE1284 requires provision of MFG, MDL, and CMD, but provision of CLS and CID is optional.

Claims (12)

  1. An information processing apparatus that can be updated to a first OS that operates only a device driver of a specific architecture,
    Before updating to the first OS, driver information including at least one of hardware ID and model information of a device driver of an architecture that does not operate on the first OS used on the second OS before the update is stored in a specific area. Holding means for holding in,
    An information processing apparatus comprising: a driver management unit configured to install a device driver having a specific architecture corresponding to the held driver information after the update to the first OS.
  2.   The information processing apparatus according to claim 1, wherein the holding unit is realized as a function of the second OS.
  3.   The information processing apparatus according to claim 1, wherein the holding unit is realized as a function of an application that manages a device driver that operates on the second OS.
  4.   The information processing apparatus according to claim 3, wherein the application is provided from the same vendor as the device driver.
  5. The holding means as a function of the application further holds OS information together with the driver information,
    5. The apparatus according to claim 3, further comprising a detection unit configured to detect an update to the first OS based on current OS information and the retained OS information at the time of startup as the function of the application. The information processing apparatus described.
  6. The holding unit further holds a printer name, port information, and print setting information,
    The driver management unit, after installing the device driver, sets a printer queue to be associated with the device driver based on the held printer name, port information, and print setting information. The information processing apparatus according to any one of 1 to 5.
  7.   The information processing apparatus according to claim 1, wherein the hardware ID includes model identification information and compatibility identification information.
  8.   The information processing apparatus according to claim 7, wherein the device driver to be installed is a device driver searched by the model identification information, the compatibility identification information, or the model information.
  9. A determination means for determining whether or not there is a device driver that has been deleted due to the update to the first OS among the device drivers used on the second OS before the update;
    9. The device according to claim 1, wherein the driver management unit installs a device driver having a specific architecture corresponding to the driver information of the device driver that is determined to be deleted by the determination unit. Information processing device.
  10. The driver management means informs the user that there is a device driver that does not operate after the update to the first OS when there is no device driver of a specific architecture corresponding to the held driver information. The information processing apparatus according to claim 1, wherein notification is performed.
  11. A method for controlling an information processing apparatus capable of being updated to a first OS that operates only a device driver of a specific architecture,
    Before updating to the first OS, driver information including at least one of hardware ID and model information of a device driver of an architecture that does not operate on the first OS used on the second OS before the update is stored in a specific area. The process of holding in,
    And a step of installing a device driver having a specific architecture corresponding to the held driver information after the update to the first OS is performed.
  12.   The program for functioning a computer as each means with which the information processing apparatus of any one of Claims 1 thru | or 10 is provided.
JP2018138424A 2018-07-24 2018-07-24 Information processing apparatus, control method, and program Active JP6545332B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018138424A JP6545332B2 (en) 2018-07-24 2018-07-24 Information processing apparatus, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018138424A JP6545332B2 (en) 2018-07-24 2018-07-24 Information processing apparatus, control method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015148344 Division 2015-07-28

Publications (2)

Publication Number Publication Date
JP2018173998A true JP2018173998A (en) 2018-11-08
JP6545332B2 JP6545332B2 (en) 2019-07-17

Family

ID=64106738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018138424A Active JP6545332B2 (en) 2018-07-24 2018-07-24 Information processing apparatus, control method, and program

Country Status (1)

Country Link
JP (1) JP6545332B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011793A (en) * 2005-06-30 2007-01-18 Canon Inc Peripheral device control system, its control method, information processor, computer program, and computer readable storage medium
JP2008015794A (en) * 2006-07-06 2008-01-24 Konica Minolta Business Technologies Inc Program management device, program management system, and program providing method
JP2010102500A (en) * 2008-10-23 2010-05-06 Canon Inc Printing system, information processor, method of controlling the same, and program
JP2014160318A (en) * 2013-02-19 2014-09-04 Canon Inc Information processor and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011793A (en) * 2005-06-30 2007-01-18 Canon Inc Peripheral device control system, its control method, information processor, computer program, and computer readable storage medium
JP2008015794A (en) * 2006-07-06 2008-01-24 Konica Minolta Business Technologies Inc Program management device, program management system, and program providing method
JP2010102500A (en) * 2008-10-23 2010-05-06 Canon Inc Printing system, information processor, method of controlling the same, and program
JP2014160318A (en) * 2013-02-19 2014-09-04 Canon Inc Information processor and method thereof

Also Published As

Publication number Publication date
JP6545332B2 (en) 2019-07-17

Similar Documents

Publication Publication Date Title
US20190310811A1 (en) Printer and server
JP4027102B2 (en) Information processing apparatus, information processing method, and control program
US7552432B2 (en) Information processing apparatus, information processing method, and control program
JP3683387B2 (en) Network computer built-in printer and computer network system provided with the same
JP4732113B2 (en) Information processing apparatus, information processing method, program, and storage medium
EP1398694B1 (en) Information processing method
US7505164B2 (en) Print control system, information processing apparatus, function providing apparatus, print function display method, computer program, and computer-readable recording medium
US9052850B2 (en) Printer driver, storage medium, and information processing apparatus
RU2338240C2 (en) Data processing device and method and program to control this device
EP2317456B1 (en) Method, apparatus and program to include user name information to print data
US7232267B2 (en) Information processing apparatus, information processing method, and control program
US7619758B2 (en) Information processing apparatus and method of controlling same, print control apparatus, method and program, and storage medium with transmission of installation set including printer driver and function expansion module or printer driver without function expansion module
JP4912214B2 (en) Information processing apparatus and object display method
JP5460200B2 (en) Print control apparatus, print control method, and computer program
CN101872291B (en) Information processing apparatus, printing system, and printer driver setting method
JP4847212B2 (en) Information processing apparatus, print control method, program, and computer-readable storage medium
US8498002B2 (en) Information processing apparatus capable of customizing device driver, information processing method, and control program
US7895609B2 (en) Method for installing driver software, information processing apparatus that employs the method, computer program for performing the method, and storage medium for storing the computer program
US7693968B2 (en) Printing system, information processing apparatus, installation method, and program for implementing the method
JP2006309726A (en) Information processing apparatus for customizing printer driver program, and method of customizing printer driver program
CN102473099B (en) Information processing apparatus and control method
JP3720740B2 (en) Distributed printing system, distributed printing control method, storage medium, and program
JP4908731B2 (en) Information processing apparatus, information processing method, and information processing program
JP2008152674A (en) Information processing apparatus, method for controlling the same, and computer program
CN100545800C (en) Messaging device and control method thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190618

R151 Written notification of patent or utility model registration

Ref document number: 6545332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151