Information processing device, installation procedure and program
Patent Information
- Application Number
- DE112013003941
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2012-08-08
- Filing Date
- 2013-07-26
- Publication Date
- 2025-02-13
- Estimated Expiration
- 2033-07-26
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present invention relates to an information processing device on which a customer-specific driver is installed, a method for installing the driver and a program. Technical background
[0002] The Windows printer driver (registered trademark) is a representative example of print control software for controlling a printer. An installation kit for the Windows printer driver (registered trademark) contains a catalog file for the printer driver called a CAT file. The catalog file stores an array of hash values of files included in the installation kit. An electronic signature may also be appended to the catalog file. By comparing the stored hash values with the hash values of the files in the installation kit, after verifying the electronic signature appended to the catalog file, it is possible to verify whether the contents of the files in the installation kit have been modified.
[0003] Some users now wish to customize printer drivers to suit the specific environment into which a printing system is deployed. With the recent changes in the environments where printing systems are introduced, the use of printer drivers has also changed, and there is a growing demand for customizable printer drivers. In response to this demand, Japanese patent application JP 2006-309724 A describes a customization method that allows modification of initial default settings displayed by a printer driver and enables input control of these settings, which the user can adjust via a user interface (UI) of the printer driver.
[0004] When a printer driver is customized using a method discussed in Japanese patent application disclosure JP 2006-309724 A, a printer driver is created in which some configuration files in a printer driver installation kit have been modified. In addition to the configuration files modified by the customization, the created printer driver also contains an unmodified printer module and an unmodified catalog file.
[0005] Therefore, it is important that a driver is generated in a form that allows a customized driver to install itself. If the generated driver described above only contains the configuration files modified through customization, a user must create a separate driver module. Consequently, the user must manage the modified configuration files and a driver module in conjunction with each other, increasing the user's workload. Therefore, in a conventional approach, a driver is generated in such a way that a customized driver can install itself. Because the user can easily perform an installation process, such a customized driver can be considered user-friendly.However, the settings files of this driver have been modified, and thus the driver is in a state where the hash values of the settings files do not match the hash values written to the catalog file, or in a state where there is no match between the catalog file and the installation set. Citation list for patent literature
[0006] PTL1: Japanese patent application disclosure JP 2006-309724 A
[0007] US 2002 008 34 31 A1 discloses an information processing device that enables the installation of a driver with a simple operation when no driver is installed for a peripheral device on the network. When a driver installation instruction is given, an instruction is sent to the specified PC to perform an operation to install the user-specified driver. The information processing device performs the driver installation operation based on the instruction. For example, if the peripheral device is a printer, the information processing device determines whether the installation process completed normally, and if the driver was installed correctly, a test print is performed.
[0008] JP 2005 326 964 A discloses a method for adjusting various parameters of a printer driver. During the installation of a printer driver, the initial parameter of the printer driver is stored in a system, and after the installation of the printer driver, a parameter other than the initial parameter is searched for among the printer driver parameters stored in a data storage section for operating system management, and the printer driver parameter is updated based on the parameter.
[0009] EP 1 710 680 A2 belongs to the patent family of PTL1 and describes prior art on which the present application is based. In particular, EP 1 710 680 A2 discloses an information processing device configured to adapt a device driver adapted to control a printer or other peripheral device by setting a property of the driver. The information processing device comprises a specifying unit capable of specifying a plurality of device drivers and a setting unit capable of setting property information corresponding to a device driver in the plurality of device drivers specified by the specifying unit in response to an instruction to adapt the device driver. This enables the adaptation of a plurality of printer drivers in a single adaptation process.
[0010] JP 2009 217 331 A discloses an information processing device in which restriction information for imposing the restriction of setting information contained in a setting information file of a printer driver set is set on a computer for a manager using a customization tool, and the restriction information is made so that it is stored in the printer driver set so that the restriction information is registered in the computer in a state in which it can be identified that the printer driver is the already customized printer driver when the printer driver contained in the printer driver set is installed on the computer.
[0011] US 7 506 142 B2 discloses a method for adapting device drivers, which is executed when a second driver is installed in an information processing device in which one or more first drivers for controlling an image processing device have already been installed, wherein the method for adapting drivers comprises: a search step to compare elements contained in the first configuration data of one of the first drivers that has already been configured by a user with elements contained in the second configuration data of the second driver that is to be reconfigured by the user, searching the first configuration data for an element that corresponds to one of the elements contained in the second configuration data;and a configuration step in which one of the elements contained in the second configuration data is configured to have the same value as a value assigned to the corresponding element when the corresponding element was found by the search step. Brief summary of the invention
[0012] According to one embodiment of the invention, an information processing device is provided as specified in the accompanying patent claims.
[0013] Further features and embodiments of the invention will become apparent from the following detailed description of exemplary embodiments with regard to the accompanying drawings. Brief description of the drawings
[0014] The accompanying drawings, which are included in the specification and form part of it, illustrate embodiments, features and configurations of the invention and, together with the description, serve to explain the principles of the invention. [ Fig. 1] Fig. Figure 1 shows a block diagram illustrating a configuration of a print processing system according to an embodiment of the invention. [ Fig. 2] Fig. Figure 2 illustrates a memory mapping in random access memory (RAM) of a host computer. [ Fig. 3] Fig. Figure 3 illustrates an example of the main UI of a customization tool. [ Fig. 4] Fig. Figure 4 illustrates an example of a UI for setting a printer driver initial value of the customization tool. [ Fig. 5] Fig. Figure 5 illustrates an example of a display settings UI for a printer driver of the customization tool. [ Fig. 6A] Fig. Figure 6A shows a flowchart of basic operations of the customization tool. [ Fig. 6B] Fig. Figure 6B shows a flowchart of basic operations of the customization tool. [ Fig. 6C] Fig. Figure 6C shows a flowchart of basic operations of the customization tool. [ Fig. 7A] Fig. Figure 7A illustrates a sample folder structure and a sample file structure of an installation set. [ Fig. 7B] Fig. Figure 7B illustrates a sample folder structure and a sample file structure of an installation set. [ Fig. 7C] Fig. 7C illustrates a sample folder structure and a sample file structure of an installation set. [ Fig. 7D] Fig. 7D illustrates a sample folder structure and a sample file structure of an installation set. [ Fig. 7E] Fig. 7E illustrates a sample folder structure and a sample file structure of an installation set. [ Fig. 8A] Fig. Figure 8A shows a flowchart of an installation process using an information (INF) file. [ Fig. 8B] Fig. Figure 8B shows a flowchart of an installation process using an information (INF) file. [ Fig. 8C] Fig. Figure 8C shows a flowchart of an installation process using an information (INF) file. [ Fig. 9A] Fig. 9A shows an installer format installation set. [ Fig. 9B] Fig. Figure 9B shows a flowchart of the installation process for the installation set. [ Fig. 10A] Fig. Figure 10A shows a flowchart of an adaptation and installation process for a first embodiment. [ Fig. 10B] Fig. Figure 10B shows a flowchart of an adaptation and installation process for a first embodiment. [ Fig. 10C] Fig. Figure 10C shows a flowchart of a customization and installation process for a first embodiment. [ Fig. 11] Fig. Figure 11 shows a construction of an adapted installation kit of the first embodiment. [ Fig. 12A] Fig. Figure 12A shows a flowchart of an adaptation and installation process for a second embodiment. [ Fig. 12B] Fig. Figure 12B shows a flowchart of an adaptation and installation process for a second embodiment. [ Fig. 13] Fig. Figure 13 illustrates the construction of a modified installation kit of the second embodiment. [ Fig. 14A] Fig. Figure 14A shows a flowchart of an installation process for a third embodiment. [ Fig. 14B] Fig. Figure 14B shows a flowchart of an installation process for a third embodiment. Description of the exemplary implementations
[0015] Various embodiments, features and configurations of the invention are described in more detail below with reference to the drawings.
[0016] As security efforts increase, a new operating system (OS) emerges that halts installations when it detects a driver installation lacking a catalog file and installation set match. This is because a custom driver lacks the necessary catalog file and installation set match. A user cannot use a custom driver on a computer running such an OS.
[0017] The present invention relates to the installation of a customized driver on an information processing device containing an OS that does not allow the installation of a customized driver lacking the match between a catalog file and an installation set.
[0018] Before describing the embodiments of the invention, an adaptation tool program to be used in the embodiments is described. It is noted that each embodiment describes a method for adapting a printer driver for Windows (registered trademark), which is an operating system program for personal computers and is distributed by Microsoft (registered trademark).
[0019] Fig. Figure 1 shows a block diagram of a configuration of a print processing system according to an embodiment of the invention. This print processing system includes a host computer 3000, which represents an information processing device, and a printer 1500, which receives print data from the host computer 3000 to perform a print job.
[0020] In the Host Computer 3000, a central processing unit (CPU) 1, connected to a system bus 4, generally controls devices according to a program stored in a RAM 2. The RAM 2 also functions as main memory and workspace for the CPU 1. A read-only memory (ROM) 3 stores various programs and data elements and contains a font ROM 3A, a program ROM 3b, and a data ROM 3c. The font ROM 3a stores various fonts, the program ROM 3b stores a boot program and a basic data exchange system (BIOS), and the data ROM 3c stores various data elements.
[0021] An operator input device interface (IF) 5 controls input from a keyboard 9 or a pointing device, such as a mouse. A cathode ray tube (CRT) control unit (CRTC) 6 controls a display on a display device 10. A disk control unit (DKC) 7 controls access to external storage 11, such as a hard disk (HD). A printer control unit (PRTC) 8 is connected to the printer 1500 via a bidirectional interface 21 and performs communication control processing between the PRTC 8 and the printer 1500.
[0022] The external storage 11, for example, contains a hard drive and a flash memory drive (SSD). As in Fig. As illustrated in Figure 1, external storage 11 stores an operating system 205, applications 201, and a print processing-related program 204. Examples of applications 201 include a document processing application program for processing a document containing a mixture of graphics, images, text, tables, etc. External storage 11 also stores a user file (not illustrated) and an editing file related to applications 201. The print processing-related program 204 generates print data written in a page description language and shared by a variety of printers of the same series. The print processing-related program 204 (referred to below as the printer driver) includes a printer control command generation module 2041 and a printer driver UI control module 2042.
[0023] The applications 201, stored in external memory 11 and containing a customization tool program (hereinafter referred to as the customization tool) 300 of the exemplary embodiment, are loaded into RAM 2 and executed by CPU 1. For example, CPU 1 performs raster processing of an outline font in RAM 2 to enable a What You See is What You Get (WYSIWYG) display on the display device 10. Furthermore, CPU 1 opens registered windows and performs data processing based on commands issued via a mouse on the display device 10. When printing, a user can open a print settings screen, controlled by the printer driver UI control module 2042, and configure the print processing settings in the printer driver, such as printer function settings and selection of a print mode.
[0024] The configuration of printer 1500 will now be described. A CPU 12 controls all operations of printer 1500. A RAM 19 acts as main memory and workspace for CPU 12 and is also used as an output information extension area and an environment data storage area. RAM 19 also contains a non-volatile RAM (NVRAM) area and is configured so that its memory capacity can be expanded with an optional RAM connected to an expansion port (not illustrated). A ROM 13 contains a font ROM 13a, a program ROM 13b, and a data ROM 13c. Font ROM 13a stores various fonts, program ROM 13b stores a control program to be executed by CPU 12, and data ROM 13c stores various data elements. An input unit 18 sends and receives data to and from the host computer 3000.A print unit interface 16 controls an interface with a print unit 17, which represents a printing machine. Access to an external memory 14 is controlled by a memory control unit (MC) 20. The external memory 14 can be an external hard disk (HD), a magneto-optical disk (MO), a floppy disk (FD), an integrated memory (IC) card, or the like, which are to be connected to the printer. The external memory 14 stores font data, an emulation program, form data, etc. If the external memory 14, such as a hard disk, is not connected, the host computer stores the data ROM 13c of the ROM 13 for use. The number of external memories 14 is not limited to one, and a plurality of external memories 14 can be provided.For example, 14 external storage devices can be connected, which store optional font cards in addition to the built-in fonts and programs that interpret printer control languages of different language systems.
[0025] An operator unit 501 includes a control panel for accepting user input and switches, and light-emitting diode (LED) indicator devices (not shown) for operation are arranged on the control panel. The operator unit 1501 can also include an NVRAM (not shown) and store printer mode setting information entered by the control panel. The CPU 12 outputs an image signal, serving as output information, to the printing unit (printer) 17 via the printing unit interface 16 according to a control program stored in the program ROM 13b of the ROM 13. The CPU 12 can also perform communication processing with the host computer 3000 via the input unit 18. The CPU 12 can receive print data sent by the host computer 3000 via the input unit 18 and can also inform the host computer 3000 about information in the printer 1500.
[0026] Fig. Figure 2 illustrates a memory mapping in RAM 2 in a state where a predetermined application and a print-related program are started, and a program and data are loaded into RAM 2 of the host computer 3000. As shown in Fig. As illustrated in Figure 2, in addition to a BIOS 206 and an OS 205, the applications 201, the print-related program 204, and relevant data 203 are loaded into RAM 2. Furthermore, a free memory area 202 is ensured in RAM. With these settings, the applications 201 and the print-related program 204 can be executed. The printer driver UI control module 2042 (see Fig. 1) The print processing program 204 displays a print settings screen on the display device 10 when responding to a print settings instruction from a user and allows the user to configure the settings using the keyboard 9.
[0027] Fig. Figure 3 illustrates a sample UI of the Customization Tool 300. The Customization Tool 300 is part of the suite in Fig. The two illustrated applications 201 are loaded and implemented when executed by CPU 1 of host computer 3000. This is done in Fig. 3. When "Open" is selected in menu 301, a standard dialog box (not shown) for OS 205 appears for specifying an INF file for an installation set for a printer driver to be adapted. An INF file for the printer driver to be adapted is then specified in the dialog box. Once the INF file has been specified, a storage path to the INF file of the base installation set is displayed in a display field 302. Additionally, a corresponding OS for the installation set for the printer driver at the storage location of the specified INF file is displayed in a display field 303. Furthermore, a list of models compatible with the installation set for the printer driver to be adapted is displayed in a list view 305. A target model to be adapted can be selected in the list view 305.If a model to be adapted is selected in list view 305, the display of the current target model to be adapted is changed to a section below list view 305.
[0028] When a customization instruction is received from the user, the "On / Off" identification information, which indicates how a given model is customized, changes for each model in list view 305. If the user checks a checkbox 310, a button 311 is enabled. If the user presses button 311, a printer driver UI for customization appears (see Fig. 4) displayed. In the printer driver UI, an initial value for print settings (document properties) and an initial value for setup settings (printer properties) can be set to be displayed as the default. If the user checks box 320, button 321 is enabled. When the user presses button 321, a UI (see Fig. 5) To customize the display method of each control in the printer driver UI, and the display method of each print setting value in the printer driver UI can be set for customization. If the user presses key 330, a standard OS 205 dialog box (not shown) appears for specifying a folder in which a customized driver will be created. A specific location for the creation of the customized driver can then be specified in the aforementioned dialog box. Once the location is specified, a storage path to the customized installation set is displayed in a display field 331. If the user presses key 340 after modifying various function setting values, a printer driver is created that is customized according to the modified function settings.
[0029] Fig. Figure 4 illustrates a printer driver UI (initial setting value adjustment UI) for adjusting initial printer driver setting values. The adjustment tool 300 is included as part of the in Fig. The two illustrated applications 201 were loaded and executed by CPU 1 of the host computer 3000. These in Fig. The illustrated UI 4 is displayed when the user presses the 311 button in the Fig. The UI shown in Figure 3 is displayed. The customization tool 300 operates as the settings unit of the host computer 3000 under the control of CPU 1. This settings unit displays, for example, a UI for configuring document property settings and setup property settings, such as those shown in Figure 3. Fig. Figure 4 illustrates a UI on a CRT. In a UI for configuring printer driver settings, which is displayed during a typical installation, a document property UI for configuring document settings and a printer property UI for configuring setup settings are not displayed simultaneously within a single UI. However, in the printer driver UI for a customization according to the embodiment of the invention, the customization tool 300 directly uses a printer driver module to perform the display. Therefore, a document property UI for configuring document settings and a printer property UI for configuring setup settings can be displayed simultaneously in a single UI, as shown in Figure 4. Fig. 4 are illustrated.
[0030] In Fig. Four user interfaces (UIs) can be displayed as the document property UIs, including a Page Setup UI 401, a Finishing UI 402, a Paper Feed UI 403, and a Print Quality UI 404. A Setup UI 405 is also displayed as the printer property UI. The initial document property settings and the initial printer property settings are inherited via UIs 401 to 405. Settings that cannot be adjusted are displayed in gray, as shown in button 410 in the Fig. 4 illustrated the UI to avoid accepting user input. So far, a procedure for changing the initial values of the print settings to be displayed as default has been described via the printer driver UI implemented by the customization tool 300.
[0031] Fig. Figure 5 shows a UI (Document Property Display Control Settings UI) for controlling the display of the printer driver's document properties to limit user input. The in Fig. The illustrated UI 5 is displayed on the display device 10 of the host computer 3000 when the user presses the 321 key in the Fig. The UI is illustrated in 3. In the Fig. The UI 5 illustrated allows the user to set display control settings for Page Settings 501, Finishing 502, Paper Feed 503, Print Quality 504, and Common Settings 505. Page Settings 501, Finishing 502, Paper Feed 503, and Print Quality 504 allow the user to configure the display control settings according to the [unclear text]. Fig. Four document property UIs are illustrated. The common setting 505 allows the user to configure the display control settings common to the display controls listed above. A specific example of the settings for a "Job Operations" control is listed in a pull-down menu 506. "Unlock" (i.e., normal display), "Lock" (i.e., the display is always locked), or "Hide" can be specified. Likewise, "Unlock," "Lock," or "Hide" can be set individually for each of the remaining controls, thus customizing the display controls in the document property UI. Upon receiving these settings, the customization tool 300 modifies a printer driver settings file. Locking a display can be achieved by showing an item in gray to prevent the user from interacting with it.
[0032] The following are basic operations of the Customization Tool 300 with reference to the information in the Fig. The flowcharts illustrated in sections 6A to 6C are described. In each step of the basic operations, the adaptation tool 300, executed by CPU 1 of the host computer 3000, is the core of the operation. When a user starts the adaptation tool 300 in step S600, the adaptation tool 300 undergoes initialization processing in step S601. In particular, the adaptation tool 300 displays the following: Fig. 3 illustrated UI on display setup 10. In step S602, the customization tool 300 accepts input from the user via the in Fig. Figure 3 illustrates the UI that determines a storage location for an installation kit for a printer driver to be adapted. Fig. Figure 7A illustrates an example folder structure of an INF format installation set, which can be adapted using the Adaptation Tool 300. Fig. Figure 7A merely illustrates an example of an installation kit for a printer driver. Although described in more detail below, Fig. Figure 9A is also an example of an installation kit for a printer driver. Such an installation kit for a printer driver can also be called a driver or, in some cases, a driver program. An INF format installation kit folder 701 stores an INF file 702, driver modules 703, configuration files 704, and a catalog file 705 of the printer driver.
[0033] Fig. Figure 7B shows an example of the contents of INF file 702, which contains installation information for the printer driver. OS 205 references INF file 702 when installing the printer driver. Information written to INF file 702 is referenced by the printer driver in the operating system. Fig. The illustrated example in Figure 7B describes this process, starting from the beginning of INF file 702. A section 711 for "Version," which represents a basic information element, appears at the beginning of INF file 702. Section 711 contains a DriverVer key 7112, which specifies a driver version, and a CatalogFile key 7113, which specifies the name of the catalog file 705. Version information is written as the value of the DriverVer key 7112, and the name of the catalog file 705 is written as the value of the CatalogFile key 7113.
[0034] Next is a section 712 for describing the names of printer models compatible with the INF format installation set. Section 712 lists, as keys, the names of printer models compatible with the printer driver installation set. The values of these keys are specified as section names that describe configuration modules and the files contained in the printer drivers for these modules. Any string, except for forbidden characters, can be freely defined as the value of the keys. In the Fig. In the example illustrated in 7B, a section called "ABC" is defined for a model "Canon ABC LIPS". Under section "ABC" 731 are written the filenames of the printer modules 703, the settings files 704, and the catalog file 703, which are contained in the print driver for the model "Canon ABC LIPS". A settings file to be adjusted is specified as the value of a key DataFile 7131. Although filenames of other modules are also written under section "ABC" 713, such filenames are in Fig. Section 7B has been omitted for simplicity. A section called "Strings" (714) is located at the end of INF file 702. "Strings" describes character strings that are displayed by OS 205 on the UI during an installation process using the INF format installation set.
[0035] Fig. Figure 7C illustrates a sample data format of the settings file 704, which is one of the files included in the printer driver. Settings file 704 is specified by the key DataFile 7131 under section 713, which is a section for each model in the INF file 702. Therefore, a different settings file can be associated with each model. Settings file 704 contains as internal data a header 721, an identification (ID) definition 722, and data 723. The ID definition 722 stores, in pairs, an ID of a data element stored in the data 723 and a location (address) of the data element. These pairs are then stored at the number corresponding to the ID number. The customization tool 300 of the example modifies the value of data corresponding to an ID defined for customization.If no ID has been defined for customization data to be used in ID definition 722, a new ID corresponding to this customization data is added to ID definition 722. When an installed printer driver becomes active, the printer driver reads the setting values in settings file 704 and reflects these values to the print settings displayed on a print settings screen. If settings file 704 has been customized, the printer driver reflects the customized settings values in settings file 704 to the printer driver. For example, the printer driver reflects pre-configured settings for frequently used print settings (such as two-sided, 2-in-1, etc.) to the printer driver.Then, by installing the customized driver, the printer driver sets the frequently used print settings, default print settings, and print settings that the user can configure.
[0036] Fig. Figure 7D illustrates a sample data structure of catalog file 705, which is one of the files included in the printer driver. Catalog file 705 stores hash values 731 through 733 of module groups and file groups that comprise the installation kit in INF format. Catalog file 705 contains a hash value 731 of INF file 702, hash values 732 of driver modules 703, and hash values 733 of configuration files 704. Additionally, an electronic signature 731 may be attached to catalog file 703. The electronic signature 734 can be attached using two methods: for general distribution use and for specific use. In the case of general distribution use, a development vendor of the installation kit complies with an assessment by Microsoft (registered trademark), and the electronic signature 734 is provided. In the case of specific use, the development vendor issues the electronic signature 734 themselves.After verifying the electronic signature 734 of catalog file 705, the stored hash values 731 to 733 are compared with the hash values of the respective files. This process allows verification of whether the installation set has been modified. If the hash values match, it is determined that the installation set has not been modified. An INF format installation set for which this determination has been made is referred to as a signed INF format installation set. If the hash values do not match, it is determined that the installation set has been modified. An INF format installation set for which this determination has been made is referred to as a signature-corrupted INF format installation set.
[0037] Referring again to Fig. 6A checks the specific installation set using the Adaptation Tool 300 in step S603. This process is described below with reference to Fig. 6B is described in more detail. If, in step S604, the Adaptation Tool 300 determines that the printer driver does not support customization (No in step S604), the Adaptation Tool 300 proceeds to step S609. In step S609, the Adaptation Tool 300 performs error handling and then returns to step S602 to accept an instruction regarding the location of an installation set. However, if, in step S604, the Adaptation Tool 300 determines that the printer driver does support customization (Yes in step S604), the Adaptation Tool 300 proceeds to step S605. In step S605, the Adaptation Tool 300 controls the CRTC 6 to enable the configuration of settings for customizing the printer driver via the reference to the Fig. 3 to 5 described UIs on the display device 10. About the in the Fig. In the UIs shown in 3 to 5, the Customization Tool 300 accepts settings for customizing the printer driver. In step S606, the Customization Tool 300 accepts an instruction to generate a customized driver when the user presses the "Generate" button 341 in the Fig. The UI shown in step 3 is pressed. Then, in step S607, the customization tool 300 generates a customized driver in accordance with the settings obtained in step S606. This processing in step S607 is described in more detail below with reference to Fig. 6C described. After the printer driver has been adapted in step S607, if the user instructs the adaptation tool 300 to terminate in step S608, the adaptation tool 300 will be terminated in step S610.
[0038] Fig. Figure 6B shows a flowchart of a process for checking whether a given installation set supports a customization that can be performed using the Customization Tool 300 of a conventional technique. This process is described with reference to the flowchart in Fig. 6B is described in more detail. This processing is carried out in step S603 of the flowchart of the conventional technique, which is described in Fig. Figure 6A illustrates this. In step S621, the Adaptation Tool 300 determines whether an INF file 702 exists at the location of the installation set for a basic printer driver, as determined in step S602. If the INF file 702 exists at the specified location (YES in step S621), the Adaptation Tool 300 proceeds to step S622. If the INF file 702 does not exist at the specified location (NO in step S621), the Adaptation Tool 300 proceeds to step S625. In step S622, the Adaptation Tool 300 reads the contents of sections 7111, 7112, and 7141 in the INF file 702, which describe the printer driver installation information as shown in Figure 6A. Fig. Figure 7B illustrates this. In step S623, the Adaptation Tool 300 determines, based on the read content, whether the specified printer driver supports a customization to be performed by the Adaptation Tool 300. If the INF file 702 supports the customization to be performed by the Adaptation Tool 300 (YES in step S623), the Adaptation Tool 300 proceeds to step S624. If the INF file 702 does not support a customization by the Adaptation Tool 300 (NO in step S623), the Adaptation Tool 300 proceeds to step S625. In step S624, the Adaptation Tool 300 determines that the installation set determined in step S602 supports a customization to be performed by the Adaptation Tool 300. Alternatively, in step S625, the Adaptation Tool 300 determines that the installation set determined in step S602 does not support a customization by the Adaptation Tool 300.
[0039] The following describes a process for generating a customized driver using conventional technology, with reference to Fig. 6C is described in more detail. In conventional techniques, this processing is described in step S607 of the section in Fig. The process illustrated in 6A is executed. This processing results in a [missing information] Fig. 7E illustrates the creation of a customized INF format driver installation set 741 at the specified location of the customized driver, as determined in display field 331. In installation set 741, the INF file 702 and the settings files 704 are each replaced by a customized INF file 742 and customized settings files 743.
[0040] In step S631, the Adaptation Tool 300 copies the folder structure and files of the installation set from the location of the base printer driver installation set, determined in step S602, to a specified location of the adapted driver, determined in display field 331. In step S632, the Adaptation Tool 300 deletes keys of models different from the model being adapted from section 712 of the copied INF file 702 to generate the adapted INF file 742. In step S633, the Adaptation Tool 300 reflects the adaptation settings onto the copied settings files 704 to generate the adapted settings files 743. This creates the adapted driver installation set 741.
[0041] So far, a procedure for customizing a printer driver has been described. Next, a procedure commonly used to install a printer driver on OS 205 is described. There are two methods that can be used to install a printer driver. The first method uses an OS function that employs an INF-format installation kit. The second method uses the installation kit in an installer format.
[0042] The following describes the processing sequence of the first installation procedure with reference to a flowchart in Fig. 8A describes a process that uses an INF file. In this case, a printer driver can be installed even if the vendor providing the printer driver does not create an installer. The operational kernel in this flowchart is OS 205, which is implemented using CPU 1 of the host computer 3000. Processing begins when OS 205 receives a request from a user to start a printer driver installation. In step S801, OS 205 controls CRTC 6 to display a UI on display unit 10 for accepting settings of an installation target. Specifically, OS 205 receives from the user, via the UI, a specific output port directed to the printer, an INF file of the printer driver to be installed, and the printer model name. Upon receiving this information, OS 205 starts printer driver installation processing in step S802.In step S802, OS 205 checks the installation set. The content of this process differs between an existing OS and a new OS that adopts the embodiment of the invention. The new OS, which adopts the embodiment of the invention, detects whether there is a discrepancy between the catalog file and the installation set, and if a discrepancy exists, the installation is terminated. Fig. 8B illustrates a sample processing flow through an old OS, and Fig. 8C presents an example processing flow through the new OS. Differences in processing between the old OS and the new OS are described below with reference to the Fig. 8B and Fig. As described in section 8C, if OS 205 determines in step S803, during the printer driver installation process, that the installation should be terminated (YES in step S803), OS 205 proceeds to step S806 to complete the installation. However, if OS 205 determines that the installation should continue (NO in step S803), OS 205 creates an output port in step S804, which is directed to the printer specified in step S801. In step S805, OS 205 creates a print queue and then terminates the installation process.
[0043] The installation process for the printer driver in the case of the old OS is described with reference to Fig. 8B described. In step S811, the OS verifies the INF format installation set using the catalog file. Then, in step S812, the OS determines whether the installation set has been modified. If the installation set has not been modified (NO in step S812), the OS proceeds to step S813. In step S813, the OS performs an installation process for the modules and configuration files for the printer driver of the target installation model. However, if the installation set has been modified (YES in step S812), in step S814, the OS controls the CRTC 6 to display a UI on the display unit 10, allowing the user to decide whether to continue the installation. If the user selects to continue the installation (YES in step S815), the OS proceeds to step S813 to perform the printer driver installation process. However, if the user does not select to continue the installation (NO in step S815), the OS proceeds to step S816.In step S816, the OS displays a message informing the user that "the installation is being completed" and decides to terminate the installation process. This allows the printer driver to be installed on the older OS even if there is a discrepancy between the printer driver installation kit and the catalog file, according to a user selection.
[0044] Next, the installation process of the printer driver on the new OS will be described with reference to Fig. 8C described. In the case of the new OS, steps S814 and S815, which were present in the old OS, are not included. Therefore, if the OS detects a discrepancy between the printer driver installation set and the catalog file, the installation is terminated without giving the user a choice. This handling in the new OS reflects increased security concerns in recent years. However, the new OS has a problem in that it does not allow the installation of a customer-specific printer driver.
[0045] The following describes the processing flow for the second installation method, which uses an installer-format installation kit. Using an installer-format kit has the advantage of simplifying the installation process for the user. Fig. Figure 9A illustrates an example structure of an installer format installation set folder 901. An installer execution module 902 for the driver (hereinafter referred to as the installer), an installer subfolder 903 to which the installer 902 references, and the INF format installation set folder 701 are located directly under folder 901. Subfolder 903 stores an installer settings file 904. Installer 902 references the settings file 904 and performs processing according to the contents of the settings file 904. Folder 701 stores the Fig. Figure 7A illustrated the INF format installation kit.
[0046] Fig. Figure 9B illustrates a flowchart of the installation processing by Installer 902. The core operation in this flowchart is Installer 902. This processing is performed using CPU 1 of the host computer 3000. The processing begins when Installer 902 accepts a request from a user to start executing Installer 902. Apart from two different points, the process described in Fig. 9B illustrated the basic processing flow shown in Fig. 8A similar.
[0047] One key difference lies in the user interface (UI) displayed in step S911 for configuring installation settings. Unlike the INF format installation set, the installation set for the printer drivers to be installed is... Fig. Since the folder 701, as illustrated in 9A, is the user's location, the user does not need to specify it. Therefore, the installer 902 defines the user interface (UI) for configuring the installation settings itself and displays the UI by controlling the CRTC 6 on the display unit 10. The installer 902 then accepts a specific output port directed to the printer and the name of a model to be installed from the user via the aforementioned UI. In a UI for selecting the name of the model to be installed, the installer 902 displays a list of candidate models that can be installed, based on the contents of the INF file 702, and accepts a user selection.
[0048] A second difference is that the installer 902 calls an application programming interface (API) provided by OS 205 in steps S912, S914, and S915. When the installer 902 calls the API, OS 205 performs processing corresponding to steps S802, S804, and S805.
[0049] When a printer driver is customized by an existing customization tool 300, a printer driver is created that matches the printer driver installation set and the catalog file as shown in Fig. Figure 7E is missing. If this installation set is installed on a new OS, the new OS detects the discrepancy between the printer driver installation set and the catalog file, as described in step S812, and consequently, the installation process is terminated. This creates a problem: a printer driver modified using the existing Adaptation Tool 300 cannot be installed on the new OS.
[0050] The following describes a processing method according to a first embodiment for addressing the problem described above. First, an adaptation process using the Adaptation Tool 300 is described. Then, the installation process of a printer driver using an installation kit in a customized installer format is described. Finally, the adaptation processing of the installation kit by the Adaptation Tool 300 of the first embodiment is described. Through this adaptation process, the Adaptation Tool 300 generates an installation kit in an installer format with a Fig. 11 illustrated folder structure.
[0051] In conventional technology, only the in Fig. Figure 7A illustrates that the INF format installation set is supported as a basic installation set for a customized driver. Therefore, a path pointing to an INF file is assumed in the dialog box that appears when "Open" is selected from menu item 301 in... Fig. 3 is selected. The customization tool 300 of the first example creates an installer format installation set. Therefore, the one in Fig. 9A illustrated the installer format installation set folder 901, which can also be determined in the dialog box that appears when "Open" is selected in menu 301 in the Fig. 3 is selected.
[0052] The Fig. 10A and Fig. 10B illustrates flowcharts of the customization processing of the installation kit. The processing flow in Fig. Figure 10A illustrates a verification process of the installation kit according to the first embodiment. The adaptation tool 300 performs this processing in step S603 instead of the processing in Fig. 6B. The processing sequence in Fig. 10A differs from the processing procedure in Fig. 6B in two points. The operational kernel during processing in the Fig. 10A and Fig. 10B is the customization tool 300.
[0053] One initial difference lies in the processing path of steps S1002 to S1004. Processing in these steps is added because, in addition to INF file 702, the data in Fig. 9A illustrated the installer format installation set folder 901, which has become available in the dialog box that appears when "Open" is selected in menu 301. Fig. 3 is selected. In step S1002, the customization tool 300 determines whether a path specified in the dialog box mentioned above is a folder. If a folder has been identified (YES in step S1002), the customization tool 300 proceeds to step S1003. Alternatively, if a file has been identified (NO in step S1002), the customization tool 300 determines that the INF file 702 has been identified and proceeds to step S621. In step S1003, the customization tool 300 saves the specified folder as the installer format installation set. The customization tool 300 also searches for subfolders to locate the INF file 702. If the customization tool 300 has located the INF file 702 in step S1004 (YES in step S1004), the customization tool 300 proceeds to step S622. If the adaptation tool 300 could not locate the INF file 702 (NO in step S1004), the adaptation tool 300 proceeds to step S625.Then, in step S625, the Adaptation Tool 300 determines that the printer driver does not support customization. A second difference lies in the processing path of steps S1005 and S1006. To install the printer driver on the new OS, an installer execution module 1102 (referred to below as the installer) requires a signed INF format installation set 701. Accordingly, in step S1005, the Adaptation Tool 300 verifies the base installation set for the customized driver using the catalog file. In step S1006, the Adaptation Tool determines whether there is a match between the base installation set for the customized driver and the catalog file. If there is a match between the installation set and the catalog file (YES in step S1006), the Adaptation Tool 300 proceeds to step S624.However, if there is a discrepancy between the installation set and the catalog file (NO in step S1006), the customization tool 300 proceeds to step S625. The remaining steps in the processing flow of... Fig. 10A are the same as those in Fig. 6B.
[0054] The processing process in Fig. 10B is the printer driver adaptation process according to the first embodiment. The adaptation tool 300 performs this processing in step S607 of Fig. 6A instead of processing in Fig. 6C. In step S1011, the customization tool 300 determines whether an INF file has been specified in a path defined in the dialog box, which appears when "Open" is selected in menu 301. Fig. 3 is selected. If an INF file has been specified (YES in step S1011), the customization tool 300 determines that the in Fig. 7A illustrated the INF format installation set as the installation set for the printer driver to be adapted. Then, the adaptation tool 300 proceeds to step S1012. However, if no INF file was specified (NO in step S1011), the adaptation tool 300 determines that the one in Fig. 9A illustrated the installer format installation set as the installation set for the printer driver to be adapted. Then, the adaptation tool 300 proceeds to step S1014. Since the INF format installation set was determined as the base installation set in step S1012, installer 1102 and an installer subfolder 1103 are not present in the installation set. Therefore, the adaptation tool 300 copies the following to create the installation set: Fig. In step 11 of the illustrated installation set, an installer format installation set for the printer driver, stored in the customization tool 300, is copied to a folder at a specified location determined by pressing button 330. Additionally, in step S1013, the customization tool 300 copies the INF format installation set to be customized to a location within folder 701. Fig. 11.
[0055] Customization Tool 300 proceeds to step S1014 if the installer format installation set has been designated as the base installation set. In step S1014, Customization Tool 300 copies the designated installer format installation set to a specified location path in display field 331. In step S1015, Customization Tool 300 copies the INF file 701 to the folder at the specified location and a settings file to be customized from among the settings files 704 to the installer subfolder 1103. Then, in steps S1106 and S1107, Customization Tool 300 configures the customization settings for the files in the installer subfolder 1103, similar to steps S632 and S633. Through this processing, the customized installer format installation set is installed according to the first embodiment as described in Fig. 11 illustrated.
[0056] Next, the printer driver installation process will begin using the [unclear - possibly referring to a specific component or service]. Fig. 11 illustrated installers 1102 with reference to Fig. 10C described. In step S1021, the installer 1102 displays a UI for configuring installation settings. This process is similar to that described in step S911 in Fig. 9B. This processing differs from step S911 only in the information about selectable candidate models to be installed, which installer 1102 refers to in order to display a UI for selecting a model to install. Installer 1102 displays a list of selectable candidate models to be installed based on the contents of the in Fig. 11 illustrated the adapted INF file 742. In steps S912 to S915, the installer 1102 installs the printer driver on the OS 205 using the INF format installation set 701, which has a match between the catalog file and the installation set according to the configuration information set for the installer 1102 in step S1021. The processing is identical to that described by identical reference marks in Fig. The processing described in section 9B is identical. Therefore, its description is omitted here.
[0057] In steps S1022 to S1024, installer 1102 replaces the configuration files 704 installed on OS 205 with the customized configuration files 743 to apply the customization settings to the printer driver installed in OS 205. Specifically, in step S1022, installer 1102 stops a print spooler (not shown). The print spooler is a module that controls the entire printing function in OS 205 and is one of the modules that comprise OS 205. In step S1023, installer 1102 replaces the configuration files 704 stored in a driver-related folder in OS 205 with the configuration files 743. Then, in step S1024, installer 1102 starts the print spooler. Stopping the print spooler is a procedure to prevent an error when replacing the settings files if printing is in progress while the settings files 704 are being replaced by the customized settings files 743.A method for preventing such an error is not limited to what has been described above, and any other suitable method may be used. However, OS 205 does not assume that the settings files are replaced after the printer driver is installed. Therefore, the replacement of the settings files by the installer 1102 in step S1023 affects print processing in OS 205. Measures to reduce this effect on printing during the settings file replacement are described below in a third embodiment.
[0058] According to the first embodiment, a custom printer driver can be installed on an OS that terminates the installation if the OS detects an installation of a printer driver that lacks a match between a catalog file and an installation set.
[0059] The in Fig. Figure 11 shows the INF format installation set folder 701 of the first embodiment storing an unmodified installation set. Therefore, it is possible that a user could find the INF file 702 and install the printer driver on an information processing device using an installation procedure with reference to the INF file. Fig. The installation is described in section 8A. In this case, a problem occurs where an unadapted printer driver is installed on the OS, contrary to the user's wishes. The adapted driver can only be installed on the new OS by replacing the one described in section 8A. Fig. Folder 701 shown in 9A by the one in Fig. The folder shown in section 7E, 741, cannot be installed. A second embodiment describes a method for addressing these two problems.
[0060] The following describes a process according to the second embodiment to solve the problem. First, an adaptation process using the Adaptation Tool 300 is described. Then, an installation process of a printer driver using a customized installer format installation set is described.
[0061] The adaptation processing of a printer driver by the adaptation tool 300 according to the second embodiment is now described. Through this adaptation processing, the adaptation tool 300 of the second embodiment generates an installer format installation set 1301 with a Fig. Folder structure shown in 13. Fig. Figure 12A illustrates a processing flow when the Customization Tool 300 generates the printer driver installation set. The Customization Tool 300 executes this processing flow in step S607 of Fig. 6A off. The processing in Fig. 12A differs from the processing in Fig. 10B in steps S1201 and S1202, i.e., the files to be adapted are different. In steps S1201 and S1202, the adaptation tool configures adaptation settings similar to those in steps S1016 and S1017 for the INF format installation set. The INF format installation set is located in folder 741 and has the name in Fig. The folder structure shown in section 13 is processed through this method. Fig. Figure 13 shows a modified installer format installation set for the second embodiment. The processing in the remaining steps is carried out using the identical reference numbers in Figure 13. Fig. The steps described in section 10B are identical. Therefore, a description is omitted here.
[0062] Next, an installation process of a printer driver with an installer execution module 1302 (hereinafter referred to as the installer) according to the second embodiment is described with reference to Fig. 12B described. In step S1211, the installer 1302 displays a UI for configuring installation settings. This process is similar to that described in step S1021 in Fig. 10C. However, the second embodiment differs from the first embodiment in the storage location of the adapted INF file 742. The installer 1302 refers to the adapted INF file 742 to display a UI for selecting the name of a model to be installed. In step S1212, the installer 1302 saves the file under folder 741 in Fig. The INF format installation set located in step 13 is temporarily stored in a temporary folder (referred to below as the TEMP folder) provided by OS 205 using a memory area of RAM 2. In step S213, the installer overwrites files in the INF format installation set stored in the TEMP folder with INF file 702 and configuration files 704 in the installer subfolder 1303. The processing in steps S1212 and S1213 creates a signed, pre-customized INF format installation set in the TEMP folder. In step S1214, the installer 1302 installs the target printer driver using INF file 702 in the TEMP folder, similar to step S912. The remaining processing is the same as described in step S912, with identical references. Fig. The processing described in section 10C is identical. Therefore, its description is omitted here.
[0063] As described above, the adaptation tool 300 of the second embodiment generates the installation kit 1302 with the in Fig. The setup shown in section 3. The user can install a customized driver in OS 205 by starting installer 1302 from Fig. 13 to perform the installation. Even if a user installs a printer driver via the reference to Fig. The installation procedure described in section 8A, using the INF file, installs a customized printer driver on an older OS with the intended processing of Fig. 8B installed. Furthermore, the installation in a new OS will include the determination processing of Fig. 8C stopped. By generating the installation kit with the in Fig. The folder structure shown in section 13 can prevent the installation of an unsuitable printer driver.
[0064] In the first and second implementations, configuration files are replaced by customized configuration files for a printer driver. OS 205 does not provide for replacing configuration files after printer driver installation. Therefore, a problem arises: replacing the configuration files by the installer affects user printing. In a third implementation, to mitigate this problem, the installer performs a determination regarding the OS environment, thus ensuring that the print spooler, on older operating systems, handles the configuration process. Fig. 8B not stopped or started.
[0065] Fig. 14A illustrates a processing flow in which the in Fig. The installation process shown in Figure 10C for the first embodiment is extended. In this processing sequence, step S1401 is a determination of OS 205 between steps S1021 and S912 of the processing sequence of Fig. 10C added. In step S1401, the installer calls an API provided by OS 205 to determine whether OS 205 supports the determination processing of Fig. 8B or the processing of the intended purpose of Fig. 8C has. Does OS 205 have the determination processing of Fig. If 8B (NO in step S1401), the installer proceeds to step S1402. If OS 205 has completed the determination processing of Fig. If 8C (YES in step S1401), the installer proceeds to step S912. Through the processing in step S1402 and thereafter, a printer driver can be installed using an INF file from an OS function, even if the signature of an installation set is corrupted. Thus, the installer creates a customized INF format installation set in a TEMP folder from the installer format installation set. Fig. 11. In step S1402, the installer copies the Fig. Step 11 illustrates the signed installation set 701 being copied to a TEMP folder. In step S1403, the installer overwrites files in the INF format installation set copied to the TEMP folder with INF file 742 and the configuration files 743 in the installer subfolder 1303. The processing in steps S1402 and S1403 creates a customized INF format installation set in the TEMP folder. In step S1404, the installer installs the target printer driver using INF file 742 in the installation set in the TEMP folder, similar to step S912. The processing in the remaining steps in Fig. 14A is identical to the steps with the identical reference symbols in the installation process of Fig. 10C, which is why the description is omitted here.
[0066] Fig. 14B illustrates a processing flow in which the in Fig. The installation process illustrated in Figure 12B is extended to the second embodiment. In this processing sequence, step S1401, which determines the OS 205, is located between steps S1211 and S1212 of the processing sequence. Fig. 12B added. In step S1401, the installer calls an API provided by OS 205 to determine whether OS 205 supports the determination processing of Fig. 8B or the processing of the intended purpose of Fig. 8C has. Does OS 205 have the determination processing of Fig. If 8B (NO in step S1401), the installer proceeds to step S912. However, if OS 205 has the determination processing of Fig. If 8C (YES in step S1401), the installer proceeds to step S1212. Through the processing in step S912 and thereafter, a printer driver can be installed using an INF file from an OS function even if a signature of the installation set is corrupted. In this case, the installer installs the target printer driver using INF file 742 from the [unclear text]. Fig. The installer format installation set illustrated in step 13 is processed in a similar manner to step S912. The processing in the remaining steps in Fig. 14B is identical to the steps with identical reference symbols in the installation process of Fig. 12B, which is why a description is omitted here.
[0067] As previously described, in an environment that allows the installation of a printer driver, even with a signature-corrupted installation kit, using an INF file, the printer driver is installed by the OS function using the INF file, while the installer determines the OS environment. This prevents the configuration files from being replaced in such an OS environment, thus reducing the impact on the printing process caused by user intervention.
[0068] In each embodiment of the invention, there is a possibility that a malicious user might modify the customized INF file 742, the customized settings file 743, and installer settings files 1104 and 1304. To prevent such modification, the customization tool 300 calculates encrypted hash values of the aforementioned files and writes the encrypted hash values to the installer settings files 1104 and 1304. A hash-based message authentication code (HMAC) is used for the encrypted hashing operation, and the customization tool 300 and the installer 1102 or 1302 both store the same private key. During the final processing in Fig. 10B or in Fig. 12A, the customization tool 300, calculates the encrypted hash values of the aforementioned files using the private key and writes the calculated encrypted hash values to the installer settings file 1104 or 1304. At the start of the installation process, the installer 1102 or 1302 calculates the encrypted hash values of the aforementioned files and compares the resulting encrypted hash values with the values written to the installer settings file 1104 or 1304. If the hash values match, the installer 1102 or 1302 continues the installation process. If the hash values do not match, the installer 1102 or 1302 stops the installation process.Abusive modifications made to the Installer Execution Module 1102 or 1302 can typically be handled by adding an electronic signature to the Installer Execution Module 1102 or 1302.
[0069] Although the configuration files were replaced in the embodiments described above, the method is not limited to replacing configuration files as long as an installed driver can be modified. For example, a configuration file of an installed driver can be rewritten so that it is identical to a configuration file that supports customization settings. After a non-customized driver has been installed on an information processing device, a customized driver can be installed on the information processing device by several other methods. In this specification, the phrase "to modify an installed driver" generally refers to a process for bringing an information processing device into the previously mentioned state in which a customized driver is installed.
[0070] In the implementation examples described above, the installed driver is modified after all the files in an installation kit for the driver to be modified have been installed. However, the installed driver files can be modified sequentially, even before all files in the installation kit are installed. For example, an installed settings file can be modified in a state where the installation of the settings file is complete and an execution module is to be installed, but before the installation of the execution module is started.
[0071] In the present specification, an installer format installation set folder, as in Fig. 11 or Fig.Figure 13 shows and describes an installation set folder suitable for each of the embodiments. However, other files and modules can also be included in each of the installation set folders. For example, a file and a module required to install a setup application can be included along with the driver. Additionally, a driver module and a catalog file can also be included in the installer subfolder 1103 or 1303. For example, including a driver module in an installation set folder can lead to a redundant configuration. However, if an existing installer is designed to primarily use an installer subfolder, an embodiment of the invention can be implemented, although improvements to the installer are minimized.Thus, there are no restrictions on the number of files and modules that can be placed in any folder, and they can be configured according to the installer's design.
[0072] In the installation process of each embodiment of the invention, an installer installs a non-customized driver and then modifies the installed driver. However, these operations do not have to be performed sequentially. For example, the installer may terminate the installation process once at the point where it has installed a non-customized driver. Afterward, the installer may restart the installation process upon receiving a user instruction to resume the installation of the modified driver. Here, the installation process is terminated once when the installation of the non-customized driver is complete. However, the installation process can also be suspended instead.If the installation process needs to be paused, the installer can ask the user whether to resume the installation from a point where the installation of the non-customized driver is complete. If the installer then receives a user instruction to continue the installation process, it can resume the paused process. In this way, the installation process operations do not necessarily have to be executed sequentially. However, in each implementation, it is preferable to complete the entire installation process at once. This is because the user instruction step can be omitted when the installation process is completed in one go, and OS security requirements can be met in several stages of the installation process.
[0073] In the embodiments of the invention described above, when installing an installation kit for a customized driver, a driver module is installed in addition to an INF file and a settings file during each installation process. However, if a driver of the same model as the customized driver is already installed, the driver module does not need to be installed, and only the INF file and the settings file that affect the customization need to be installed. For this purpose, the installer must be modified as follows. When the installer starts the installation, it queries the operating system for the name and model of the installed driver. The installer then determines whether the received name matches the model name in the INF file of the driver to be installed.If the names match, the installer installs the INF file and the configuration file of the customized driver. If the driver module is not installed, for security reasons it is preferable that the installer again generates a customized INF file and a catalog file based on the configuration file and then installs the driver.
[0074] In the embodiments of the invention, a printer driver was described as a suitable example. However, the invention is not limited to a printer driver. For example, a scanner driver or a fax driver can have the same configuration as the printer driver described in the embodiments of the invention, and the scanner driver or the fax driver can be installed using the same process. Furthermore, the invention is not limited to a driver for image processing. The embodiments of the invention are advantageous if the functional settings (e.g., print settings) of a driver can be adjusted via a function settings screen displayed by the driver (e.g., a printer driver UI capable of print settings). Further examples of implementation
[0075] Embodiments of the invention can also be implemented by a computer of a system or device that reads and executes computer-executable instructions recorded on a storage medium (for example, a non-volatile, computer-readable storage medium) to perform the functions of one or more of the embodiments of the invention described above, and by a method carried out by the computer of the system or device, for example, by reading and executing the computer-executable instructions from the storage medium to perform the functions of one or more of the embodiments described above. The computer can comprise one or more central processing units (CPUs), microprocessing units (MPUs), or other circuits, and can include a network of separate computers or separate computer processors.The computer-executable instructions can be supplied to the computer, for example, from a network or the storage medium. The storage medium can include, for example, a hard disk and / or random access memory (RAM) and / or read-only memory (ROM) and / or distributed computing system memory and / or an optical disc (such as a compact disc (CD) and / or digital versatile disc (DVD) and / or Blu-ray disc (BD) (registered trademark)) and / or a flash memory device and / or a memory card and the like.
Claims
[1] Information processing device (3000) with a startup unit (205) configured to start an installation of a driver customized with respect to a function setting value that can be set in a function setting screen, a generation unit (300) configured to generate a customized driver containing a catalog file in which a hash value corresponding to the driver for which the adaptation has not yet been performed is written, and an installation unit (902, 1102, 1302) configured to compare a hash value of a settings file of the driver for which the adaptation has not yet been performed, which is contained in the customized driver, with the hash value in the catalog file, and if the hash values match each other, to install the driver for which the adaptation has not yet been performed, and to replace a settings file of the installed driver with the settings file of the driver for which the adaptation has been performed, which is contained in the customized driver, wherein the function setting value that can be set via the driver is determined based on a setting file of the driver, and wherein the installation unit (902, 1102, 1302) is configured to modify the driver by replacing a settings file of the installed driver with a settings file generated via the customization. [2] Information processing apparatus (3000) according to claim 1, further comprising a display unit (10) configured to display an adjustment screen via which the adjustment is performed at the driver, wherein the generation unit (300), in response to receiving an instruction to generate a customized driver after the function setting value has been modified via the screen, is configured to generate the customized driver including the setting file of the driver for which the customization has not yet been performed and the setting file of the driver for which the customization has been performed. [3] The information processing apparatus (3000) according to claim 2, wherein the generating unit (300) is configured to generate a customized driver including an installer and a setting file for the installer, wherein the starting unit (205) is configured to start the installation when the installer is started, and wherein the installation unit (902, 1102, 1302) is configured to install the settings file of the driver for which the customization has not yet been performed, corresponding to the settings file for the installer that is read when the installer starts, and to replace the settings file of the installed driver with the settings file of the driver for which the customization has been performed, which is included in the customized driver. [4] The information processing apparatus (3000) according to claim 2, wherein the generating unit (300) is configured to generate a customized driver including an installer and a setting file for the installer, wherein the starting unit (205) is configured to start the installation when the installer is started, and wherein the installation unit (902, 1102, 1302) is configured to temporarily store a driver in which the settings file of the driver for which the customization has been performed, contained in the customized driver, is replaced by the settings file of the driver for which the customization has not yet been performed, according to the settings file for the installer read when the installer is started, in a memory, to install the driver temporarily stored in the memory, and then to replace the settings file of the installed driver with the settings file generated via the customization. [5] The information processing apparatus (3000) according to claim 4, wherein the generation unit (300) is configured to store the settings file of the driver for which the customization has not yet been performed in an installer subfolder, and to create a customized driver that stores the settings file of the driver for which the customization has been performed in an INF format installation set folder, and wherein the installation unit (902, 1102, 1302) is configured to temporarily store a driver in which the settings file of the driver for which the customization has been performed, stored in the INF format installation set folder, is replaced by the settings file of the driver for which the customization has been performed, stored in the installer subfolder, in accordance with the settings file for the installer that is read when the installer is started, in a memory,to install the driver temporarily stored in the memory, and then to replace the settings file of the installed driver with the settings file generated through customization. [6] The information processing apparatus (3000) according to any one of claims 1 to 5, wherein the installation unit (902, 1102, 1302) is configured to stop a print spooler after installing the driver for which the adjustment has not yet been performed, and modify the installed driver while the print spooler is stopped. [7] Information processing apparatus (3000) according to claim 6, further comprising a determination unit (205) configured to determine whether an operating system (OS) contained in the information processing device installs a driver with a damaged signature, wherein, when the OS installs a driver with a damaged signature, the installation unit (902, 1102, 1302) is configured to install the driver for which the adjustment was performed without stopping the print spooler, and when the OS does not install a driver with a damaged signature, the installation unit (902, 1102, 1302) is configured to stop the print spooler and modify the installed driver while the print spooler is stopped. [8] The information processing apparatus (3000) according to any one of claims 1 to 7, wherein the adjustment includes a modification of an initial value of the function setting value displayed in the function setting screen as a standard and a modification of a display of the function setting value that can be set. [9] The information processing apparatus (3000) according to any one of claims 1 to 8, wherein the OS included in the information processing apparatus is Windows (registered trademark) which does not install a driver with a damaged signature. [10] The information processing apparatus (3000) according to any one of claims 1 to 9, wherein the driver is a printer driver, and the function setting value is a print setting value. [11] The information processing apparatus (3000) according to any one of claims 1 to 10, wherein the installation unit (902, 1102, 1302) is configured to stop installation processing after installing the driver for which the customization has not yet been performed, and modify the installed driver upon receiving an instruction from a user such that a function setting value that can be set via the installed driver becomes identical to the function setting value of the driver for which the customization has been performed. [12] A method for installing a driver on an information processing device, comprising Starting an installation of a driver customized with a feature setting value that can be set in a feature setting screen, Creating a customized driver that contains a catalog file containing a hash value corresponding to the driver for which the customization has not yet been performed, Comparing a hash value of a driver settings file for which the customization has not yet been performed, which is contained in the customized driver, with the hash value in the catalog file, and if the hash values match, Installing the driver for which the adjustment has not yet been performed, and Replacing a settings file of the installed driver with the settings file of the driver for which the customization was performed, which is contained in the customized driver, wherein the function setting value that can be set via the driver is determined based on a setting file of the driver, and the driver is modified by replacing a settings file of the installed driver with a settings file generated via customization. [13] A program that causes a computer to perform the following steps: Accepting an instruction specifying an installation set format driver, Displaying an adjustment screen for performing an adjustment on the driver with respect to a function setting value that can be set via a function setting screen displayed by the driver, Creating a customized driver that contains a catalog file containing a hash value corresponding to the driver for which the customization has not yet been performed, Comparing a hash value of a driver settings file for which the customization has not yet been performed, which is contained in the customized driver, with the hash value in the catalog file, and if the hash values match, Installing the driver for which the adjustment has not yet been performed, and Replacing a settings file of the installed driver with the settings file of the driver for which the customization was performed, which is contained in the customized driver, wherein the function setting value that can be set via the driver is determined based on a setting file of the driver, and the driver is modified by replacing a settings file of the installed driver with a settings file generated via customization.
Citation Information
Patent Citations
Information processing apparatus and method, program, and storage medium
EP1710680A2
Print control unit and its method, and installer
JP2005326964A
Information processing apparatus, information processing method, program, and storage medium
JP2006309724A
Information processor, control method for information processor, program and recording medium
JP2009217331A
Network system, information processing unit, information processing method, and control program
US20020083431A1