WO2014024410A1 - Information processing apparatus, installation method, and program - Google Patents
Information processing apparatus, installation method, and program Download PDFInfo
- Publication number
- WO2014024410A1 WO2014024410A1 PCT/JP2013/004554 JP2013004554W WO2014024410A1 WO 2014024410 A1 WO2014024410 A1 WO 2014024410A1 JP 2013004554 W JP2013004554 W JP 2013004554W WO 2014024410 A1 WO2014024410 A1 WO 2014024410A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- driver
- customization
- installation
- installer
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the program performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1225—Software update, e.g. print driver, modules, plug-ins, fonts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Definitions
- the present invention relates to an information processing apparatus on which a customized driver is installed, a method for installing the driver, and a program.
- Windows (registered trademark) printer driver is a representative example of print control programs for controlling a printer.
- An installation set for the Windows (registered trademark) printer driver includes a catalog file called a CAT file for the printer driver.
- the catalog file stores an array of hash values of files included in the installation set.
- An electronic signature can further be appended to the catalog file. If the stored hash values are compared with the hash values of the files in the installation set after verifying the electronic signature appended to the catalog file, it is possible to verify whether contents of the files within the installation set are modified.
- Japanese Patent Application Laid-Open No. 2006-309724 discusses a customization technique that allows initial setting values displayed by a printer driver by default to be modified and that enables input control of setting values which the user can set through a user interface (UI) of the printer driver.
- UI user interface
- a printer driver is created in which some setting files in an installation set for the printer driver have been modified.
- the created printer driver includes, in addition to the setting files that have been modified through the customization, unmodified driver module and catalog file.
- a driver is created in such a form that allows a customized driver to be installed by itself. If the aforementioned created driver includes only the setting files that have been modified through the customization, a user needs to prepare a separate driver module. Therefore, the user needs to manage the modified setting files and a driver module in association with each other, which increases load on the user. Accordingly, in a conventional technique, a driver is created in a form such that a customized driver can be installed by itself. Since the user can carry out an installation operation with ease, such a customized driver may be considered a user-friendly driver.
- the setting files of that driver have been modified, and thus the driver is in a state where the hash values of the setting files do not match with the hash values written in the catalog file, or in other words, a state that lacks consistency between the catalog file and the installation set.
- An information processing apparatus includes a starting unit configured to start installation of a driver customized as to a function setting value that can be set in a function setting screen and an installation unit configured to install a driver on which the customization has not yet been performed, in response to the start of installation of the driver, and to modify the installed driver such that a function setting value settable by the installed driver becomes identical to the function setting value of the driver on which the customization has been performed.
- Fig. 1 is a block diagram illustrating a configuration of a print processing system according to an exemplary embodiment of the present invention.
- Fig. 2 illustrates a memory map in a random-access memory (RAM) of a host computer.
- Fig. 3 illustrates an example of a main UI of a custom tool.
- Fig. 4 illustrates an example of UI for setting a printer driver initial value of the custom tool.
- Fig. 5 illustrates an example of a display setting UI for a printer driver of the custom tool.
- Fig. 1 is a block diagram illustrating a configuration of a print processing system according to an exemplary embodiment of the present invention.
- Fig. 2 illustrates a memory map in a random-access memory (RAM) of a host computer.
- Fig. 3 illustrates an example of a main UI of a custom tool.
- Fig. 4 illustrates an example of UI for setting a printer driver initial value of the custom tool.
- Fig. 5 illustrates an example of
- FIG. 6A is a flowchart illustrating basic operations of the custom tool.
- Fig. 6B is a flowchart illustrating basic operations of the custom tool.
- Fig. 6C is a flowchart illustrating basic operations of the custom tool.
- Fig. 7A illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7B illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7C illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7D illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7E illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7A illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7B illustrates an exemplary folder structure and an exemplary file structure of an installation set.
- Fig. 7C illustrates an exemplary folder structure and an
- FIG. 8A is a flowchart illustrating installation processing using an information (INF) file.
- Fig. 8B is a flowchart illustrating installation processing using an information (INF) file.
- Fig. 8C is a flowchart illustrating installation processing using an information (INF) file.
- Fig. 9A illustrates an installer format installation set.
- Fig. 9B is a flowchart illustrating installation processing of the installation set.
- FIG. 10A is a flowchart illustrating customization processing and installation processing of a first exemplary embodiment.
- Fig. 10B is a flowchart illustrating customization processing and installation processing of a first exemplary embodiment.
- Fig. 10C is a flowchart illustrating customization processing and installation processing of a first exemplary embodiment.
- FIG. 11 illustrates a structure of a customized installation set of the first exemplary embodiment.
- Fig. 12A is a flowchart illustrating customization processing and installation processing of a second exemplary embodiment.
- Fig. 12B is a flowchart illustrating customization processing and installation processing of a second exemplary embodiment.
- Fig. 13 illustrates a structure of a customized installation set of the second exemplary embodiment.
- Fig. 14A is a flowchart illustrating installation processing of a third exemplary embodiment.
- Fig. 14B is a flowchart illustrating installation processing of a third exemplary embodiment.
- a new operating system is emerging that stops installation when the OS detects installation of a driver that lacks consistency between a catalog file and an installation set.
- OS operating system
- a customized driver has advantages as described above, an information processing apparatus that includes such an OS does not allow installation of a customized driver. That is because a customized driver lacks consistency between a catalog file and an installation set. A user cannot use a customized driver in an information processing apparatus that includes such an OS.
- the present invention is directed to installing a customized driver onto an information processing apparatus that includes an OS which does not allow installation of a customized driver that lacks consistency between a catalog file and an installation set.
- each of the exemplary embodiments exemplifies a method for customizing a printer driver for Windows (registered trademark), which is an OS program for personal computers and is distributed by Microsoft (registered trademark) Corporation.
- Fig. 1 is a block diagram illustrating a configuration of a print processing system according to an exemplary embodiment of the present invention.
- This print processing system includes a host computer 3000, which is an information processing apparatus, and a printer 1500 that receives print data from the host computer 3000 to carry out printing.
- a central processing unit (CPU) 1 In the host computer 3000, a central processing unit (CPU) 1 generally controls devices connected to a system bus 4 in accordance with a program stored in a RAM 2.
- the RAM 2 also functions as a main memory and a work area for the CPU 1.
- a read-only memory (ROM) 3 stores various programs and data pieces and includes 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 input/output system (BIOS)
- the data ROM 3c stores various data pieces.
- An operation input device interface (IF) 5 controls an input from a keyboard 9 or a pointing device such as a mouse.
- a cathode-ray tube (CRT) controller (CRTC) 6 controls a display on a display 10.
- a disk controller (DKC) 7 controls an access to an external memory 11 such as a hard disk (HD).
- a printer controller (PRTC) 8 is connected with the printer 1500 through a bidirectional interface 21 and carries out communication control processing between the PRTC 8 and the printer 1500.
- the external memory 11 includes, for example, an HD and a flash memory drive (SSD). As illustrated in Fig. 1, the external memory 11 stores an OS 205, applications 201, and a print processing related program 204. Examples of the applications 201 include a document processing application program for processing a document in which graphics, images, texts, tables, and so on are mixedly present. The external memory 11 also stores a user file and an edit file (not illustrated) related to the applications 201.
- the print processing related program 204 generates print data that is written in a page description language and is shared by a plurality of printers of the same series.
- the print processing related program 204 (hereinafter, referred to as a printer driver) includes a printer control command generation module 2041 and a printer driver UI control module 2042.
- the CPU 1 for example, carries out rasterization processing of an outline font into the RAM 2 to enable a What You See Is What You Get (WYSIWYG) display on the display 10. Furthermore, the CPU 1 opens registered windows and carries out data processing based on commands instructed through a mouse on the display 10.
- a user can open a print setting screen, which is controlled by the printer driver UI control module 2042, and configure the settings for print processing in the printer driver such as function settings of the printer and selection of a print mode.
- a CPU 12 controls an overall operation of the printer 1500.
- a RAM 19 functions as a main memory and a work area for the CPU 12 and is also used as an output information expansion region and an environmental data storage region.
- the RAM 19 includes a non-volatile RAM (NVRAM) region and is configured such that the memory capacity thereof can be expanded with an optional RAM to be connected to an expansion port (not illustrated).
- a ROM 13 includes a font ROM 13a, a program ROM 13b, and a data ROM 13c.
- the font ROM 13a stores various fonts
- the program ROM 13b stores a control program to be executed by the CPU 12
- the data ROM 13c stores various data pieces.
- An input unit 18 transmits and receives data to and from the host computer 3000.
- a print unit interface 16 controls an interface with a print unit 17, which is a printer engine.
- An access to an external memory 14 is controlled by a memory controller (MC) 20.
- the external memory 14 may be an external hard disk (HD), a magneto-optical disk (MO), a floppy (registered trademark) disk (FD), an integrated circuit (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, and so on. If the external memory 14 such as a hard disk is not connected, information to be used in the host computer 3000 is stored into the data ROM 13c of the ROM 13.
- the number of the external memory 14 is not limited to one, and the external memory 14 may be provided in a plurality. For example, external memories 14 that store optional font cards aside from the built-in fonts, and programs that interpret printer control languages of different language systems may be connected.
- An operation unit 1501 includes an operation panel for accepting a user operation, and switches and light-emitting diode (LED) display devices (not illustrated) to be operated are arranged on the operation panel.
- the operation unit 1501 may include an NVRAM (not illustrated) and store printer mode setting information input from the operation panel.
- the CPU 12 outputs an image signal serving as output information to the print unit (printer engine) 17 through the print unit interface 16 in accordance with a control program stored in the program ROM 13b of the ROM 13.
- the CPU 12 can perform communication processing with the host computer 3000 through the input unit 18.
- the CPU 12 can receive print data transmitted from the host computer 3000 through the input unit 18 and also notify the host computer 3000 of information within the printer 1500.
- Fig. 2 illustrates a memory map in the RAM 2 in a state in which a predetermined application and a program related to print processing are started and a program and data are loaded onto the RAM 2 of the host computer 3000.
- the applications 201, the print processing related program 204, and relevant data 203 are loaded onto the RAM 2.
- a free memory region 202 is also secured in the RAM 2. With these settings, the applications 201 and the program 204 related to print processing can be executed.
- the printer driver UI control module 2042 (see Fig. 1) of the print processing related program 204 displays a print setting screen on the display 10 in response to a print setting instruction by a user and allows the user to configure the settings using the keyboard 9.
- Fig. 3 illustrates an exemplary UI of the custom tool 300.
- the custom tool 300 is loaded as a part of the applications 201 illustrated in Fig. 2 and is realized when executed by the CPU 1 of the host computer 3000.
- a standard dialog box (not illustrated) for the OS 205 is displayed to specify an INF file of an installation set for a printer driver to be customized.
- an INF file for the printer driver to be customized is specified in the stated dialog box.
- a storage path to the INF file of the base installation set is displayed in a display field 302.
- a corresponding OS for the installation set for the printer driver in the storage destination of the specified INF file is displayed in a display field 303.
- a list of models that are compatible with the installation set for the printer driver to be customized is displayed in a list view 305.
- a target model to be customized can be selected in the list view 305.
- a display of the current target model to be customized is changed in a section underneath the list view 305.
- identification information "on/off" indicating how a given model is customized changes for each model in the list view 305.
- a button 311 is enabled.
- a printer driver UI for customization (see Fig. 4) is displayed.
- an initial value for print settings (document properties) and an initial value for device settings (printer properties) to be displayed by default can be set.
- a button 321 is enabled.
- a UI see Fig.
- a standard dialog box of the OS 205 (not illustrated) is displayed for specifying a folder in which a customized driver is created. Then, a designated location in which the customized driver is created can be specified in the stated dialog box. Once the designated location is specified, a storage path to the customized installation set is displayed in a display field 331.
- a button 340 after modifying various function setting values, a printer driver that is customized in accordance with the modified function settings is created.
- Fig. 4 illustrates a printer driver UI (initial setting value customization UI) for customizing initial setting values of the printer driver.
- the custom tool 300 is loaded as a part of the applications 201 illustrated in Fig. 2 and is executed by the CPU 1 of the host computer 3000.
- This UI illustrated in Fig. 4 is displayed when the user presses the button 311 in the UI illustrated in Fig. 3.
- the custom tool 300 functions as a setting unit of the host computer 3000 under the control of the CPU 1.
- Such a setting unit for example, displays, on a CRT, a UI for configuring document property settings and device property settings, such as the UI illustrated in Fig. 4.
- a document property UI for configuring document settings and a printer property UI for configuring device settings are not displayed simultaneously within a single UI.
- the custom tool 300 directly uses a printer driver module to perform the display. Accordingly, a document property UI for configuring document settings and a printer property UI for configuring device settings can be displayed simultaneously within a single UI as illustrated in Fig. 4.
- UIs including a page setting UI 401, a finish UI 402, a paper supply UI 403, and a print quality UI 404 can be displayed as the document property UIs.
- a device setting UI 405 is also displayed as the printer property UI.
- the initial setting values of the document properties and the initial setting values of the printer properties are accepted through the UIs 401 to 405.
- Settings that are not to be customized are grayed out as in a button 410 in the UI illustrated in Fig. 4 so as not to accept an input from the user.
- a method for changing the initial values of the print setting values to be displayed by default through the printer driver UI realized by the custom tool 300 has been described.
- Fig. 5 illustrates a UI (document property display control setting UI) for controlling a display of the document properties of the printer driver to limit a user input.
- the UI illustrated in Fig. 5 is displayed on the display 10 of the host computer 3000 when the user presses the button 321 in the UI illustrated in Fig. 3.
- display control settings can be set to page settings 501, a finish 502, a paper supply 503, print quality 504, and common settings 505.
- the page settings 501, the finish 502, the paper supply 503, and the print quality 504 allow the user to configure the settings for the display controls corresponding to the document property UIs illustrated in Fig. 4.
- the common setting 505 allows the user to configure the settings for the display control that is common to the aforementioned display controls.
- a specific example of the settings for a control item "Job Operations" is listed in a pull-down 506.
- One of "enable” (i.e., normal display), "disable” (i.e., display is always disabled), and "hide” can be specified.
- one of "enable,” “disable,” and “hide” can be set individually for each of the remaining control items, and thus the display controls in the document property UI can be customized.
- the custom tool 300 edits a setting file of the printer driver. Disabling of a display can be achieved by graying out an item so as not to allow the user to operate on the item.
- the custom tool 300 executed by the CPU 1 of the host computer 3000 is the operating nucleus.
- the custom tool 300 goes through initialization processing. Specifically, the custom tool 300 displays the UI illustrated in Fig. 3 onto the display 10.
- the custom tool 300 accepts from the user an input specifying a storage location of an installation set for a printer driver to be customized, through the UI illustrated in Fig. 3.
- Fig. 7A illustrates an exemplary folder structure of an INF format installation set, which is to be customized by the custom tool 300.
- FIG. 7A illustrates merely an example of an installation set for a printer driver. Although details will be given later, Fig. 9A is also an example of an installation set for a printer driver. Such an installation set for a printer driver may also be referred to as a driver or a driver program in some cases.
- An INF format installation set folder 701 stores an INF file 702, driver modules 703, setting files 704, and a catalog file 705 of the printer driver.
- Fig. 7B illustrates an example of contents of the INF file 702 in which installation information of the printer driver is written.
- the INF file 702 is referenced by the OS 205 when the printer driver is installed onto the OS 205.
- Information written in the INF file 702 will be described with reference to the example illustrated in Fig. 7B starting from the beginning of the INF file 702.
- the section 711 includes a DriverVer key 7112 that indicates a driver version and a CatalogFile key 7113 that indicates the name of the catalog file 705. Version information is written as a value of the DriverVer key 7112, and the name of the catalog file 705 is written as a value of the CatalogFile key 7113.
- a section 712 is placed to describe the names of printer models that are compatible with the INF format installation set.
- the section 712 lists, as keys, the names of printer models that are compatible with the installation set for the printer driver. As the values of these keys, section names that describe configuration modules and files included in the printer drivers for those models are specified. Any character strings can freely be defined as the value of the keys except forbidden characters.
- a section named "ABC” is defined for a model "Canon ABC LIPS.” Under an "ABC" section 731, file names of the driver modules 703, the setting files 704, and the catalog file 705 that are included in the printer driver for the model "Canon ABC LIPS" are written.
- a setting file to be customized is specified as a value of a DataFile key 7131.
- file names of other modules are also written under the "ABC” section 713, those file names are omitted in Fig. 7B for the sake of simplicity.
- a “Strings” section 714 is located at the end of the INF file 702. In the “Strings”, character strings are described which are displayed on the UI through the OS 205 during installation processing using the INF format installation set.
- Fig. 7C illustrates an exemplary data format of the setting file 704, which is one of the files included in the printer driver.
- the setting file 704 is specified through the DataFile key 7131 under the section 713, which is a section for each model in the INF file 702. Therefore, a different setting file can be associated with each model.
- the setting file 704 includes, 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 piece stored in the data 723 and a storage location (address) of the data piece. Then, these pairs are stored in the number which corresponds to the number of the IDs.
- the custom tool 300 of the exemplary embodiment modifies the value of data that corresponds to an ID defined for customization.
- the printer driver reads the setting values in the setting file 704 and reflects the read setting values onto the print settings displayed on a print setting screen that is displayed by the printer driver. If the setting file 704 has been customized, the printer driver reflects the customized setting values within the setting file 704 onto the printer driver. For example, the printer driver reflects in advance preset settings of frequently used print setting values (e.g., two-sided, 2 in 1, and so on) onto the printer driver. Then, by installing the customized driver, the frequently used print setting values, default print setting values, and print setting values which the user can set are set in the printer driver.
- frequently used print setting values e.g., two-sided, 2 in 1, and so on
- Fig. 7D illustrates an exemplary data structure of the catalog file 705, which is one of the files included in the printer driver.
- the catalog file 705 holds hash values 731-733 of module groups and file groups which constitute the installation set in the INF format.
- the catalog file 705 includes a hash value 731 of the INF file 702, hash values 732 of the driver modules 703, and hash values 733 of the setting files 704.
- an electronic signature 734 can be appended to the catalog file 705.
- the electronic signature 734 can be appended through two methods respectively for a general distribution use and for a specific use. In the case of the general distribution use, after evaluation, a development vendor of the installation set applies to Microsoft (registered trademark) Corporation and the electronic signature 734 is given.
- the development vendor gives the electronic signature 734 on its own. After verifying the electronic signature 734 of the catalog file 705, the stored hash values 731 to 733 are compared with the hash values of the respective files. This processing makes it possible to verify whether the installation set has been modified. If the hash values match with each other, it is determined that the installation set has not been modified. An INF format installation set on which this determination has been made is referred to as a signed INF format installation set. If the hash values do not match with each other, it is determined that the installation set has been modified. An INF format installation set on which this determination has been made is referred to as a signature-corrupted INF format installation set.
- step S603 the custom tool 300 checks the specified installation set. This processing will be described later in detail with reference to Fig. 6B.
- step S604 if the custom tool 300 determines that the printer driver does not support customization (NO in step S604), the custom tool 300 proceeds to step S609.
- step S609 the custom tool 300 carries out error processing and then returns to step S602 to accept an instruction on the storage location of an installation set. Meanwhile, in step S604, if the custom tool 300 determines that the printer driver supports customization (YES in step S604), the custom tool 300 proceeds to step S605.
- step S605 the custom tool 300 controls the CRTC 6 to enable configuration of settings for customizing the printer driver through the UIs on the display 10 described with reference to Figs. 3 to 5.
- the custom tool 300 accepts settings for customizing the printer driver.
- step S606 the custom tool 300 accepts an instruction for creating a customized driver when the user presses the "create" button 340 in the UI illustrated in Fig. 3.
- step S607 the custom tool 300 creates a customized driver in accordance with the settings obtained in step S606. This processing in step S607 will be described later in detail with reference to Fig. 6C.
- step S608 if the user instructs termination of the custom tool 300, in step S610, the custom tool 300 is terminated.
- Fig. 6B illustrates a flowchart of processing for checking whether a given installation set supports customization to be performed by the custom tool 300 of a conventional art. This processing will be described in detail with reference to the flowchart in Fig. 6B. This processing is carried out in step S603 of the flowchart of the conventional art illustrated in Fig. 6A.
- step S621 the custom tool 300 determines whether an INF file 702 is present in the storage location of the installation set for a base printer driver that has been specified in step S602. If the INF file 702 is present in the specified storage location (YES in step S621), the custom tool 300 proceeds to step S622.
- step S625 the custom tool 300 reads the contents of the sections 7111, 7112, and 7141 in the INF file 702, which describes installation information of the printer driver, as illustrated in Fig. 7B.
- step S623 the custom tool 300 determines whether the specified printer driver supports customization to be performed by the custom tool 300, based on the read contents. If the INF file 702 supports customization to be performed by the custom tool 300 (YES in step S623), the custom tool 300 proceeds to step S624. Meanwhile, if the INF file 702 does not support customization by the custom tool 300 (NO in step S623), the custom tool 300 proceeds to step S625.
- step S624 the custom tool 300 determines that the installation set specified in step S602 supports customization to be performed by the custom tool 300.
- step S625 the custom tool 300 determines that the installation set specified in step S602 does not support customization by the custom tool 300.
- a customized INF format driver installation set 741 illustrated in Fig. 7E is created in the designated location of the customized driver that has been specified in the display field 331.
- the INF file 702 and the setting files 704 are replaced respectively by a customized INF file 742 and customized setting files 743.
- step S631 the custom tool 300 copies the folder structure and the files of the installation set in the storage location of the installation set of the base printer driver that has been specified in step S602, to a designated location of the customized driver specified in the display field 331.
- step S632 the custom tool 300 deletes keys of models other than the model to be customized from the section 712 of the copied INF file 702 to create the customized INF file 742.
- step S633 the custom tool 300 reflects the customization settings onto the copied setting files 704 to create the customized setting files 743. Thus, the customized driver installation set 741 is created.
- a method for customizing a printer driver has been described.
- a method generally used to install a printer driver on the OS 205 will be described.
- a first method uses an OS function that uses an INF format installation set.
- a second method uses the installation set in an installer format.
- a processing flow of the first installation method in which an INF file is used will be described with reference to a flowchart in Fig. 8A.
- a printer driver can be installed even when a vendor that provides the printer driver does not prepare an installer.
- the operating nucleus in this flowchart is the OS 205, and the OS 205 is realized using the CPU 1 of the host computer 3000.
- the processing starts when the OS 205 receives a request from a user to start installation of the printer driver.
- the OS 205 controls the CRTC 6 to display a UI on the display 10 for accepting settings of an installation target.
- the OS 205 accepts from the user a specified output port directed to the printer, an INF file of the printer driver to be installed, and the model name of the printer through the UI. Upon accepting those information pieces, in step S802, the OS 205 starts installation processing of the printer driver. In step S802, the OS 205 checks the installation set. Contents of this processing differ between an existing OS and a new OS which the exemplary embodiment of the present invention assumes. The new OS, which the exemplary embodiment of the present invention assumes, detects whether there is inconsistency between the catalog file and the installation set, and if there is inconsistency between the catalog file and the installation set, installation is terminated.
- Fig. 8B illustrates an example processing flow by an old OS
- Fig. 8B illustrates an example processing flow by an old OS
- step S803 if the OS 205 determines to terminate the installation in a process of installation processing of the printer driver (YES in step S803), the OS 205 proceeds to step S806 to terminate the installation. Meanwhile, if the OS 205 determines to continue with the installation (NO in step S803), in step S804, the OS 205 creates an output port directed to the printer that has been specified in step S801. In step S805, the OS 205 creates a print queue and then terminates the installation processing.
- 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 carries out installation processing of the modules and the setting files as to the printer driver of the install target model. Meanwhile, if the installation set has been modified (YES in step S812), in step S814, the OS controls the CRTC 6 to display on the display 10 a UI that allows the user to decide whether to continue with the installation.
- step S815 the OS proceeds to step S813 to carry out the installation processing of the printer driver. Meanwhile, if the user chooses not to continue with the installation (NO in step S815), the OS proceeds to step S816.
- step S816 the OS displays a message notifying the user that "installation will be terminated" and decides to terminate the installation processing. In this way, in the old OS, even if there is inconsistency between the installation set for the printer driver and the catalog file, the printer driver can be installed according to the user's choice.
- steps S814 and S815 which are present in the case of the old OS, are not present. Accordingly, if the OS detects inconsistency between the installation set for the printer driver and the catalog file, the installation is terminated without providing the user with the choices.
- the processing in the new OS reflects increased security concerns in recent years. However, there is a problem in the new OS that the new OS does not allow installation of a customized printer driver.
- FIG. 9A illustrates an exemplary structure of an installer format installation set folder 901.
- An installer execution module 902 for the driver hereinafter, referred to as an installer
- an installer sub-folder 903 which the installer 902 refers to
- the INF format installation set folder 701 are present immediately under the folder 901.
- the sub-folder 903 stores an installer setting file 904.
- the installer 902 refers to the setting file 904 and carries out processing in accordance with the contents in the setting file 904.
- the folder 701 stores the INF format installation set illustrated in Fig. 7A.
- Fig. 9B illustrates a flowchart of the installation processing by the installer 902.
- the operating nucleus in this flowchart is the installer 902. This processing is carried out using the CPU 1 of the host computer 3000.
- the processing starts when the installer 902 accepts a request from a user to start executing the installer 902.
- the basic processing flow illustrated in Fig. 9B is similar to that in Fig. 8A except for two different points.
- the installer 902 defines the UI for configuring the installation settings on its own and displays the UI on the display 10 by controlling the CRTC 6. Then, the installer 902 accepts a specified output port directed to the printer and the name of a model to be installed from the user through 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's choice.
- a second difference lies in that the installer 902 calls an application programming interface (API) provided by the OS 205 in steps S912, S914, and S915.
- API application programming interface
- the OS 205 carries out processing that corresponds to steps S802, S804, and S805.
- a printer driver is customized by an existing custom tool 300
- a printer driver is created that lacks consistency between the installation set for the printer driver and the catalog file as illustrated in Fig. 7E. If that installation set is installed on a new OS, the new OS detects inconsistency between the installation set for the printer driver and the catalog file as in step S812, and as a result, the installation processing is terminated. Thus, there arises a problem that a printer driver that has been customized by the existing custom tool 300 cannot be installed on the new OS.
- the INF format installation set illustrated in Fig. 7A is supported as an base installation set for a customized driver. Therefore, in the dialog box that appears when "open" is selected in the menu 301 in Fig. 3, path designation directed to an INF file is accepted.
- the custom tool 300 of the first exemplary embodiment creates an installer format installation set. Therefore, the installer format installation set folder 901 illustrated in Fig. 9A can also be specified in the dialog box that appears when "open" is selected in the menu 301 in Fig. 3.
- Figs. 10A and 10B illustrate flowcharts of the customization processing of the installation set.
- the processing flow in Fig. 10A illustrates check processing of the installation set in the first exemplary embodiment.
- the custom tool 300 carries out this processing in step S603 instead of the processing in Fig. 6B.
- the processing flow in Fig. 10A differs from the processing flow in Fig. 6B in two points.
- the operating nucleus in the processing in Figs. 10A and 10B is the custom tool 300.
- a first difference lies in a processing path of steps S1002 to S1004.
- the processing in these steps are added because, in addition to the INF file 702, the installer format installation set folder 901 illustrated in Fig. 9A has become available in the dialog box that appears when "open" is selected in the menu 301 of Fig. 3.
- the custom tool 300 determines whether a path specified in the aforementioned dialog box is a folder. If a folder has been specified (YES in step S1002), the custom tool 300 proceeds to step S1003. Alternatively, if a file has been specified (NO in step S1002), the custom tool 300 determines that the INF file 702 has been specified and proceeds to step S621. In step S1003, the custom tool 300 stores the specified folder as the installer format installation set.
- the custom tool 300 searches through sub-folders to locate the INF file 702. In step S1004, if the custom tool 300 has located the INF file 702 (YES in step S1004), the custom tool 300 proceeds to step S622. Meanwhile, if the custom tool 300 has been unable to locate the INF file 702 (NO in step S1004), the custom tool 300 proceeds to step S625. Then, in step S625, the custom tool 300 determines that the printer driver does not support customization. A second difference lies in a processing path of steps S1005 and S1006. To install the printer driver on the new OS, an installer execution module 1102 (hereinafter, referred to as an installer) needs a signed INF format installation set 701.
- step S1005 the custom tool 300 verifies the base installation set for the customized driver using the catalog file.
- step S1006 the custom tool 300 determines whether there is consistency between the base installation set for the customized driver and the catalog file. If there is consistency between the installation set and the catalog file (YES in step S1006), the custom tool 300 proceeds to step S624. Meanwhile, if there is inconsistency between the installation set and the catalog file (NO in step S1006), the custom tool 300 proceeds to step S625.
- the remaining steps in the processing flow of Fig. 10A are the same as those in Fig. 6B.
- the processing flow in Fig. 10B is the customization processing of the printer driver according to the first exemplary embodiment.
- the custom tool 300 carries out this processing in step S607 of Fig. 6A instead of the processing in Fig. 6C.
- step S1011 the custom tool 300 determines whether an INF file has been specified in a path specified in the dialog box that appears when "open" is selected in the menu 301 of Fig. 3. If an INF file has been specified (YES in step S1011), the custom tool 300 determines that the INF format installation set illustrated in Fig. 7A has been specified as the installation set for the printer driver to be customized. Then, the custom tool 300 proceeds to step S1012.
- step S1011 determines that the installer format installation set illustrated in Fig. 9A has been specified as the installation set for the printer driver to be customized. Then, the custom tool 300 proceeds to step S1014.
- step S1012 since the INF format installation set has been specified as the base installation set, the installer 1102 and an installer sub-folder 1103 are not present in the installation set.
- the custom tool 300 copies an installer format installation set for the printer driver stored in the custom tool 300 to a folder at a designated location specified by operating the button 330.
- step S1013 copies the INF format installation set to be customized to a location of the folder 701 in Fig. 11.
- the custom tool 300 proceeds to step S1014 when the installer format installation set has been specified as a base installation set.
- step S1014 the custom tool 300 copies the specified installer format installation set to a designated location path in the display field 331.
- step S1015 the custom tool 300 copies the INF file 702 within the folder at the designated location and a setting file to be customized among the setting files 704, to the installer sub-folder 1103.
- steps S1106 and S1107 the custom tool 300 configures the customization settings for the files within the installer sub-folder 1103 similar to steps S632 and S633.
- the customized installer format installation set of the first exemplary embodiment illustrated in Fig. 11 is created.
- step S1021 the installer 1102 displays a UI for configuring installation settings.
- This processing is similar to that in step S911 of Fig. 9B.
- This processing differs from step S911 only in the information on selectable candidate models to be installed to which the installer 1102 refers in order to display a UI for selecting a model to be installed.
- the installer 1102 displays a list of selectable candidate models to be installed based on the contents of the customized INF file 742 illustrated in Fig. 11.
- step S912 to S915 the installer 1102 installs the printer driver on the OS 205 using the INF format installation set 701 that has consistency between the catalog file and the installation set in accordance with setting information for the installer 1102 set in step S1021.
- the processing is identical to the processing indicated with identical numbers in Fig. 9B. Thus, the descriptions thereof will be omitted here.
- the installer 1102 replaces the setting files 704 installed on the OS 205 with the customized setting files 743 to apply the customization settings to the printer driver installed on the OS 205.
- the installer 1102 stops a print spooler (not illustrated).
- the print spooler is a module that controls an overall print function in the OS 205 and is one of the modules that constitute the OS 205.
- the installer 1102 replaces the setting files 704 stored in a driver related folder in the OS 205 with the setting files 743. Then, in step S1024, the installer 1102 starts the print spooler.
- Stopping the print spooler is one method to prevent failure in replacing the setting files if printing is carried out while replacing the setting files 704 with the customized setting files 743.
- a method for preventing such failure is not limited to the one described above, and any other appropriate method be employed.
- replacing the setting files after installing the printer driver is not assumed. Accordingly, the replacement of the setting files by the installer 1102 in step S1023 affects print processing in the OS 205. Measures for reducing this influence on printing while replacing the setting files will be described later in a third exemplary embodiment.
- a customized printer driver can be installed on an OS that terminates installation when the OS detects installation of a printer driver that lacks consistency between a catalog file and an installation set.
- the INF format installation set folder 701 of the first exemplary embodiment illustrated in Fig. 11 stores an uncustomized installation set.
- a user finds the INF file 702 and installs the printer driver on an information processing apparatus through an installation method using the INF file as described with reference to Fig. 8A.
- the customized driver cannot be installed on the new OS only by replacing the folder 701 illustrated in Fig. 9A with the folder 741 illustrated in Fig. 7E.
- a second exemplary embodiment a method for handling these two problems will be described.
- Fig. 12A illustrates a processing flow when the custom tool 300 creates the installation set for the printer driver.
- the custom tool 300 carries out this processing flow in step S607 of Fig. 6A.
- the processing in Fig. 12A differs from the processing in Fig. 10B in steps S1201 and S1202, that is, files to be customized are different.
- steps S1201 and S1202 the custom tool 300 configures customization settings that are similar to those in steps S1016 and S1017 for the INF format installation set.
- the INF format installation set is placed in the folder 741 and has the folder structure illustrated in Fig. 13.
- the customized installer format installation set of the second exemplary embodiment illustrated in Fig. 13 is created.
- the processing in the remaining steps is identical to the steps designated with identical numbers in Fig. 10B. Thus, the descriptions thereof will be omitted here.
- step S1211 the installer 1302 displays a UI for configuring installation settings. This processing is similar to that in step S1021 of Fig. 10C. However, the second exemplary embodiment differs from the first exemplary embodiment in the storage location of the customized INF file 742.
- the installer 1302 refers to the customized INF file 742 to display a UI for selecting the name of a model to be installed.
- step S1212 the installer 1302 temporarily stores the INF format installation set located under the folder 741 of Fig.
- step S1213 the installer 1302 overwrites files in the INF format installation set stored in the TEMP folder with the INF file 702 and the setting files 704 within the installer sub-folder 1303. Through the processing in steps S1212 and S1213, a signed INF format installation set prior to the customization is created in the TEMP folder.
- step S1214 the installer 1302 installs the install target printer driver using the INF file 702 within the TEMP folder in a similar manner to step S912. The remaining processing is identical to the processing indicated with identical numbers in Fig. 10C. Thus, the descriptions thereof will be omitted here.
- the custom tool 300 of the second exemplary embodiment creates the installation set 1301 having the structure illustrated in Fig. 13.
- the user can install a customized driver on the OS 205 by starting the installer 1302 of Fig. 13 to carry out the installation. Further, even if a user installs a printer driver through the installation method using the INF file described with reference to Fig. 8A, a customized printer driver is installed on an old OS having the determination processing of Fig. 8B. Further, the installation is stopped in a new OS having the determination processing of Fig. 8C.
- an uncustomized printer driver can be prevented from being installed.
- setting files are replaced with customized setting files for a printer driver.
- the OS 205 replacing the setting files after installing the printer driver is not assumed. Accordingly, there is a problem that replacement of the setting files by the installer affects a print operation by the user.
- the installer makes a determination as to the OS environment, and thus the print spooler are not stopped or started on an old OS having the determination processing of Fig. 8B.
- Fig. 14A illustrates a processing flow in which the installation processing of the first exemplary embodiment illustrated in Fig. 10C is extended.
- step S1401 of determining the OS 205 is added between step S1021 and step S912 of the processing flow of Fig. 10C.
- step S1401 the installer calls an API provided by the OS 205 to determine whether the OS 205 has the determination processing of Fig. 8B or the determination processing of Fig. 8C. If the OS 205 has the determination processing of Fig. 8B (NO in step S1401), the installer proceeds to step S1402. If the OS 205 has the determination processing of Fig. 8C (YES in step S1401), the installer proceeds to step S912.
- a printer driver may be installed using an INF file of an OS function even if a signature of installation set is corrupted.
- the installer creates a customized INF format installation set in a TEMP folder from the installer format installation set of Fig. 11.
- the installer copies the signed installation set 701 illustrated in Fig. 11 into a TEMP folder.
- the installer overwrites files in the INF format installation set copied into the TEMP folder, with the INF file 742 and the setting files 743 within the installer sub-folder 1303.
- a customized INF format installation set is created in the TEMP folder.
- step S1404 the installer installs the install target printer driver using the INF file 742 in the installation set within the TEMP folder, in a similar manner to step S912.
- the processing in the remaining steps in Fig. 14A is identical to the steps with identical numbers in the installation processing of Fig. 10C, and thus the descriptions thereof will be omitted here.
- Fig. 14B illustrates a processing flow in which the installation processing of the second exemplary embodiment illustrated in Fig. 12B is extended.
- step S1401 of determining the OS 205 is added between step S1211 and step S1212 of the processing flow of Fig. 12B.
- step S1401 the installer calls an API provided by the OS 205 to determine whether the OS 205 has the determination processing of Fig. 8B or the determination processing of Fig. 8C. If the OS 205 has the determination processing of Fig. 8B (NO in step S1401), the installer proceeds to step S912. Meanwhile, if the OS 205 has the determination processing of Fig. 8C (YES in step S1401), the installer proceeds to step S1212.
- a printer driver may be installed using an INF file of an OS function even if a signature of the installation set corrupted.
- the installer installs the install target printer driver using the INF file 742 of the installer format installation set illustrated in Fig. 13, in a similar manner to step S912.
- the processing in the remaining steps in Fig. 14B is identical to the steps with identical numbers in the installation processing of Fig. 12B, and thus the descriptions thereof will be omitted here.
- the printer driver is installed with the OS function using the INF file.
- the setting files are not replaced in such an OS environment, and thus influence on the print operation by the user caused by replacement of the setting files can be reduced.
- the custom tool 300 calculates keyed hash values of the above files and writes the keyed hash values in the installer setting files 1104 and 1304.
- a hash-based message authentication code HMAC is used for keyed-hashing, and the custom tool 300 and the installer 1102 or 1302 both store the same private key.
- the custom tool 300 calculates the keyed hash values of the aforementioned files using the private key and writes the calculated keyed hash values into the installer setting file 1104 or 1304.
- the installer 1102 or 1302 calculates the keyed hash values of the aforementioned files at the start of the installation processing and compares the obtained keyed hash values with the values written in the installer setting file 1104 or 1304. If the hash values match with each other, the installer 1102 or 1302 continues with the installation processing. If the hash values do not match with each other, the installer 1102 or 1302 stops the installation processing. Improper modifications made to the installer execution module 1102 or 1302 can be dealt with typically by adding an electronic signature to the installer execution module 1102 or 1302.
- the method is not limited to replacing the setting files.
- a setting file of an installed driver may be rewritten to be identical to a setting file which supports customization settings.
- a customized driver may be installed on the information processing apparatus through some other methods.
- the expression "to modify an installed driver” generally refers to a process for bringing an information processing apparatus into the above-mentioned state where a customized driver is installed.
- the installed driver is modified.
- the installed files of the driver may sequentially be modified. For example, at a stage at which installation of a setting file is completed and an execution module is going to be installed, the installed setting file may be modified before starting installation of the execution module.
- an installer format installation set folder as illustrated in Fig. 11 or 13 that is suitable for each of the exemplary embodiments has been described.
- other files and modules may also be included in each of the installation set folders.
- a file and a module that are necessary for installing a device application may be included together with the driver.
- a driver module and a catalog file may also be included in the installer sub-folder 1103 or 1303.
- including a driver module in an installation set folder may lead to a redundant configuration.
- an existing installer is designed to mainly use an installer sub-folder, an exemplary embodiment of the present invention can be implemented while suppressing an improvement on the installer to the minimum.
- files and modules that can be placed within each folder are not limited and can be set in accordance with the design of the installer.
- an installer installs an uncustomized driver and then modifies the installed driver.
- these operations do not need to be carried out successively.
- the installer once terminates the installation processing at a point at which the installer has installed an uncustomized driver. Thereafter, the installer may be started again to resume the installation processing upon receiving an instruction from a user to resume the installation of the customized driver.
- the installation processing is once terminated when the installation of the uncustomized driver is finished.
- the installation processing may instead be suspended. If the installation processing is to be suspended, the installer can inquire of the user whether to continue with the installation processing at a point at which the installation of the uncustomized driver is finished.
- the installer may resume the suspended installation processing.
- the entire installation processing is preferably completed at once. This is because if the installation processing is completed at once, the user's instruction operation can be omitted, and security requirements of the OS can be satisfied in a series of the installation processing flows.
- a driver module is also installed in each installation processing.
- the installer needs to be modified as follows.
- the installer inquires of the OS the name of the model of the installed driver. Then, the installer determines whether the obtained name matches with the name of the model within the INF file of the driver to be installed. If the names match with each other, the installer installs the INF file and the setting file of the customized driver. If the the driver module is not installed, it is preferable for a security reason that the installer reissues a customized INF file and a catalog file based on the setting file and then installs the driver.
- a printer driver has been described as an example suitable for the present invention.
- the present invention is not limited to a printer driver.
- a scanner driver or a FAX driver may have the same configuration as the printer driver described in the exemplary embodiments of the present invention and the scanner driver or the FAX driver can be installed through the same processing.
- the present invention is not limited to a driver for image processing.
- the exemplary embodiments of the present invention are advantageous when function settings (e.g., print settings) of a driver can be customized through a function setting screen (e.g., a printer driver UI capable of print settings) displayed by the driver.
- function setting screen e.g., a printer driver UI capable of print settings
- Embodiments of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) of the present invention, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s).
- the computer may comprise one or more of a central processing unit (CPU), micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors.
- the computer executable instructions may be provided to the computer, for example, from a network or the storage medium.
- the storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)(registered trademark), a flash memory device, a memory card, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Description
If there is consistency between the installation set and the catalog file (YES in step S1006), the
Other Embodiments
Claims (15)
- An information processing apparatus, comprising:
a starting unit configured to start installation of a driver customized as to a function setting value that can be set in a function setting screen; and
an installation unit configured to install a driver on which the customization has not yet been performed, in response to the start of installation of the driver, and to modify the installed driver such that a function setting value settable by the installed driver becomes identical to the function setting value of the driver on which the customization has been performed. - The information processing apparatus according to claim 1, wherein the function setting value that can be set through the driver is determined based on a setting file of the driver, and
wherein the installation unit modifies the driver by replacing a setting file of the installed driver with a setting file created through the customization. - The information processing apparatus according to claim 2, further comprising:
a display unit configured to display a customization screen through which the customization is performed on the driver; and
a creation unit configured, in response to receiving an instruction for creating a customized driver after the function setting value has been modified through the screen, to create the customized driver that includes the setting file of the driver on which the customization has not yet been performed and the setting file of the driver on which the customization has been performed. - The information processing apparatus according to claim 3, wherein the creation unit creates a customized driver that includes a catalog file in which a hash value is written that corresponds to the driver on which the customization has not yet been performed, and
wherein the installation unit compares a hash value of a setting file of the driver on which the customization has not yet been performed included in the customized driver, with the hash value in the catalog file, and if the hash values match with each other, the installation unit installs the driver on which the customization has not yet been performed and then replaces a setting file of the installed driver with the setting file of the driver on which the customization has been performed, included in the customized driver. - The information processing apparatus according to claim 3 or 4, wherein the creation unit creates a customized driver that includes an installer and a setting file for the installer,
wherein the starting unit starts installation upon startup of the installer, and
wherein the installation unit installs the setting file of the driver on which the customization has not yet been performed, in accordance with the setting file for the installer, which is read upon the startup of the installer, and replaces the setting file of the installed driver with the setting file of the driver on which the customization has been performed, included in the customized driver. - The information processing apparatus according to claim 3 or 4, wherein the creation unit creates a customized driver that includes an installer and a setting file for the installer,
wherein the starting unit starts installation upon startup of the installer, and
wherein the installation unit temporarily stores into a memory a driver in which the setting file of the driver included in the customized driver on which the customization has been performed is replaced with the setting file of the driver on which the customization has not yet been performed, in accordance with the setting file for the installer, which is read upon the startup of the installer, installs the driver that is temporarily stored in the memory, and then replaces the setting file of the installed driver with the setting file created through the customization. - The information processing apparatus according to claim 6, wherein the creation unit stores the setting file of the driver on which the customization has not yet been performed into an installer sub-folder and creates a customized driver storing the setting file of the driver on which the customization has been performed in an INF format installation set folder, and
wherein the installation unit temporarily stores into a memory a driver in which the setting file of the driver stored in the INF format installation set folder on which the customization has been performed is replaced with the setting file of the driver stored in the installer sub-folder on which the customization has been performed, in accordance with the setting file for the installer, which is read upon the startup of the installer, installs the driver that has been temporarily stored in the memory, and then replaces the setting file of the installed driver with the setting file created through the customization. - The information processing apparatus according to any one of claims 1 to 7, wherein the installation unit stops a print spooler after installing the driver on which the customization has not yet been performed and modifies the installed driver while the print spooler is stopped.
- The information processing apparatus according to claim 8, further comprising:
a determination unit configured to determine whether an operating system (OS) included in the information processing apparatus installs a signature-corrupted driver,
wherein if the OS installs a signature-corrupted driver, the installation unit installs the driver on which the customization has been performed without stopping the print spooler, and if the OS does not install a signature-corrupted driver, the installation unit stops the print spooler and modifies the installed driver while the print spooler is stopped. - The information processing apparatus according to any one of claims 1 to 9, wherein the customization includes a modification of an initial value of the function setting value displayed by default in the function setting screen and a modification of a display of the function setting value that can be set.
- The information processing apparatus according to any one of claims 1 to 10, wherein the OS included in the information processing apparatus is Windows (registered trademark) that does not install a signature-corrupted driver.
- The information processing apparatus according to any one of claims 1 to 11, wherein the driver is a printer driver, and the function setting value is a print setting value.
- The information processing apparatus according to any one of claims 1 to 12, wherein the installation unit stops installation processing after installing the driver on which the customization has not yet been performed and, upon receiving an instruction from a user, modifies the installed driver such that a function setting value that can be set through the installed driver, becomes identical to the function setting value of the driver on which the customization has been performed.
- A method for installing a driver on an information processing apparatus, the method comprising:
starting installation of a driver customized as to a function setting value that can be set in a function setting screen is made;
installing a driver on which the customization has not yet been performed, in response to the start of installation of the driver; and
modifying the installed driver such that a function setting value settable by the installed driver, becomes identical to the function setting value of the driver on which the customization has been performed. - A program that causes a computer to execute:
accepting an instruction specifying an installation set format driver;
displaying a customization screen for performing customization on the driver as to a function setting value settable through a function setting screen displayed by the driver;
installing a setting file of a driver on which the customization has not yet been performed, a setting file of a driver on which the customization has been performed by a user through the screen, and a setting file of the driver on which the customization has not yet been performed; and
creating a customized driver that includes an installer that replaces the installed setting file with the setting file of the driver on which the customization has been performed.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112013003941.9T DE112013003941B4 (en) | 2012-08-08 | 2013-07-26 | Information processing device, installation method and program |
| US14/419,794 US9342290B2 (en) | 2012-08-08 | 2013-07-26 | Information processing apparatus, installation method, and program |
| CN201380042039.3A CN104583932B (en) | 2012-08-08 | 2013-07-26 | Information processor and installation method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012-176024 | 2012-08-08 | ||
| JP2012176024A JP5885616B2 (en) | 2012-08-08 | 2012-08-08 | Information processing apparatus, installation method, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014024410A1 true WO2014024410A1 (en) | 2014-02-13 |
Family
ID=50067672
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/004554 Ceased WO2014024410A1 (en) | 2012-08-08 | 2013-07-26 | Information processing apparatus, installation method, and program |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9342290B2 (en) |
| JP (1) | JP5885616B2 (en) |
| CN (1) | CN104583932B (en) |
| DE (1) | DE112013003941B4 (en) |
| WO (1) | WO2014024410A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105270297A (en) * | 2014-06-09 | 2016-01-27 | 源捷公司 | Vehicle learning interface |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5915278B2 (en) * | 2012-03-13 | 2016-05-11 | 株式会社リコー | Program, information processing apparatus, storage medium |
| US9440604B2 (en) * | 2014-06-09 | 2016-09-13 | Atieva, Inc. | Time and day sensitive learning interface |
| JP6557594B2 (en) * | 2015-12-24 | 2019-08-07 | キヤノン株式会社 | Installation control program, information processing apparatus, and device driver installation method |
| JP6661409B2 (en) * | 2016-03-01 | 2020-03-11 | キヤノン株式会社 | Automatic installation system, information processing apparatus, information processing apparatus control method, and program |
| JP7147261B2 (en) | 2018-05-16 | 2022-10-05 | ブラザー工業株式会社 | program |
| JP7230357B2 (en) * | 2018-07-11 | 2023-03-01 | 富士フイルムビジネスイノベーション株式会社 | Image processing device, information processing device, information processing system, and program |
| CN109062581B (en) * | 2018-07-18 | 2023-07-25 | 珠海奔图电子有限公司 | Terminal equipment side driver processing method, device and equipment |
| JP7838307B2 (en) * | 2022-02-25 | 2026-04-01 | ブラザー工業株式会社 | Adjustment tool, information processing device, and adjustment method |
| US12536004B1 (en) | 2025-05-13 | 2026-01-27 | Morgan Stanley Services Group Inc. | System and method for round-robinediting of a generated user interface |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005326964A (en) * | 2004-05-12 | 2005-11-24 | Canon Inc | Printing control apparatus and method and installer |
| JP2009217331A (en) * | 2008-03-07 | 2009-09-24 | Canon Inc | Information processor, control method for information processor, program and recording medium |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7743374B2 (en) * | 2000-12-21 | 2010-06-22 | Canon Kabushiki Kaisha | Network system, information processing apparatus, information processing method, and control program for remote driver installation |
| EP1574928A4 (en) * | 2002-12-12 | 2007-11-21 | Fujitsu Ltd | PROGRAM EXECUTION MONITORING APPARATUS, OPERATING SYSTEM, CLIENT TERMINAL, SERVER, PROGRAM EXECUTION MONITORING SYSTEM, PROGRAM EXECUTION MONITORING METHOD, AND PROGRAM EXECUTION MONITORING PROGRAM |
| US7392527B2 (en) * | 2003-12-10 | 2008-06-24 | Microsoft Corporation | Driver-specific context for kernel-mode shimming |
| US20050225795A1 (en) * | 2004-04-12 | 2005-10-13 | Jayasimha Nuggehalli | Automatic customization of printer drivers |
| JP4812093B2 (en) | 2005-03-29 | 2011-11-09 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, information processing method, program, and storage medium |
| US8239883B2 (en) | 2005-03-29 | 2012-08-07 | Canon Kabushiki Kaisha | Information processing apparatus and method, program, and storage medium |
| JP4599206B2 (en) * | 2005-03-29 | 2010-12-15 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, program, and storage medium |
| JP4029889B2 (en) | 2005-04-12 | 2008-01-09 | コニカミノルタビジネステクノロジーズ株式会社 | Driver setting method, driver setting program, recording medium, and information processing apparatus |
| JP4303746B2 (en) * | 2006-11-22 | 2009-07-29 | 株式会社シーイーシー | Secure print system and method |
| JP5044816B2 (en) * | 2007-09-06 | 2012-10-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System for storing and managing objects |
| CN101430647A (en) * | 2008-12-02 | 2009-05-13 | 北京中星微电子有限公司 | Hardware equipment and its drive installation method |
| JP2011170768A (en) * | 2010-02-22 | 2011-09-01 | Fuji Xerox Co Ltd | System and device for information, introduction processing device and program |
-
2012
- 2012-08-08 JP JP2012176024A patent/JP5885616B2/en not_active Expired - Fee Related
-
2013
- 2013-07-26 CN CN201380042039.3A patent/CN104583932B/en not_active Expired - Fee Related
- 2013-07-26 US US14/419,794 patent/US9342290B2/en not_active Expired - Fee Related
- 2013-07-26 WO PCT/JP2013/004554 patent/WO2014024410A1/en not_active Ceased
- 2013-07-26 DE DE112013003941.9T patent/DE112013003941B4/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005326964A (en) * | 2004-05-12 | 2005-11-24 | Canon Inc | Printing control apparatus and method and installer |
| JP2009217331A (en) * | 2008-03-07 | 2009-09-24 | Canon Inc | Information processor, control method for information processor, program and recording medium |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105270297A (en) * | 2014-06-09 | 2016-01-27 | 源捷公司 | Vehicle learning interface |
Also Published As
| Publication number | Publication date |
|---|---|
| DE112013003941T5 (en) | 2015-05-28 |
| US9342290B2 (en) | 2016-05-17 |
| US20150242195A1 (en) | 2015-08-27 |
| CN104583932B (en) | 2017-06-30 |
| JP2014035627A (en) | 2014-02-24 |
| CN104583932A (en) | 2015-04-29 |
| DE112013003941B4 (en) | 2025-02-13 |
| JP5885616B2 (en) | 2016-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2014024410A1 (en) | Information processing apparatus, installation method, and program | |
| JP4863450B2 (en) | Information processing apparatus for customizing device driver program and device driver program customization method | |
| US6965953B2 (en) | Information processing apparatus, method for controlling information processing apparatus, and storage medium storing program for realizing the method | |
| KR100708361B1 (en) | Information processing apparatus and method | |
| US20190050173A1 (en) | Information processing apparatus, control method, and recording medium | |
| KR100820849B1 (en) | Information processing apparatus, information processing method, and storage medium for customizing device drivers | |
| US10275192B2 (en) | Information processing apparatus, image processing system, and printer driver | |
| EP1710680B1 (en) | Information processing apparatus and method, program, and storage medium | |
| JP6108864B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
| US10289364B2 (en) | Information processing apparatus, method, and non-transitory computer-readable storage medium storing program | |
| US10558405B2 (en) | Information processing apparatus and driver customizing method | |
| JP5527992B2 (en) | Print control method, print control apparatus, and computer program | |
| JP7735496B2 (en) | Information processing device and program | |
| EP1710681A2 (en) | Information processing apparatus and information processing method | |
| US11372598B2 (en) | Application and information processing apparatus | |
| US8792107B2 (en) | Information processing apparatus, method for uninstalling printer driver, and recording medium | |
| JP2006277345A (en) | Device driver, customization program thereof, information processing apparatus, and information processing method | |
| CN103534678B (en) | Information processor, information processing method | |
| JP2001159959A (en) | Peripheral device control method and apparatus and recording medium | |
| KR20170102818A (en) | Information processing apparatus and information processing method | |
| JP2009205694A (en) | Information processing apparatus, method, and device driver | |
| US10606528B2 (en) | Information processing apparatus, information processing system, information processing method, and non-transitory computer-readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13827445 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14419794 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112013003941 Country of ref document: DE Ref document number: 1120130039419 Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13827445 Country of ref document: EP Kind code of ref document: A1 |
|
| WWG | Wipo information: grant in national office |
Ref document number: 112013003941 Country of ref document: DE |