Program, server, and method for controlling the same

By prioritizing drivers with certificates on a server, the program automates driver installation on client computers, reducing unnecessary confirmation screens and improving user convenience.

JP2026109782APending Publication Date: 2026-07-02CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-12-20
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Conventional driver installation processes in client computers often result in repeated confirmation screens due to multiple drivers available, causing inconvenience to users.

Method used

A program and method for installing drivers on a server that prioritizes drivers with certificates, ensuring that drivers with the highest priority and appropriate certificates are installed directly on client computers, minimizing the need for user confirmation screens.

Benefits of technology

This approach reduces the display of confirmation screens during driver installation, enhancing user convenience by automating the selection of appropriate drivers based on priority and certificate availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026109782000001_ABST
    Figure 2026109782000001_ABST
Patent Text Reader

Abstract

One issue is that when installing the driver for using a shared printer on the server, a confirmation screen for installation may appear, which is inconvenient. [Solution] A program for installing drivers on a server 1000 that can be used to control peripheral devices 2000 shared with a client computer 3000 connected to a network, characterized in that if there is a driver on the server computer for which a certificate is installed on the server and the driver has the highest priority, the program will install the driver, and if there is no driver on the server for which a certificate is installed, the program will install a driver with a higher priority.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program for installing a driver for peripheral devices, a server on which the program is installed, and a control method therefor.

Background Art

[0002] A typical printing control program for controlling a printer as a peripheral device is a printer driver for Windows (registered trademark). The driver set of the printer driver for Windows (registered trademark) includes a catalog file (CAT). A digital signature can be attached to the catalog file to prevent tampering with the driver (see, for example, Patent Document 1). A digital signature is an encryption of the hash value of a file to which the signature is attached using a private key, and is used to prove whether the file has been tampered with or not. A certificate is attached to the digital signature, and the hash value can be extracted by decrypting it with the public key in the certificate. Then, by comparing the hash value with the hash value of the actual catalog file, the legitimacy of the catalog file can be proved, and it is possible to verify whether the contents of each file in the driver set have been changed. On the other hand, when installing a printer driver on an information processing device, there is an OS (operating system) that displays a confirmation screen for asking the user whether to install it depending on the issuer of the digital signature attached to the catalog file. This is the same in a print server system in which a host PC connected to a printer is used as a print server and printing is performed from a client PC connected via a network to the host PC via the print server. Patent Document 1 discloses, for example, that in Microsoft's Point&Print (registered trademark), a server PC transfers an installed printer driver to a client PC. Then, the client PC installs the transferred printer driver.

Prior Art Documents

[0003] [Patent Document 1] Japanese Patent Publication No. 2014-48956 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] With the conventional technology described above, a confirmation screen may appear during driver installation on the client computer. Even if the installation is permitted on the server PC during installation, the confirmation screen may reappear when installing the driver on the client computer, which presents a drawback in terms of convenience. Therefore, the present invention aims to provide a mechanism for installing drivers on a server computer that minimizes the display of confirmation screens to the user when there are multiple drivers available for installation of peripheral device drivers. [Means for solving the problem]

[0005] The present invention is a program for installing drivers on a server that can be used to control peripheral devices shared with client computers connected to a network, characterized in that if there is a driver on the server computer for which a certificate is installed on the server and the driver has the highest priority, the program will install the driver, and if there is no driver on the server for which a certificate is installed, the program will install a driver with a higher priority. [Effects of the Invention]

[0006] According to the present invention, when installing drivers for peripheral devices on a server computer, it is possible to install drivers that minimize the display of confirmation screens to the user when there are multiple drivers. [Brief explanation of the drawing]

[0007] [Figure 1] Diagram showing the overall configuration of the print server system. [Figure 2] Diagram showing the hardware configuration of the computer in the embodiment. [Figure 3] A diagram showing the software configuration of the computer of the present invention in an embodiment. [Figure 4] This diagram illustrates the printer driver installation process for the print server system of the embodiment. [Figure 5] Diagram showing the file structure of the driver installation set in the embodiment. [Figure 6] Diagram showing a security warning screen displayed by the OS of the embodiment. [Figure 7] Diagram showing the screen transitions displayed by the installer in the embodiment. [Figure 8] This diagram shows the processing flow for determining the display state of checkboxes in the embodiment. [Figure 9] Example of a driver selection screen in an embodiment [Figure 10] Diagram showing the driver determination process flow in the embodiment. [Figure 11] A diagram showing the screen transitions displayed by the installer in another embodiment. [Figure 12] A diagram showing the flow of the alternative driver determination process in another embodiment. [Figure 13] Example of driver selection screen in another embodiment [Modes for carrying out the invention]

[0008] The embodiments for carrying out the present invention will be described below with reference to the drawings. Furthermore, the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are necessarily essential to the solution of the invention. Also, in the following embodiments, a printer is used as an example of a peripheral device, but any peripheral device that can be connected to a computer, such as a scanner or facsimile, may be used.

[0009] [Embodiment 1] • Overall configuration of the print server system Figure 1 shows the overall configuration of the print server system of this embodiment, in which a print server 1000, a peripheral device (printer 2000), and a client computer 3000 are connected. The print server 1000, printer 2000, and client computer 3000 are each connected to a network and can communicate with each other. Here, the print server 1000 and printer 2000 may be connected by another connection method such as USB connection. In the print server system, the print server 1000 itself can print using the printer 2000. The print server 1000 can also act as an intermediary between the client computer 3000 (an external device that supplies print data) and the printer 2000. Specifically, the print server 1000 outputs print data input from the client computer 3000 to the printer 2000. The print server 1000 also has at least one program that implements the printing function built in, and at the same time, it has a printer driver that mediates printing from the application to the printer 2000.

[0010] Here, the user who uses the client computer 3000 must install the same printer driver incorporated in the print server 1000 on the client computer 3000 in order to print using the printer 2000. This is because the print data generated by the application on the client computer 3000 needs to be mediated by the printer driver on the print server 1000 before being input to the printer 2000. Furthermore, in order to let the printer driver of the print server 1000 mediate the print data, it is necessary to let the same printer driver on the client computer 3000 mediate the print data from the application. Therefore, in the print server system of FIG. 1, it is necessary to install the same printer driver as the one installed on the print server 1000 on the client computer 3000. Hereinafter, the printer driver installation procedure in the print server system will be described later with reference to FIG. 3.

[0011] • Hardware configuration of print server and client PCs FIG. 2 is a block diagram of the hardware configuration of the print server 1000. Since the client computer 3000 also has a similar configuration, the print server 1000 will be described as a representative. The print server 1000 is entirely controlled by a control unit 1040 composed of a CPU 1041 and a memory 1042. The display unit 1010 indicates an output device such as a display, and the operation unit 1020 indicates an input device such as a mouse, a keyboard, or a touch panel. The storage unit 1030 is a storage medium such as a hard disk or an SSD, and stores various software necessary for the operation of the print server 1000. The OS 1110 and the driver described later are also stored in the storage unit 1030.

[0012] The network communication unit 1050 connects to the network and performs data input / output with external devices. The USB communication unit 1060 performs data input / output with an external device through a USB connection. The print server 1000 and the printer 2000 which is a peripheral device are connected via these network communication units 1050 or USB communication unit 1060. In addition, all the software processing in this embodiment is realized by loading the software stored in the storage unit 1030 into the memory 1042 in the control unit 1040 and executing it by the CPU 1041. Also, the network in this embodiment is a means for performing data input / output with an external device, and there is no need to communicate with an external server or the like. Note that CPU is the abbreviation of Central Processing Unit, and SSD is the abbreviation of Solid State Drive. Also, USB (registered trademark) is the abbreviation of Universal Serial Bus, and OS is the abbreviation of Operating System.

[0013] Software configuration (print server, client PC) Figure 3 is a block diagram of the software configuration of the print server 1000 and the client computer 3000. All of this software is stored in the storage unit 1030. The application 1100 refers to any software such as document creation software or spreadsheet software, and the driver installer 1210 described later is also one of the applications 1100. The OS 1110 is software that controls the basic operations of the print server 1000 and the client computer 3000. The OS 1110 has a driver installation control unit 1111 and a certificate management unit 1113, and further has data areas called a driver store 1112 and a certificate store 1114.

[0014] The driver installation control unit 1111 controls the installation of drivers provided externally to the OS 1110 into the OS 1110. Here, a driver is software used to control the printer 2000 from the print server 1000, and is generally provided by the vendor that manufactures the printer 2000. Installing a driver into the OS 1110 means adding the vendor-provided driver to the OS 1110 so that peripheral devices can be used from the print server 1000 under the management of the OS 1110. The driver installation control unit 1111 verifies the driver to be installed and stores it in the driver store 1112. Therefore, the driver store 1112 contains drivers for a wide variety of peripheral devices. The certificate management unit 1113 manages the certificates registered in OS1110. The certificate store 1114 is managed by the certificate management unit 1113 and stores various certificates used by the OS 1110. Here, a certificate proves the authenticity of a digital signature, and by using the public key contained in the certificate, a hash value can be extracted from the digital signature, thus proving that the signed file has not been tampered with.

[0015] Certificate information includes issuer, version information, serial number, public key, and expiration date. Certificates from issuers trusted by the administrator or user of print server 1000 are stored in certificate store 1114. On the other hand, when using printer 2000 connected to the print server on client computer 3000, the driver is installed using the Point&Print mechanism. With Point&Print, by specifying the printer published on print server 1000 from client computer 3000, the driver on print server 1000 is transferred directly to client computer 3000. The driver transferred to client computer 3000 undergoes the same processing as the driver installation process on the print server described above, making it possible to use printer 2000 on client computer 3000 as well. In other words, the driver installation control unit 1115 controls the installation of the driver transferred from print server 1000 to OS 1110, verifies the target driver, and stores it in driver store 1116. Furthermore, the certificate management unit 1117 stores the certificate verified by the driver installation control unit 1115 in the certificate store 1118. The printer driver installation process in the print server system will be explained below with reference to Figure 4.

[0016] • Printer driver installation process Figure 4 illustrates the printer driver installation process in a print server system. In S100, the client computer 3000 connects to a shared printer (for example, printer 2000) that will be shared with the print server 1000, via the driver installation control unit 1115. The driver installation control unit 1115 then issues a printer driver installation request for printer 2000 to the print server 1000. At this point, the print server 1000 can determine the operating environment of the client computer 3000 by receiving device information (such as the type of OS) related to the client computer 3000 via Point&Print.

[0017] In step S101, the driver installation control unit 1111 of the print server 1000 copies the printer driver installation set stored in the print server 1000 to the client computer 3000. This copy process is performed in cooperation with the driver installation control unit 1115 of the client computer 3000. In S102, the driver installation control unit 1115 of the client computer 3000 registers the copied printer driver with the OS. As a result, the user of client computer 3000 can perform printing to printer 2000 via print server 1000.

[0018] • Configuration of the installation set Figure 5 shows the configuration of the driver installation set in this embodiment. The installation set 1200 is a group of files provided by the vendor and includes the files described below. The installer (EXE) 1210 is application 1100 for installing the driver, and when executed by a user with administrator privileges, it installs the driver file (CAB) 1250 onto the OS 1110. Driver set 1220 represents the driver-related files before installation and includes a setup information file (INF) 1230, a catalog file (CAT) 1240, and a driver file 1250. Setup information file 1230 contains the information necessary to install driver file 1250. Specifically, it describes the driver type and version, the filename of catalog file 1240, the filename of driver file 1250, and its installation location. Catalog file 1240 is used during the installation of driver file 1250 and is used to verify driver set 1220. Catalog file 1240 contains the digital signature 1241 and certificate 1242 of driver file 1250 and is used to check whether the signed driver file 1250 has been tampered with. Driver file 1250 is the main driver to be installed, and it is a compressed file containing executable programs and data files for controlling peripheral devices.

[0019] <Security warning screen> Figure 6(a) shows the security warning screen 1300 displayed by the OS 1110 of the print server 1000 during driver installation. When the API for driver installation is called, OS1110 retrieves the filename of the catalog file 1240 specified in the setup information file 1230. OS1110 then refers to the catalog file 1240 of the retrieved filename and identifies the certificate 1242 corresponding to the digital signature 1241 contained in the catalog file 1240. If the identified certificate 1242 does not exist in the OS1110's certificate store 1114, OS1110 displays a security warning screen 1300. The security warning screen 1300 contains information about the issuer of the digital signature 1241, and prompts the user to choose whether to install the driver with the digital signature 1241 from this issuer.

[0020] When the [Install] button 1301 is pressed, OS1110 starts installing the specified driver. When the [Do not install] button 1302 is pressed, OS1110 cancels the driver installation. The security warning screen 1300 also includes a checkbox 1303 asking whether to always trust drivers with the same issuer certificate 1242 as the digital signature 1241. If this setting is enabled and the [Install] button 1301 is pressed, OS1110 installs the corresponding certificate 1242 into the certificate store 1114. Therefore, in the future, when installing drivers with the same certificate 1242 as the driver's digital signature 1241, the security warning screen 1300 will not appear during installation.

[0021] On the other hand, if checkbox 1303 is unchecked and the [Install] button 1301 is pressed, OS1110 will display the security warning screen 1300 again the next time a driver with the same digital signature 1241 is installed. In this way, OS1110 displays a security warning screen 1300 to the user, which has the effect of preventing drivers signed by suspicious publishers from being installed without the user's knowledge. In Embodiment 1 below, it is assumed that the installation was performed with the "Always trust" checkbox 1303 checked.

[0022] <Security warning screen> Figure 6(b) shows the security warning screen 1310 displayed by OS1110 when installing a driver on print server 1000. When the API for driver installation is called, OS1110 retrieves the filename of the catalog file 1240, which is listed in the setup information file 1230 downloaded from the print server 1000. The OS1110 then refers to the catalog file 1240 of the retrieved filename and identifies the certificate 1242 that corresponds to the digital signature 1241 contained in the catalog file 1240. OS1110 displays a security warning screen 1310 if the identified certificate 1242 does not exist in the OS1110 certificate store 1114. Security warning screen 1310 displays information about the issuer of digital signature 1241, and prompts the user to decide whether to install the driver with digital signature 1241 from this issuer.

[0023] When the [Install] button 1311 is pressed, OS1110 starts installing the specified driver, and when the [Cancel] button 1312 is pressed, OS1110 cancels the driver installation. The security warning screen 1310 also includes a checkbox 1313 for the digital signature 1241 that says "Don't show this message again." If this setting is enabled and the [Install] button 1311 is pressed, the OS 1110 installs the corresponding certificate 1242 into the certificate store 1114. Therefore, in the future, when installing drivers with the same certificate 1242 in their digital signature, the security warning screen 1310 will not appear during installation. On the other hand, if checkbox 1313 is unchecked and the [Install] button 1311 is pressed, OS1110 will display the security warning screen 1310 again the next time a driver with the same digital signature is installed. In this way, OS1110 displays security warning screen 1310 to the user, which helps prevent drivers signed by suspicious publishers from being installed without the user's knowledge.

[0024] <Security Error Screen> Figure 6(c) shows the security error screen 1320 displayed by OS1110 when installing a driver on print server 1000. When the API for driver installation is called, OS1110 obtains the filename of the catalog file 1240 described in the setup information file 1230 downloaded from print server 1000. OS1110 then refers to the catalog file 1240 with the obtained filename and identifies the certificate 1242 corresponding to the digital signature 1241 contained in catalog file 1240. If the identified certificate 1242 does not exist in OS1110's certificate store 1118, OS1110 displays the security error screen 1320.

[0025] • Installer screen transitions Figure 7 shows the screen transitions that installer 1210 displays on the print server 1000's display when a user runs installer 1210 of installation set 1200. Here, we will explain the screen transitions when installer 1210 is run without certificate 1242 installed in certificate store 1114. Screen 1 (1410) is the screen displayed by installer 1210 at startup. When the [Next] button 1411 is pressed, installer 1210 displays screen 2 (1420). Screen 2 (1420) shows the printer currently connected to print server 1000 and detects the printer compatible with the driver to be installed. Once the detection is complete, installer 1210 displays screen 3 (1430). Screen 3 (1430) displays a list of printers detected on Screen 2 (1420), allowing the user to select which printer driver to install. This driver is designated as Printer 2000 and corresponds to Printer A. At this time, a checkbox 1431 labeled "Share this printer" is provided to confirm whether the user intends to use it as a shared printer. The process for determining the display state of checkbox 1431 is described below.

[0026] (Display state determination process) Figure 8 is a flowchart showing the process for determining the display state of the "Share this printer" checkbox 1431. This process is executed by the installer 1210 when screen 3 (1430) is launched. In S200, installer 1210 retrieves a list of printers installed on print server 1000 from OS 1110. In S201, a loop process is started that repeats for each printer acquired, and then the process in S202 is repeated. In S202, installer 1210 retrieves information about the first printer in the printer list from OS 1110 and checks if the printer is shared based on the retrieved information. (If shared) If the S202 check determines that the data is shared, the installer 1210 exits the loop process S201 and proceeds to S203. In S203, check the "Share this printer" checkbox 1431 and finish the process of determining the display status of the checkbox. (If not shared) If the S202 check determines that the printer is not shared, installer 1210 returns to the beginning of loop process S201. Once processing is complete for all printers in the printer list, the process proceeds to S204. In S204, installer 1210 unchecks the "Share this printer" checkbox 1431 and terminates the process of determining the display status of the checkbox.

[0027] Next, we will explain the process of transitioning from screen 3 to screen 4 in the explanation of the screen transitions in Figure 7. When the user checks the "Share this printer" checkbox 1431 on screen 3 (1430) and presses the [Next] button 1432, the installer 1210 determines whether to display screen 1470 in Figure 9. If it determines to display it, screen 1470 is displayed on the display unit of the print server 1000. On the other hand, if the "Share this printer" checkbox 1431 is unchecked and the [Next] button 1432 is pressed, screen 4 (1440) is displayed.

[0028] Figure 9 shows an example of the screen 1470 that the installer 1210 displays on the print server 1000's display when the user runs the installer 1210 of the installation set 1200. By displaying this screen, the user of the print server 1000 can be notified that certificate 1242 also needs to be installed on the client computer 3000 in order to use the shared printer. Furthermore, if certificate 1242 cannot be distributed to the client computer 3000, the user can be notified that there is a driver with a different issuer for certificate 1242 that does not require the installation of certificate 1242.

[0029] • Driver determination process Figure 10 is a flowchart of the driver determination process. On the S300, installer 1210 retrieves a list of available drivers. The driver list can be created from the drivers included with the installer, or from the drivers published on the web server. The driver list has a predetermined priority order based on factors such as driver version, release date, and certificate 1242 (certificate identifier), and is sorted in descending order of priority. Installer 1210 selects the driver with the highest priority in the driver list as the first driver to install. In S301, installer 1210 starts a loop process that repeats for the number of drivers obtained. In S302, installer 1210 checks whether certificate 1242, which is required to install the first driver in the list of available drivers, is installed in the certificate store 1114 of print server 1000. If the result of S302 determines that the driver is not installed, installer 1210 returns to the beginning of loop process S301. Once the loop process has completed for the number of drivers retrieved, the process proceeds to S308. In S308, installer 1210 determines that the driver with the highest priority will be installed and terminates the process.

[0030] On the other hand, if it is determined that it is installed in S302, In S303, installer 1210 terminates loop process S301 and checks if it is the highest priority driver. If it is determined to be the highest priority driver (Yes in S303), the process proceeds to S308; otherwise (No in S303), it proceeds to S305. If the S301 loop process finds a driver with high priority but no certificate installed, it will be determined to be No in S303. (For the highest priority driver) In S308, installer 1210 does not display screen 1470, determines the driver to install as the highest priority driver, and terminates the process. (If it is determined that it is not the highest priority driver) In S305, installer 1210 displays screen 1470. In S306, if the user responds on screen 1470 that certificate 1242 can be distributed (by pressing the [Yes] button 1471) (if the response is Yes in S306), the installer 1210 proceeds to S308. In S308, the driver to be installed is determined to be the highest priority driver, and this process is terminated. On the other hand, if the user responds on screen 1470 that certificate 1242 cannot be distributed (by pressing the [No] button 1472) (if the answer is No in S306), the process proceeds to S307. In S307, the system determines that the driver to be installed has certificate 1242 and selects another driver that is already installed, then terminates this process.

[0031] Once the driver to be installed is selected, installer 1210 launches screen 4 (1440). Screen 4 (1440) is a screen that notifies the user that the driver installation will now begin. When the [Next] button 1441 is pressed, the installer 1210 displays screen 5 (1450) and begins installing the driver. The driver installation is performed by the installer 1210 calling the driver installation API provided by the driver installation control unit 1111 of the OS 1110. At that time, the installer 1210 specifies the setup information file 1230 in the driver set 1220. If the certificate 1242 included in the driver set 1220 to be installed is not installed in the certificate store 1114, the OS 1110 displays a security warning screen 1300. On the other hand, if the certificate 1242 included in the driver set 1220 to be installed is installed in the certificate store 1114, the OS 1110 does not display the security warning screen 1300. When the driver installation is complete, the installer 1210 displays screen 6 (1460) to notify the user that the installation is complete.

[0032] The processing of the installer 1210 in this embodiment has been described above. With the installer 1210 operating as in this embodiment, if there are drivers for which it is not necessary to distribute certificate 1242 to the users of the client computer 3000, the user of the print server 1000 (such as an administrator) can be notified of this fact. The user can then select the driver according to their environment. As a result, the security warning screen 1310 and security error screen 1320 from the OS 1110 will not be displayed, so the user will not hesitate during installation on the client computer 3000, and user convenience can be improved.

[0033] [Embodiment 2] Embodiment 1 described an example of a process in which the driver installer 1210 guides the user to the appropriate driver before installation. Embodiment 2 describes an example in which a user who selected the [Do not install] button 1302 on the security warning screen 1300 by the OS 1110 and encountered an installation error is guided to an alternative driver that does not require the installation of certificate 1242. Note that the process equivalent to Embodiment 1 will not be explained, and only the differences will be described.

[0034] Same screen transition diagram Figure 11 shows the screen transitions that the installer 1210 displays on the display unit of the print server 1000 when a user runs the installer 1210 of the installation set 1200. (Screen 3) On screen 3 (1430) in Figure 11, the user selects the printer to install, and when the [Next] button 1432 is pressed, the installer 1210 displays screen 4 (1440). (Screen 4) When the [Next] button 1441 is pressed on screen 4 (1440), installer 1210 displays screen 5 (1450) and begins driver installation. Driver installation is performed by installer 1210 calling the driver installation API provided by the driver installation control unit 1111 of OS 1110. At this time, because certificate 1242 included in the driver set 1220 to be installed is not installed in the certificate store 1114, OS 1110 displays security warning screen 1300. If the user selects the [Do not install] button 1302 on security warning screen 1300, installer 1210 receives an error from the driver installation control unit 1111. Upon receiving the error termination of the installation, installer 1210, if it is the first installation after installer 1210 is started and the "Share this printer" checkbox 1431 is checked, executes the alternative driver determination process.

[0035] • Alternative driver determination process Figure 12 is a flowchart of the alternative driver determination process performed by the installer 1210 while screen 5 (1450) is displayed on the print server 1000's display unit. Note that the processes from S300 to S303 are the same as in Figure 10 and are therefore omitted. In S303, (If not installed) If the result of S302 determines that the driver is not installed, the installer 1210 returns to the beginning of the loop process S301. Once the loop process has completed for the number of drivers retrieved, the installer 1210 proceeds to S404. In S404, it was determined that there were no alternative drivers, and this process was terminated. (If installed) On the other hand, if it is determined in S302 that the system is already installed, the installer 1210 exits the loop process S301 and proceeds to S303. If S303 is not the highest priority driver (i.e., No), the process proceeds to S401. The driver being not the highest priority driver occurs when installer 1210 finds another driver with the required certificate 1242 already installed in certificate store 1114, in addition to the driver that caused the installation error on screen 5 (1450). In S401, installer 1210 displays screen 1490 in Figure 13.

[0036] <Screen displayed when another installable driver is found> Figure 13 shows an example of screen 1490 that installer 1210 displays on the print server 1000's display unit when an error occurs during the first installation and another installable driver is found. By displaying screen 1490, the print server 1000's user can be notified that the driver that failed to install requires the installation of certificate 1242. It can also be notified that there are drivers with different certificate issuers that do not require the installation of a certificate.

[0037] In S402, if the user presses the [No] button 1492 on screen 1490 (if No is selected in S402), the alternative driver determination process is terminated. In that case, the installer 1210 displays screen 7 (1500) to notify the user that the installation failed. On the other hand, in S402, if the user presses the [Yes] button 1491 on screen 1490 (i.e., if the user selects Yes in S402), the process proceeds to S403. In S403, select a driver that does not require certificate 1242 installation and terminate this process. Then, installer 1210 displays screen 5 (1450) and begins installing the driver. Since certificate 1242, included in the driver set 1220 to be installed, is installed in certificate store 1114, OS 1110 does not display security warning screen 1300. Once the driver installation is complete, installer 1210 displays screen 6 (1460) to notify the user that the installation is complete.

[0038] The processing of the installer 1210 in this embodiment has been described above. In this embodiment, if there are drivers that do not require the installation of certificate 1242, the user of the print server 1000 can be notified accordingly, and the user can select a driver according to their needs. Also, if there are drivers on the print server 1000 that do not require the distribution of certificate 1242 to the user, the user of the print server 1000 can be notified accordingly. By doing so, the user can select a driver according to their environment, thereby improving user convenience.

[0039] (Other examples) The present invention can also be realized 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 realized by a circuit (e.g., an ASIC) that implements one or more functions. This embodiment includes the following configurations, methods, and programs. (Program 1) A program that installs drivers on a server that can be used to control peripherals shared with client computers connected to a network, On the aforementioned server computer, If there is a driver on the aforementioned server that has a certificate installed, and that driver has the highest priority, then the driver will be installed. If the aforementioned server does not have a driver with the certificate installed, the driver with the highest priority will be installed. A program characterized by the following features. (Program 2) To the aforementioned computer, The program according to Program 1, characterized in that if there is a driver on the server for which a certificate is installed, and the priority of the driver is not the highest, and the certificate of the driver can be distributed to the client computer, the program will install the driver. (Program 3) To the aforementioned computer, The program according to program 1 or 2, characterized in that if there is a driver on the server with a certificate installed, and the priority of that driver is not the highest, and the certificate of that driver cannot be distributed to the client computer, the server will install another driver with a certificate installed. (Program 4) To the aforementioned computer, If the server has a driver installed with a certificate that is usable for the peripheral device, and there is another driver that does not have the highest priority, a screen will be displayed to the user asking whether or not to install the certificate for that driver. If you choose not to install on the aforementioned screen, an alternative driver will be installed. A program characterized by the following features. (Program 5) To the aforementioned computer, The aforementioned alternative driver is a driver that does not need to be installed, even though it has a different certificate issuer. The program described in Program 4, characterized by the above. (Program 6) The aforementioned priority is predetermined by the certificate issuer. The program according to any one of features 1 to 5 (Composition 1) A server on which the program described in any one of claims 1 to 6 is installed. (Method 1) A method for controlling a server that installs drivers for controlling peripheral devices shared with client computers connected to a network, If there is a driver on the aforementioned server that has a certificate installed, and that driver has the highest priority, then the driver will be installed. If there is no driver with a certificate installed on the aforementioned server, control the system to install the driver with the highest priority. A server control method characterized by the following: [Explanation of Symbols]

[0040] 1000 computers 1210 Installer 1240 Catalog File 1241 digital signatures 1250 driver files 2000 Printer 3000 client computers

Claims

1. A program that installs drivers on a server that can be used to control peripherals shared with client computers connected to a network, On the aforementioned server computer, If there is a driver on the aforementioned server that has a certificate installed, and that driver has the highest priority, then the driver will be installed. If the aforementioned server does not have a driver with the certificate installed, the driver with the highest priority will be installed. A program characterized by the following features.

2. To the aforementioned computer, The program according to claim 1, characterized in that if there is a driver on the server for which a certificate is installed, and the priority of the said driver is not the highest, and the certificate of the said driver can be distributed to the said client computer, the program will cause the said driver to be installed.

3. To the aforementioned computer, The program according to claim 1, characterized in that if there is a driver on the server with a certificate installed, and the priority of that driver is not the highest, and the certificate of that driver cannot be distributed to the client computer, the server will install another driver with a certificate installed.

4. To the aforementioned computer, If the server has a driver installed with a certificate that is usable for the peripheral device, and there is another driver that does not have the highest priority, a screen will be displayed to the user asking whether or not to install the certificate for that driver. If you choose not to install on the aforementioned screen, an alternative driver will be installed. A program characterized by the following features.

5. To the aforementioned computer, The aforementioned alternative driver is a driver that does not need to be installed, even though it has a different certificate issuer. The program according to feature 4.

6. The aforementioned priority is predetermined by the certificate issuer. L as described in Feature 1

7. A server on which the program described in any one of claims 1 to 6 is installed.

8. A method for controlling a server that installs drivers for controlling peripheral devices shared with client computers connected to a network, If there is a driver on the aforementioned server that has a certificate installed, and that driver has the highest priority, then the driver will be installed. If there is no driver with a certificate installed on the aforementioned server, control the system to install the driver with the highest priority. A server control method characterized by the following: