Abstract:
A storing medium includes a driver program installable on a host computer and a plurality of files. The host computer includes a controller, and is connectable to a plurality of different types of peripheral devices. Each file includes separately a common setting file and an individual setting file. The common setting file includes common setting information that is commonly applicable to at least two types of peripheral devices. The individual setting file includes individual setting information that is unique to a single type of peripheral device. The driver program instructs the controller to select target setting information for controlling one peripheral device from the common setting information and the individual setting information included in the file corresponding to the one peripheral device, and to control the peripheral device based on the selected target setting information.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims priority from Japanese Patent Application No. 2008-227469 filed Sep. 4, 2008. The entire content of this priority application is incorporated herein by reference. 
       TECHNICAL FIELD 
       [0002]    The present invention relates to a storing medium and a computer-readable storage medium storing a set of driver program instructions. 
       BACKGROUND 
       [0003]    An installer well known in the art is typically distributed to users on a distributable disc, such as a CD-ROM, or via the Internet. The installer includes a device driver (hereinafter simply referred to as “driver”) that is prepared for each of a plurality of printer models, and an installation program that installs the driver on the user&#39;s computer. 
         [0004]    A device driver, such as that disclosed in Japanese unexamined patent application publication No. 2003-202987, includes not only various common driver programs, but also device setting information expressing settings required for printing operations and a user-computer interface. 
         [0005]    The device setting information covers support data indicating a range of possible printing functions (such as the availability of duplex printing), command data for transferring user instructions regarding paper size and the like to the printer, default data specifying initial settings for printing operations such as the printing region, and the like. 
       SUMMARY 
       [0006]    However, the provider of device drivers such as the manufacturer of a plurality of printer models (hereinafter referred to as the “driver provider”) ordinarily prepares one set of device setting information for each printer model when developing an installer (prior to distributing the installer to users) and rewrites the device setting information prepared for a printer model when specifications of the printer model have been modified e.g., when new printer functions have been added or commands modified. 
         [0007]    Accordingly, even when the modified specifications are shared among (or common to) a plurality of printer models, the driver provider must review the device setting information for all relevant models, requiring much work related to operations for modifying specifications and managing files storing the device setting information. When there are numerous files of device setting information that must be rewritten, there is a greater concern of error occurring when specifications are modified. 
         [0008]    In view of the foregoing, it is an object of the present invention to provide a storing medium and a computer-readable storage medium storing a set of driver program instructions capable of easily reflecting specification changes. 
         [0009]    In order to attain the above and other objects, a storing medium including a driver program installable on a host computer and a plurality of files. The host computer includes a controller, and is connectable to a plurality of different types of peripheral devices. Each file includes separately a common setting file and an individual setting file. The common setting file includes common setting information that is commonly applicable to at least two types of peripheral devices. The individual setting file includes individual setting information that is unique to a single type of peripheral device. The driver program instructs the controller to select target setting information for controlling one peripheral device from the common setting information and the individual setting information included in the file corresponding to the one peripheral device, and to control the peripheral device based on the selected target setting information. 
         [0010]    According to another aspect, the present invention provides a storing medium including a driver program installable on a host computer and a plurality of files. The host computer includes a controller and a user interface, and is connectable to a plurality of different types of peripheral devices. Each file includes separately a common setting file and an individual setting file. The common setting file includes common UI setting information that is commonly applicable to at least two types of peripheral devices. The individual setting file includes individual UI setting information that is unique to a single type of peripheral device. The driver program inducts the controller to select target setting information for controlling one peripheral device from the common UI setting information and the individual UI setting information, and to control the user interface based on the selected target setting information. 
         [0011]    According to another aspect, the present invention provides a computer-readable storage medium storing a set of driver program instructions executable on a host computer connectable to a plurality different types of peripheral devices. The program instructions includes selecting target setting information for controlling one peripheral device from common setting information that is commonly applicable to at least two types of peripheral devices from a common setting file, and individual setting information that is unique to a single type of peripheral devices from an individual setting file, both the common setting information and the individual setting information being included in the file corresponding to the one peripheral device; and controlling, based on the selected target setting information, the device under an aegis of the host computer. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The particular features and advantages of the invention as well as other objects will become apparent from the following description taken in connection with the accompanying drawings, in which: 
           [0013]      FIG. 1  is a block diagram showing an overall structure of a print control system  1  provided with a device driver according to a first embodiment of the present invention; 
           [0014]      FIG. 2  is a block diagram illustrating a structure of an installer, device driver, and device driver program according to the first embodiment; 
           [0015]      FIG. 3  shows setting information included in a major classification file; 
           [0016]      FIG. 4  shows setting information included in a minor classification file; 
           [0017]      FIG. 5(   a ) shows setting information included in a first individual file; 
           [0018]      FIG. 5(   b ) shows setting information included in a second individual file; 
           [0019]      FIGS. 6(   a ) and  6 ( b ) show setting operations by a setting program; 
           [0020]      FIG. 7  is a flowchart illustrating steps in a setting retrieval process; 
           [0021]      FIG. 8(   a ) shows a file list according to a second embodiment; 
           [0022]      FIGS. 8(   b ) and  8 ( c ) show file lists according to variations of embodiments; and 
           [0023]      FIG. 9  is a flowchart illustrating steps in a file list creation process. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    Next, preferred embodiments of the present invention will be described while referring to the accompanying drawings. 
       First Embodiment 
       [0025]    [Overall Structure of the Print Control System] 
         [0026]    As shown in  FIG. 1 , the print control system  1  includes a personal computer (hereinafter referred to as “PC”)  10  functioning as a host device, and a printer  20  functioning as a peripheral device to the PC  10 . The PC  10  and printer  20  are connected via a LAN or other network. 
         [0027]    The printer  20  is a device well known in the art that includes a feeding unit  21  for supplying various types of paper or other printing media loaded in a paper cassette or a manual feed tray (not shown), a conveying unit  22  for conveying sheets of paper fed by the feeding unit  21 , an image-forming unit  23  for printing images on the printing medium conveyed by the conveying unit  22 , and a control unit  24  for driving each of the units  21 - 23 . 
         [0028]    The control unit  24  includes a CPU, ROM, RAM, hard disk drive (HDD); a bus line connecting each of these components; and the like. The control unit  24  is also connected to an control panel  25  having various cursor key and switches by which the user can input settings, commands, and the like, a menu screen for displaying various menu options, data inputted by the user, error messages, and the like; a network interface  26  for inputting image data received from the PC  10  or other host device via the network; and the like. The control unit  24  controls how the feeding unit  21 , conveying unit  22 , and image-forming unit  23  are driven to implement various printing functions based on commands inputted via the control panel  25  or the network interface  26 . 
         [0029]    The PC  10 , on the other hand, includes an operating unit  11 , such as a mouse or keyboard on which the user can input data required for operating the PC  10 ; an external input unit  12  for inputting data and the like stored on a CD-ROM or other storage medium into the PC  10 ; a network interface  13  for inputting and outputting data or commands via a network; a display unit  14  for displaying various data; and a control unit  15  for controlling the network interface  13  and display unit  14  based on data inputted from the units  11 - 13 . 
         [0030]    The display unit  14  is a liquid crystal display or other well known display device and displays a user interface (UI) window on which a user can input various data, a mouse pointer, and other images through a well known function possessed by personal computers called a graphical user interface (GUI). 
         [0031]    The control unit  15  is configured primarily of a microcomputer well known in the art that includes a CPU, RAM, ROM, HDD, a bus line connecting these components, and the like. The CPU performs processes based on various programs stored on the ROM or HDD for implementing an operating system (OS) and application functions well known in the art, printing functions of the printer  20 , and the like. 
         [0032]    The OS has a multitasking function and is installed in the ROM of the control unit  15 . Application programs for creating document data, processing image data, and the like, and a device driver  6  (described later) for implementing printing processes operate under the OS platform in the control unit  15 . 
         [0033]    [Installer, Device Driver, and Device Driver Program] 
         [0034]    As shown in  FIG. 2 , an installer  2  is provided with a device driver program  3  compatible with the OS of the PC  10 , a set of setting information files  4  storing setting information for a plurality of models required to control devices such as the printer  20 , and an installation program  7  for installing the device driver  6  on a host device such as the PC  10 . The device driver  6  is configured of setting information files  5  including setting information from the set of setting information files  4  that corresponds to the printer  20 , and the device driver program  3 . 
         [0035]    The setting information in the preferred embodiment represents setting categories and values (or data) set for these categories that are required by the UI in order to perform printing operations on the printer  20  and printing processes on the PC  10  or other host device. The setting information is managed by the provider of the device driver  6  such as the manufacturer of the printer  20  or the like (hereinafter referred to as the “driver provider”). 
         [0036]    The driver provider also distributes the installer  2  on a single distributable storage medium, such as a CD-ROM, or from a server connected to the Internet. In the preferred embodiment, the installer  2  is loaded into the PC  10  via the external input unit  12  or the network interface  13 . 
         [0037]    The set of setting information files  4  includes an individual file set  80  including a plurality of files storing setting information associated with individual models (types) of the printer  20  (hereinafter referred to as “individual files  8 ”), and a shared (common) file set  90  including a plurality of files storing setting information corresponding to a series of models (hereinafter referred to as “shared files  9 ”). Here, a series is a group that includes a plurality of models. The manufacturer must prepare new setting information for a device when major improvements are made in the functions that the device can implement or when major changes are made in the design of the device when compared to other products in a series. Accordingly, the series for the printer  20  includes other printers having relatively similar functions and a relatively similar design. For example, a plurality of printers having a common function or operated with a common command belongs to one series. 
         [0038]    The individual file set  80  is divided into a first individual file  8   a  supporting a domestic model of the printer  20 , and a second individual file  8   b  supporting an overseas model of the printer  20 . Note that the individual file set  80  may be divided into a plurality of files each having a different version from one another, for example. The shared file set  90  is also divided into a minor classification file  9   a  corresponding to a single series, and a major classification file  9   b  corresponding to all series. 
         [0039]    As shown in  FIG. 3 , the major classification file  9   b  defines setting information for all series. The setting information includes values for each of the setting categories. In the preferred embodiment, the setting categories include a paper size  31  (e.g., A4, Letter, Legal, A5, Postcard, etc.), a printing region  32  for each paper size, a command  33  for each paper size, and a command  34  for each paper source. 
         [0040]    As shown in  FIG. 4 , the minor classification file  9   a  describes setting information corresponding to a single series. This setting information includes values for each of the setting categories, the values being not included in the major classification file  9   b . In the preferred embodiment, the setting categories include a printing rate  35  for each paper size, a printable region  36 , a sleep time  37  for the power-saving mode, UI default settings  38 , a paper source  39  (e.g., Auto, Tray 1, Tray 2, Manual, etc.), a printable paper size  40 , and a file ID  16 . In the preferred embodiment, some of the commands  34  for the paper sources are added to the minor classification file  9   a  as specifications for the series are modified. The file ID  16  functions to identify the next file to be referenced. The value for the file ID  16  in  FIG. 4  is the data “File A,” which is the filename of the major classification file  9   b.    
         [0041]    As shown in  FIG. 5(   a ), the first individual file  8   a  stores setting information corresponding to the domestic model of the printer  20 . This setting information includes values for the setting categories, the values being included in neither the major classification file  9   b  nor the minor classification file  9   a  In the preferred embodiment, the setting categories include a model number  41 , a support indicator for duplex printing  42 , a support indicator for printing macros  43 , and the file ID  16 . 
         [0042]    As shown in  FIG. 5(   b ), the second individual file  8   b  stores the same data as that described in the first individual file  8   a  and additionally includes some of the UI default settings  38 , the printable paper sizes  40 , and a printing orientation  44  for each paper size. The setting value for the file ID  16  in this case is the filename “File B” of the minor classification file  9   a . Further, the model number  41  and support indicator for duplex printing  42  in the second individual file  8   b  are modified to the overseas values. 
         [0043]    The CPU of the control unit  15  launches the installation program  7  when installing the device driver  6  on the PC  10  in the preferred embodiment. Based on the installation program  7 , the CPU of the control unit  15  stores the major classification file  9   b , minor classification file  9   a , and, in the case of the domestic model, the first individual file  8   a  as the setting information files  5 , as well as the device driver program  3 , in a specific location (system folder, for example) of the HDD that the OS of the PC  10  manages via the UI. The setting information files  5  and the device driver program  3  stored on the HDD constitute the device driver  6 . 
         [0044]    The device driver program  3  includes a driver control module (hereinafter referred to as a “main program  3   a ”) for outputting data and commands to devices such as the printer  20  and for controlling the UI on host devices such as the PC  10  (hereinafter referred to collectively as “print control”), and a setting information management module (hereinafter referred to as a “settings program  3   b ”) for transferring setting information (values) required for print control to the main program  3   a.    
         [0045]    [Settings Program] 
         [0046]    As shown in  FIGS. 6(   a ) and  6 ( b ), the settings program  3   b  according to the preferred embodiment receives a command from the main program  3   a  indicating a request (query) for setting information required for print control. Upon receiving such a command, the settings program  3   b  reads a setting value for the category specified in the command (hereinafter referred to as a “target category”) from the setting information files  5  according to a setting retrieval process described below and transfers the retrieved setting value to the main program  3   a.    
         [0047]    [Setting Retrieval Process] 
         [0048]      FIG. 7  is a flowchart illustrating steps in the setting retrieval process executed by the CPU of the control unit  15 . The CPU of the control unit  15  executes this process based on the settings program  3   b  stored on the HDD when the device driver  6  is installed on the PC  10 . This operation starts, for example, when a user pushes a printing button. 
         [0049]    In S 110  at the beginning of the process in  FIG. 7 , the CPU of the control unit  15  (hereinafter simply “CPU”) references the first individual file  8   a  based on the command received from the main program  3   a  to determine whether the target category exists in the first individual file  8   a  (File C — 1). The CPU initially references the first individual file  8   a  because the file is predetermined in the main program  3   a  for the domestic model. 
         [0050]    If the target category exists in the first individual file  8   a  (S 110 : YES), the CPU advances to S 150 . However, if the target category does not exist in the first individual file  8   a  (S 110 : NO), in S 120  the CPU identifies the next file to reference based on the file ID  16  stored in the first individual file  8   a . Since the file ID  16  stored in the first individual file  8   a  is the minor classification file (File B) in the example of  FIG. 6 , in S 130  the CPU references the minor classification file  9   a  to determine whether the target category exists therein. 
         [0051]    If the target category does exist in the minor classification file  9   a  (S 130 : YES), the CPU advances to S 150 . However if the target category does not exist in the minor classification file  9   a  (S 130 : NO), in S 140  the CPU identifies the next file to be referenced based on the file ID  16  recorded in the minor classification file  9   a . Since the file ID  16  stored in the minor classification file  9   a  is the major classification file (File A) in the example of  FIG. 6 , the CPU next references the major classification file  9   b . In other words, since the target category should exist in one of the files by design, then the target category should exist in File A when not in File C — 1 or File B. 
         [0052]    In S 150  the CPU reads the setting value corresponding to the target category from the first individual file  8   a  after a positive determination in S 110 , from the minor classification file  9   a  after a positive determination in S 130 , or from the major classification file  9   b  identified in S 140 . The CPU also transfers this setting value to the man program  3   a  before ending the current process. 
         [0053]    In the example shown in  FIG. 6(   a ), the target category requested by the main program  3   a  is “PaperSize_Size: A4.” The CPU begins searching for the target category from File C — 1 shown in  FIG. 5(   a ). Since the target category does not exist in File C — 1 in this example, the CPU next searches File B shown in  FIG. 4 , which is listed as the next file to reference in File C — 1. Since the target category also does not exist in File B, the CPU ultimately searches File A shown in  FIG. 3 . Here, the target category “PaperSize_Size: A4” exists in the group of paper sizes  31  in File A. Accordingly, the CPU outputs the value “210.000, 297.000” to the main program  3   a.    
         [0054]      FIG. 6(   b ), on the other hand, shows an example in which the major classification file  9   b , minor classification file  9   a , and second individual file  8   b  are stored in a specific location on the HDD when the target category requested by the main program  3   a  is “PaperSize_Size: A4.” In this example, the CPU begins searching from the second individual file  8   b  (File C — 2) shown in  FIG. 5(   b ) based on the instruction from the main program  3   a . Since the target category “PaperSize_Size: A4” does exist in File C — 2, the CPU quickly outputs the value “297.000, 210.000” to the main program  3   a.    
         [0055]    As illustrated in these examples, the setting value that the CPU acquires in response to the target category requested by the main program  3   a  and outputs to the main program  3   a  can differ based on which files the CPU references and in what order the files are referenced. 
         [0056]    The print control system  1  according to the preferred embodiment takes advantage of this point by managing all setting information not included in the shared file in an individual file. When a modification is made to setting information stored in a setting information file and the modification is common to a plurality of devices, the PC  10  according to the preferred embodiment can handle this modification by overwriting the shared file. Conversely, when a modification is made to specifications of only some models, the PC  10  can overwrite setting information related to these models only since the setting information is managed in individual files. Therefore, the setting information can easily be modified to reflect any type of specification change. 
         [0057]    [Effects of the First Embodiment] 
         [0058]    As described above, the device driver  6  according to the preferred embodiment is configured of the setting information files  5  comprising the major classification file  9   b  for all series, the minor classification file  9   a  for a single series, and an individual file  8  corresponding to a specific model; and the device driver program  3  that controls the printer  20  using the setting information described in the setting information files  5 . 
         [0059]    Accordingly, the driver provider can manage setting information other than that in the shared files  9  (the major classification file  9   b  and minor classification file  9   a ) in the individual files  8  (the first individual file  8   a  and second individual file  8   b ). When setting information described in the setting information files  5  is modified (specifications are changed), the driver provider can reflect these changes by overwriting (modifying, adding, or deleting) data only in the shared files  9  when the changes in specifications are common to a plurality of models. Hence, specification changes can be easily reflected with the device driver  6  according to the preferred embodiment. 
         [0060]    Further, with the installer  2  according to the preferred embodiment, the installation program  7  installs the individual file  8  (the first individual file  8   a  or second individual file  8   b ) among the individual file set  80  corresponding to the model, together with the shared files  9  and the device driver program  3 . 
         [0061]    Hence, since the driver provider need not prepare an installer  2  for each model in the preferred embodiment, the provider can mass produce installers  2  corresponding to a plurality of models, reducing production costs. 
         [0062]    Further, if the target category is included in both the shared file and the individual file, the setting value for the target category is acquired from the individual file. Hence, specification changes can be more easily reflected with the device driver  6  according to the preferred embodiment. 
         [0063]    In the preferred embodiment described above, the setting information files  5  include three files, namely, the first individual file  8   a , minor classification file  9   a , and major classification file  9   b , but the CPU of the control unit  15  references these three files in the order specified by the file ID  16  when performing the setting retrieval process of  FIG. 7 . However, the setting information files  5  may take on various forms and are not limited to the number and types of files described in the preferred embodiment. For example, the setting information files  5  may be configured of a single individual file from the individual file set  80 , and a single shared file from the shared file set  90 . In this case, the CPU retrieves the target category from one of these two files and outputs the corresponding value. Alternatively, the setting information files  5  may be configured of four or more files, in which case the CPU of the control unit  15  identifies the file to be referenced next in order based on the file ID  16  stored in each file. 
       Second Embodiment 
       [0064]    Next, a device driver according to a second embodiment of the present invention will be described. The device driver  6  according to the second embodiment differs from that in the first embodiment in the structure of the settings program  3   b . The following description will focus on this difference. 
         [0065]    [Settings Program] 
         [0066]    Upon receiving a command from the main program  3   a  expressing a request (inquiry) for setting information required for print control, the settings program  3   b  reads the setting value corresponding to the category indicated in the command from the setting information files  5  using a file list  17  described later and transfers this setting value to the main program  3   a.    
         [0067]    [Process for Creating a File List] 
         [0068]    When the device driver program  3  is initially launched after the device driver  6  has been installed on the PC  10 , the CPU of the control unit  15  executes a process based on the settings program  3   b  stored on the HDD to create the file list  17  (hereinafter referred to as the “file list creation process”). This file list creation process will be described next. 
         [0069]    The CPU of the control unit  15  uses this file list  17  when performing processes related to print control based on the main program  3   a  stored on the HDD. The file list  17  is configured of setting categories required for print control on the PC  10  and printer  20 , and filenames indicating the locations for acquiring (referencing) values corresponding to these categories (see  FIG. 8(   a )). The file list  17  is recorded in a prescribed region of the HDD (the registry, for example). 
         [0070]      FIG. 9  is a flowchart illustrating steps in the file list creation process executed by the CPU of the control unit  15 . In S 210  at the beginning of the process shown in  FIG. 9 , the CPU references the filename of the first individual file  8   a  (File C — 2) in the setting information files  5 , reads all setting categories recorded in this file, and writes the setting categories and the filename of the first individual file  8   a  (File C — 2) as the location of values for these categories to the file list  17 . The CPU initially references the first individual file  8   a  (File C — 2) based on a predefined setting in the main program  3   a.    
         [0071]    In the example shown in  FIG. 8(   a ), the CPU writes the model number  41 , support indicator for duplex printing  42 , and support indicator for printing macros  43  as setting categories and “File C — 2” as the location of values for these categories in the file list  17 . 
         [0072]    In S 220  the CPU references the minor classification file  9   a  in the setting information files  5  since the file ID  16  recorded in the first individual file  8   a  is set to the name of the minor classification file (File B), and writes the setting categories recorded in the minor classification file  9   a  and the filename of the minor classification file  9   a  (File B) as the location for setting values corresponding to these categories in the file list  17 . If any of these categories are the same as categories already written to the file list  17  in S 210 , the previously written setting values take precedence. For example, since “File C — 2” was previously written in S 210  as the location of the setting value for “PaperSize” in the setting categories of the UI default settings  38 , the CPU does not overwrite this data with “File B,” as illustrated in  FIG. 8(   a ). However, the category “InputSlot” had not been recorded in the file list  17  by the completion of S 210  and, thus, the CPU writes “File B” as the location for this setting. 
         [0073]    In S 230  the CPU references the major classification file  9   b  in the setting information files  5  since the file ID  16  recorded in the minor classification file  9   a  is set to the name of the major classification file (File A), writes the setting categories described in the major classification file  9   b  and the filename of the major classification file  9   b  (File A) as the location of setting values for these categories to the file list  17 , and subsequently ends the file list creation process. As described in S 220 , previously written data takes precedence when the major classification file  9   b  has the same setting categories as those in previous files. Thus, only setting categories that were not previously written to the file list  17  are added at this time. For example, the category “Auto” under the commands  34  and the location “File B” for acquiring the value for this category were previously written to the file list  17  in S 220 . Accordingly, the setting value in File B takes precedence for the category “Auto,” while the data “File A” is written for the other categories “Tray 1,” “Tray 2,” and “Manual” of the commands  34 . 
         [0074]    Hence, in this process the CPU Antes all setting categories in the setting information files  5  and filenames indicating the locations of values for these categories without omission. Further, when the setting information files  5  include redundant setting categories, the CPU adheres to an order of priority for specifying setting value locations when creating the file list  17 . In this example, the order of priority is the first individual file  8   a , the minor classification file  9   a , and the major classification file  9   b.    
         [0075]    The CPU can use this file list  17  when the main program  3   a  requests a target category. For example, if the device driver program  3  requests the target category “Default: PaperSize,” by referencing the file list  17  shown in  FIG. 8(   a ), the CPU finds that File C — 2 is written next to “PaperSize” in the UI default settings  38  as the location of the setting value. Accordingly, the CPU outputs “PaperSize=A4” to the main program  3   a  based on the content of File C — 2 shown in  FIG. 5(   a ). 
         [0076]    [Effects of the Second Embodiment] 
         [0077]    As described above, when initially launched after installation, the device driver program  3  according to the preferred embodiment creates a file list  17  listing setting categories that the main program  3   a  requires for print control, and destinations for acquiring (referencing) setting values for these categories. 
         [0078]    Hence, when executing print control according to the main program  3   a , the CPU can simply acquire setting values via the settings program  3   b  from the acquisition locations uniquely identified by the file list  17  (i.e., locations within the setting information files  5 , and specifically among the first individual file  8   a , minor classification file  9   a , and major classification file  9   b ), thereby reducing the length of the print control process. 
         [0079]    [Variations of the Embodiments] 
         [0080]    While the invention has been described in detail with reference to specific embodiments thereof, it would be apparent to those skilled in the art that many modifications and variations may be made therein without departing from the spirit of the invention, the scope of which is defined by the attached claims. 
         [0081]    For example, the CPU of the control unit  15  executes the file list creation process according to the preferred embodiment the first time that the device driver program  3  is launched after the device driver  6  has been installed on the PC  10 . However, the CPU of the control unit  15  may execute this process when the device driver  6  is installed or first used, or at another time, provided that the process is executed at least before print control is performed. 
         [0082]    The file list  17  according to the preferred embodiment is configured of setting categories required for print control by the main program  3   a , and locations for acquiring (referencing) their corresponding setting values, but the present invention is not limited to this content. For example, the CPU of the control unit  15  may create a file list having filenames to be referenced by the main program  3   a , and their reference priority based on the file ID  16  recorded in each file in the setting information files  5 , as illustrated in  FIG. 8 ). Alternatively, the CPU may create a setting value list such as that illustrated in  FIG. 8(   c ) by acquiring setting categories and values necessary for print control with the main program  3   a  from the appropriate files in advance. 
         [0083]    In this case, the settings program  3   b  need not reference the setting information files  5  each time print control is performed, thereby reducing the load on the PC  10  when executing the device driver program  3 . 
         [0084]    Further, the installer  2  according to the preferred embodiment is configured to install the individual file  8  from the individual file set  80  that corresponds to the relevant model, but the installer  2  may alternatively be configured to install the minor classification file  9   a  from the shared file set  90  that corresponds to the relevant series. Further, the numbers of files included in the individual file set  80  and the shared file set  90  are not limited to the numbers in the preferred embodiments. 
         [0085]    Further, the device driver  6  according to the preferred embodiments described above is executed on the PC  10  for controlling the printer  20 , but the device driver  6  may be executed on a host device other than the PC  10  and may function to control a device other than the printer  20 . Further, the PC may be integrated in the printer. The Installer and the device program may be installed on the PC separately.