説明

インストーラ作成装置、インストーラ作成方法、およびインストーラ作成プログラム

【課題】OSが再インストールされてしまう場合等でも既存のデバイスドライバの設定を引き継ぐことができるインストーラ作成装置を提供する。
【解決手段】このインストーラ作成装置は、HDDに格納されているデバイスドライバの設定情報を取得する取得手段(ステップS301)と、取得したデバイスドライバに対応するINFファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たなINFファイルを生成する生成手段(ステップS304)と、デバイスドライバに含まれるファイル情報を取得し、該取得ファイル情報を新たなINFファイルに追加して該ファイルを変更する変更手段(ステップS304)と、該変更手段で追加されたファイル情報に基づいて、デバイスドライバのファイルを収集し、所定の領域にコピーする収集手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタドライバ等のデバイスドライバのインストーラを作成するインストーラ作成装置、インストーラ作成方法、およびインストーラ作成プログラムに関する。
【背景技術】
【0002】
従来から、プリンタ等の周辺機器を多くのユーザで共有して使用することが広く行われている。その際には、プリンタサーバをネットワーク上に設置し、該プリンタサーバによって、各クライアントコンピュータがプリンタを使用する際に必要な設定や、各クライアントコンピュータに対する権限設定やセキュリティ設定等の情報を管理している。
【0003】
ところで、クライアントコンピュータの数が増えてくると、プリンタサーバへの負荷が増大するので、プリンタサーバを増やしたり、プリンタサーバをより機能の高いものにしたりする必要性が出てくる。
【0004】
その場合に管理者は、既存のプリンタサーバにおけるプリンタドライバの設定情報を基準設定としてメモ等で記録する。その後、追加或いは変更するプリンタサーバのプリンタドライバインストーラの用意し、該インストーラを起動して新たなプリンタドライバをインストールする。そして、インストールした新たなプリンタドライバに対してメモ等で記録した既存のプリンタドライバの基準設定を反映させる。
【0005】
管理者が以上の作業を手作業で行うことは、複雑であるとともに手間がかかってしまう。また、複数台のプリンタサーバに対して既存のプリンタサーバの基準設定を反映することを考えると、その台数分作業を行わなければならないため、負荷はさらに増大する。
【0006】
そこで、プリンタドライバの更新の際に新たにインストールされたプリンタドライバの設定を既存のプリンタドライバの基準設定に合わせる技術が開示されている(特許文献1参照)。
【特許文献1】特開2006−107476号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
上記特許文献1は、プリンタドライバの更新が行われる際に、既にインストールされているプリンタドライバのデバイス設定を引き継ぐものであるが、例えばOSを再インストールする場合などには適用することができない。OSが再インストールされると、それまでに設定されていたプリンタドライバがクリアされてしまうからである。
【0008】
そこで、本発明は、OSが再インストールされてしまう場合等でも既存のデバイスドライバの設定を引き継ぐことができるインストーラを作成するためのインストーラ作成装置、インストーラの作成方法、およびインストーラ作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、請求項1に記載のインストーラ作成装置は、デバイスドライバのインストーラを作成する装置であって、所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得手段と、該設定情報取得手段で取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成手段と、前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更手段と、該定義ファイル変更手段で追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集手段と、を備えることを特徴とする。
【0010】
請求項6に記載のインストーラ作成方法は、デバイスドライバのインストーラを作成する方法であって、所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得ステップと、該設定情報取得ステップで取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成ステップと、前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更ステップと、該定義ファイルステップで追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集ステップと、を備えることを特徴とする。
【0011】
請求項11に記載のインストーラ作成プログラムは、デバイスドライバのインストーラを作成する処理をコンピュータに実行させるプログラムであって、所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得モジュールと、該設定情報取得モジュールで取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成モジュールと、前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更モジュールと、該定義ファイルモジュールで追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集モジュールと、を前記コンピュータに実行させる、ことを特徴とする。
【発明の効果】
【0012】
本発明によれば、OSが再インストールされてしまう場合等でも、OSの再インストール後に作成したインストーラを実行することで、既存のデバイスドライバの設定を引き継ぐことができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態の一例を図を参照して説明する。
【0014】
図1は、本発明の実施の形態の一例であるプリンタサーバを含むネットワークシステムの構成図である。
【0015】
図1に示すように、このシステムでは、ネットワーク104を介してプリンタサーバ101、情報処理装置102−1,102−2、プリンタ103−1, 103−2が互いに接続されている。ここで、この実施の形態では、プリンタサーバ101が本発明のインストーラ作成装置として機能する。
【0016】
プリンタサーバ101の所定の記憶領域(例えば、HDD204等:図2参照))には、情報処理装置102−1,102−2で作成された文書データをプリンタ103−1〜103−3から出力させるために必要なプリンタドライバが格納されている。また、プリンタサーバ101は、それぞれのプリンタ103−1〜103−3の状態監視も行なっている。
【0017】
さらに、プリンタサーバ101は、情報処理装置102−1,102−2を使用するユーザ毎にプリンタ103−1〜103−3に対してどのような機能を使用できるかというアクセス権の設定情報を管理している。さらに、プリンタサーバ101は、情報処理装置102−1,102−2がプリンタ103−1〜103−3に対してデータを送信する際のセキュリティ情報などもあわせて管理している。
【0018】
情報処理装置102−1,102−2(以下、情報処理装置102とする)は、所定のアプリケーションで作成されたデータをプリンタサーバ101上のプリンタドライバを用いて印刷データに変換して、プリンタ103−1〜103−3に出力する。
【0019】
プリンタ103−1、103−2および103−3は、プリンタサーバ101および情報処理装置102より送信されてきた印刷データを印刷する機能を有している。
【0020】
次に、図2を参照して、プリンタサーバ101のハードウェア構成について説明する。なお、図2では、プリンタサーバ101のハードウェア構成として説明するが、情報処理装置102についても同様のハードウェア構成を有しているものとする。
【0021】
図2に示すように、プリンタサーバ101は、ハードウェアとして、CPU201、RAM202、ROM203、HDD(ハードディスクドライブ)204、およびネットワークI/F(インタフェース)205を備える。
【0022】
また、プリンタサーバ101は、ハードウェアとして、記録媒体ドライブ206、キーボード207、マウス208、ビデオI/F209、ディスプレイ装置210、および外部機器I/F211も備える。これらのハードウェアは、システムバス212を介して互いに接続されている。
【0023】
CPU201は、RAM202やROM203に格納されているプログラムやデータを用いて、プリンタサーバ101全体を制御するとともに、プリンタサーバ101が行う各処理を実行する。
【0024】
RAM202は、HDD204からロードされたプログラムやデータを一時的に記憶するためのエリアを有するとともに、CPU201が各種処理を実行するために使用するワークエリアを有する。ROM203は、コンピュータのブートプログラムやBIOS等の各種プログラムを記憶している。
【0025】
HDD204は、OS(オペレーティングシステム)や、プリンタサーバ101が行う各処理をCPU201に実行させるためのプログラムや各種データを保存しており、これらは必要に応じてCPU201の制御によりRAM202に読み出されて実行される。
【0026】
ネットワークI/F205はネットワーク104に接続するためのものであり、このネットワークI/F205を介して外部機器との間でデータ通信を行うことが可能となる。記録媒体ドライブ206は、CD−ROM、CD−R/RW、DVD―ROM、DVD−R/RW、およびDVD−RAM等のドライブとして機能する。キーボード207、およびマウス208は、各種の指示をCPU201に入力することができる入力部として機能する。
【0027】
ビデオI/F209には、ディスプレイ装置210が接続される。ディスプレイ装置210は、CRTや液晶表示装置等で構成されており、ビデオI/F209を介して送られた信号に基づいて、文字や画像等の情報を表示画面上に表示する機能を有する。
【0028】
外部機器I/F211は、周辺機器を接続するためのポートであり、この外部機器I/F211を介して周辺機器との間でデータの送受信を行うことが可能になる。外部機器I/F211は、SCSI、USB、IEEE1394等の各種インタフェースで構成することができ、通常、複数の外部機器I/Fを有する。
【0029】
なお、周辺機器との接続形態は有線/無線を問わない。この外部機器I/F211を介してプリンタ103−1〜103−3と接続することも勿論可能である。
【0030】
次に、図3を参照して、プリンタサーバ101のCPU201によって行われるインストーラの作成処理について説明する。
【0031】
この処理では、プリンタサーバ101にインストールされているプリンタドライバの設定を他のコンピュータ(プリンタサーバ等)にそのまま適用させるための(プリンタサーバ101のOSを再インストールする場合にはOSインストール後のプリンタサーバ101自体にそのまま適用させるための)プリンタドライバのインストーラを作成する。
【0032】
なお、プリンタサーバのOSは、Windows(登録商標)2000若しくはWindows(登録商標)XP若しくはWindows(登録商標)Server2003であるものとして以下の説明を行う。
【0033】
以下、Windows(登録商標)におけるインストーラの作成処理を説明する。
【0034】
まず、プリンタサーバ101のCPU201は、既にインストールされているプリンタドライバ情報を取得する(ステップS301)。
【0035】
図9は、プリンタドライバ情報の一例を示す図であり、このプリンタドライバ情報はプリンタサーバ101のHDD204に格納されている。
【0036】
ここで、図9において、「プリンタ名」は、プリンタの名称を示すデータである。「ドライバ名」は、当該プリンタで使用されるプリンタドライバの種類を示すデータである。「ポート名」は、プリンタが接続されているポートを示すデータである。「バージョン」はプリンタドライバのバージョンを示すデータである。「代替OS」は、当該プリンタについてどのOSについての代替ドライバがプリンタサーバ101にインストールされているかを示している。
【0037】
代替ドライバは、プリンタドライバ毎に設定することができ、共有設定したプリンタサーバ上に他のOS用のプリンタドライバもコピーしておき、クライアントが接続したときに、プリンタドライバをネットワーク104経由でインストールするOSの機能である。
【0038】
図3に戻って、その後、プリンタサーバ101に既にインストールされているプリンタドライバで印刷データが作成可能なプリンタの中から、作成されるインストーラにプリンタドライバを追加するプリンタを選択する(ステップS302)。その際には、例えば図7に示すように、ダイアログボックスをディスプレイ装置210に表示させ、当該ダイアログボックスを介しての、プリンタサーバ101を使用するユーザによる入力部からの指示に従って、CPU201はプリンタを選択することになる。
【0039】
図7は、インストーラにプリンタドライバを追加するプリンタの選択画面の一例を示す図である。
【0040】
図7において、「インストーラにドライバを追加するプリンタの選択」欄のラジオボタンは、該ラジオボタンの下方のプリンタ表示領域に表示させるプリンタの種類を選択させるためのコントロールである。
【0041】
「既存プリンタを全て表示」が選択された場合には、プリンタ表示領域には、プリンタサーバ101にインストールされているプリンタドライバで使用可能な全てのプリンタが表示されることになる。
【0042】
「現在接続されているプリンタを表示」が選択された場合には、その時点でプリンタサーバ101に接続されているプリンタのプリンタドライバのみが表示される。例えば、プリンタサーバにはプリンタドライバがインストールされているが、実際には故障や機種変更等により使用されなくなっているプリンタを表示させないためにこのような選択が可能になっている。
【0043】
「プリンタ情報ファイル」が選択されている場合には、プリンタ情報ファイルを選択させ、そのプリンタ情報ファイル中に記録されているプリンタを選択可能にプリンタ表示領域に表示されることになる。
【0044】
このプリンタ表示領域に表示されているプリンタを選択することで(複数選択が可能)、ユーザはプリンタドライバをインストーラに追加するプリンタの選択指示をCPU201に対して行うことが可能となる。そして、「OK」ボタンが押下されると、インストーラの作成処理が行われることになる。
【0045】
また、このダイアログボックスでは、プリンタの選択とともにセキュリティ設定についても選択することが可能である。セキュリティ設定とは、プリンタのアクセス許可を表すものであり、プリンタ毎にユーザ/グループのアクセス許可を割り当てることができる。「セキュリティ設定方法」欄のラジオボタンは、作成するセキュリティ情報ファイルの種類を選択させるためのコントロールである。ここでの設定に基づいて、後述するセキュリティ情報ファイルの作成処理が行われることになる。
【0046】
図3に戻って、CPU201は、プリンタドライバをインストーラに追加するプリンタの選択後、図7の「OK」ボタンの押下によるインストーラの作成指示を受けたかどうかを判断する(ステップS303)。インストーラの作成指示を受けていない場合は(ステップS303でNO)、ステップS302の選択処理を継続する。作成指示を受けたと判断した場合には(ステップS303でYES)、ステップS304のドライバフォルダ作成処理を行う。ドライバフォルダ作成処理の詳細については、図4を用いて後述する。
【0047】
そして、ステップS304のドライバフォルダ作成処理をステップS302で選択された全てのプリンタについて繰り返すことになる(ステップS305でYESと判断するまで)。
【0048】
その後、選択されたプリンタについてのプリンタ情報ファイルを作成する(ステップS306)。ここでいうプリンタ情報ファイルとは、プリンタ毎に既存設定情報が記述されているものである。例えば、印刷の向き・ページレイアウトなどOSの機能である印刷設定ダイアログの項目、場所・コメントなどOSの機能であるプリンタプロパティダイアログの項目等が登録されているファイルのことをいう。
【0049】
そして、セキュリティ情報ファイルの作成処理を行う(ステップS307)。この際には、図7に示すプリンタ選択画面で設定したセキュリティ設定に応じたセキュリティ情報ファイルを作成することになる。
【0050】
その後、インストール情報ファイルを作成する(ステップS308)。インストール情報ファイルは、例えば図12に示すようなもので、プリンタドライバのインストール時にiniファイルとして使用されるファイルである。
【0051】
図12は、インストール情報ファイルの一例を示す図である。
【0052】
図12において、[INFO]セクションには、(インストール対象プリンタ、各プリンタ情報を除く、インストーラ全体に関わる項目)が記載可能であり、例えばセキュリティ情報ファイルなどを指定することが可能である。
【0053】
[InstallPrinter]セクションには、当該インストール情報ファイルを使用してインストールされるプリンタドライバに対応するプリンタの名称が列挙される。この場合、ローカルプリンタ−A、ローカルプリンタ−B、ネットワークプリンタ−Cという名称のプリンタが、当該インストール情報ファイルを使用してプリンタドライバをインストールするとコンピュータ上に作成されることになる。
【0054】
それ以降の、[ローカルプリンタ−A]、[ローカルプリンタ−B]、及び[ネットワークプリンタ−C]セクションには、[InstallPrinter]セクションに列挙されているプリンタについてそれぞれ「ドライバ名称」や「ポート名称」、「バージョン」、「基本OS用INF」(基本OS用のINFファイルの名称)、「代替OS用INF」(代替OS用のINFファイルの名称:「,」で区切り、複数記載することが可能)、「プリンタ設定」(プリンタ設定ファイルの名称)などが記載されている。
【0055】
この処理で作成されたファイルを所定のフォルダに格納することで、インストーラが完成する。
【0056】
以上がプリントサーバ101のCPU201によって行われるインストーラの作成処理になる。
【0057】
上記の処理の結果、図8に示すようなインストーラが作成される。このインストーラは、インストーラアプリケーション(既存)、インストール情報(図3のステップS308で作成)、セキュリティ情報(図3のステップS307で作成)、プリンタ設定情報(図3のステップS306で作成)とともに、図3のステップS304で作成した基本OS用のドライバフォルダ、代替OS用のドライバフォルダから構成される。
【0058】
次に、図4を参照して、図3のステップS304のドライバフォルダ作成処理を詳述する。図4は、図3のステップS304のドライバフォルダ作成処理の一例を説明するためのフローチャート図である。
【0059】
まず、インストーラに含ませるプリンタドライバのINFファイル(セットアップ情報定義ファイル)を取得する(ステップS401)。INFファイルはWindows(登録商標)XPでは、C:¥Windows(登録商標)¥INFにドライバインストール時にコピーされることになるので、そのフォルダから選択されたプリンタに対応するINFファイルを取得することになる。
【0060】
ここで、図11を参照して、INFファイルの構成を説明する。
【0061】
図11は、Windows(登録商標)XPのプリンタドライバのINFファイルの一例を示す図である。
【0062】
図11において、「Version」セクションAには、INFファイルの概要が記述されており、プロバイダやドライババージョン等の情報が記載されている。
【0063】
「Manufacturer」セクションBには、対象とするメーカー等の情報が記載されている。
【0064】
「Model」セクションCには、対象とするドライバが記述されており、ドライバ名称、後述の「Install」セクション名称、ハードウェアID等の情報が記載されている。このセクションには、複数のドライバ名称が設定可能であり、その場合にはそれぞれに対応した後述の「Install」セクションDが記述されることになる。
【0065】
「Install」セクションDには、インストールでどのような作業を行うかが記述されており、当該「Install」セクション([PR1000])に対応する後述の「Data」セクション名称(DataSectionの値で示されている)、後述の「FileList」セクション名称(CopyFilesの値で示されている)等の情報が記載されている。
【0066】
「Data」セクションEには、Driverファイル、Configファイル、Helpファイルの名称等の情報が記載されている。
【0067】
「FileList」セクションFには、「Install」セクションのCopyFilesの値が本セクションの名称となっているプリンタドライバのインストーラで使用するドライバファイル名称の情報が記載されている。
【0068】
「DestinationDirs」セクションGには、「FileList」セクション毎のインストーラで使用するドライバファイルのコピー先情報が記載されている。
【0069】
「Strings」セクションHには、INFファイル全体に関わる項目のうち、“%”で囲まれている文字の置き換え情報が記載されている。
【0070】
そして、INFファイルの取得に失敗した場合には(ステップS402でNO)、エラー表示を行い(ステップS414)、本処理を終了する。
【0071】
一方、INFファイルの取得に成功した場合には(ステップS402でYES)、プリンタドライバのバージョンを判断する(ステップS403)。これは図11の「Version」セクションAの「DriverVer」の値に基づいて判断することになる。
【0072】
その後、当該バージョンの基本OS用INFファイル(この発明のインストーラ作成装置によって作成されるINFファイル)が既に作成されているかを判断する(ステップS404)。未だ作成されていないと判断した場合には(ステップS404でNO)、当該バージョンのドライバ用の基本OS用INFファイルを作成することになる(ステップS405)。
【0073】
このステップで作成された基本OS用INFファイルには、まず、図11の「Version」セクションAと「Manufacturer」セクションBの情報がステップS401で取得したINFファイルからコピーされることになる。
【0074】
ステップS404でYES(既に基本OS用INFファイル作成済み)の場合、及びステップS405での基本OS用INFファイル作成処理が終了した場合には、基本OS用INFファイルの編集処理を行う(ステップS406)。ステップS406での編集処理の詳細については図5を用いて後述する。
【0075】
その後、当該プリンタドライバで必要なドライバファイルを指定フォルダにコピーする(ステップS407)。ドライバファイルはプリンタドライバインストール時にWindows(登録商標)XPでは、C:\Windows(登録商標)\System32\spool\Drivers\W32X86\3にコピーされているので、当該フォルダからドライバファイルを取得することになる。既に同一名称の更新日付が新しいドライバファイルが指定フォルダにコピーされている場合には、そのファイルはコピーしない。以上が基本OS用のドライバフォルダの作成処理になる。
【0076】
その後、処理中のプリンタでの印刷データを作成するために使用するプリンタドライバに代替OSの設定があるかを判断する(ステップS408)。この判断は、図9のプリンタドライバ情報の代替OS欄にデータがあるか否かで判断することになる。
【0077】
ステップS408でNOと判断した場合には、処理中の選択プリンタに対するインストールファイル作成処理を終了する。
【0078】
ステップS408でYESと判断した場合には、代替OS用INFファイル(この発明のインストーラ作成装置によって作成されるINFファイル)が既に作成済みかを判断することになる(ステップS409)。
【0079】
代替OS用INFファイルは代替OSそれぞれについて作成することになるので、ここでは、当該プリンタに設定されている代替OS全ての代替OS用INFファイルが作成されているかを判断することになる。
【0080】
全ての代替OSの代替OS用INFファイルが作成済みではないと判断した場合には(ステップS409でNO)、未だ作成していない代替OSの代替OS用INFファイルを作成する(ステップS410)。
【0081】
このステップで作成された代替OS用INFファイルには、まず、図11の「Version」セクションAの情報がステップS401で取得したINFファイルからコピーされることになる。
【0082】
ステップS410の処理終了後、若しくはステップS409でYESと判断した場合には、それぞれの代替OS毎に代替OS用INFファイルの編集処理を行う(ステップS411)。ステップS411の編集処理の詳細については図6を用いて後述する。
【0083】
そしてその後、代替OS用の当該プリンタドライバで必要なドライバファイルを指定フォルダにコピーする(ステップS412)。ドライバファイルは代替プリンタドライバインストール時にWindows(登録商標)XPではWindows(登録商標)98/Me用の代替プリンタドライバはC:\Windows(登録商標)\System32\spool\Drivers\Win40\0に、Windows(登録商標)NT用の代替プリンタドライバは、C:\Windows(登録商標)\System32\spool\Drivers\W32X86\2にコピーされているので、当該フォルダからドライバファイルを取得することになる。
【0084】
なお、既に同一名称の更新日付が新しいドライバファイルが指定フォルダにコピーされている場合には、そのファイルはコピーしない。この処理で代替OSそれぞれ用の代替OS用ドライバフォルダが作成されることになる。
【0085】
そして、ステップS411、S412の処理を全ての代替OSについて処理が終わるまで(ステップS413でYES)繰り返すことになる。
【0086】
以上が、図3のステップS304のドライバフォルダ作成処理の詳細である。
【0087】
次に、図5を参照して、図4のステップS406の基本OS用INFファイルの編集処理の詳細を説明する。
【0088】
まず、CPU201は、編集対象となっている基本OS用INFファイルに、図7での選択プリンタで使用するプリンタドライバの情報が既に記載済みかどうかを判断する。
【0089】
Windows(登録商標)のINFファイルの場合は、図11のINFファイル中の「Manufacture」セクションBの「“」と「”」で囲まれたキーの値2001の名称が付いているセクション中に、当該ドライバの名称が含まれているかをチェックする。
【0090】
そして、ドライバ名称が既に含まれていたら既に記載済みであると判断し、記載済みと判断した場合には(ステップS501でYES)、本処理を終了する。
【0091】
ステップS501で記載されていないと判断した場合には(ステップS501でNO)、基本OS用INFファイルにプリンタドライバのドライバ情報を追加する(ステップS502)。
【0092】
具体的には、図11の既存INFファイルの「Manufacture」セクションBの「“」と「”」で囲まれた箇所の名称が付いているセクション中にある当該プリンタドライバの設定情報を基本OS用INFファイルにコピーする。また、「Manufacture」セクションBや当該プリンタドライバの設定情報を記載すべきセクションが未だ作成されていなければ、それらの情報もあわせて作成することになる。
【0093】
その後、当該ドライバ情報の値(図11の2002)に基づいて「Install」セクション(例えば図11の「PR1000」セクション)の設定値を既存INFファイルから基本OS用INFファイルにコピーすることで「Install」セクション情報(例えば図11中のD)を追加する(ステップS503)。
【0094】
その後、「Install」セクション(例えば図11のD「PR1000」セクション)中の「DataSection」キーの値と同名の既存INFファイル中のセクションを、編集中の基本OS用INFファイルにコピーすることで、「Data」セクション情報を追加する(ステップS504)。
【0095】
そして、「Install」セクション中の「CopyFiles」キーの値と同名の既存INFファイル中のセクションを編集中の基本OS用INFファイルにコピーすることで「FileList」セクション情報を追加する(ステップS505)。
【0096】
以上が基本OS用INFファイルの編集処理である。また、図5では記載は省略するが、すべてのプリンタドライバについての情報を基本OS用INFファイルに追加後、例えばこのときに[DestinationDirs]セクションの情報や[Strings]セクションの情報も追加することになる。
【0097】
次に、図6を参照して、図4のステップS411の代替OS用INFファイルの編集処理の詳細を説明する。
【0098】
まず、CPU201は編集対象となっている代替OS用INFファイルに、選択プリンタで使用するプリンタドライバの情報が既に記載済みかどうかを判断する。
【0099】
Windows(登録商標)のINFファイルの場合は、INFファイル中の「Manufacture」セクションの「“」と「”」で囲まれたキーの値(図11の2001)の名称が付いているセクションタグ中に、当該ドライバの名称が含まれているかをチェックし、ドライバ名称が既に含まれていたら既に記載済みであると判断する。記載済みと判断した場合には(ステップS601でYES)、本処理を終了する。
【0100】
ステップS601で記載されていないと判断した場合には(ステップS601でNO)、代替OS用INFファイルにプリンタドライバのドライバ情報を追加する(ステップS602)。
【0101】
具体的には、既存INFファイルの「Manufacture」セクションの「“」と「”」で囲まれた箇所の名称が付いているセクション中にある当該プリンタドライバの設定情報を代替OS用INFファイルにコピーする。また、「Manufacture」セクションや当該プリンタドライバの設定情報を記載すべきセクションが未だ作成されていなければ、それらの情報もあわせて作成することになる。
【0102】
その後、当該ドライバ情報の値(例えば図11の2002)に基づいて「Install」セクション(例えば図11の「PR1000」セクション)の設定値を既存INFファイルから代替OS用INFファイルにコピーすることで「Install」セクション情報(例えば図11中のD)を追加する(ステップS603)。
【0103】
[DataFile]キー、及び[LanguageMonitor]キーに追加すべき値については、Windows(登録商標)XPでは、レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows(登録商標)NTx86\Drivers\Version-2\フレンドリ名(ドライバ名称)で示されるキーの[Data File]の値[ Monitor]の値にそれぞれ情報が格納されているので、当該レジストリから取得し記載することになる。
【0104】
その後、ドライバセクション(例えば図11のD「PR1000」セクション)中の「DataSection」キーの値と同名の既存INFファイル中のセクションを、編集中の代替OS用INFファイルにコピーすることで、データセクション情報を追加する(ステップS604)。
【0105】
[DriverFile]キー、[ConfigFile]キー、[HelpFile]キーに追加すべき値は、Windows(登録商標)XPでは、レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows(登録商標)NTx86\Drivers\Version-2\フレンドリ名(ドライバ名称)で示されるキーの[Driver]の値、[ Configuration File]の値、[ Help File]の値にそれぞれ情報が格納されているので、当該レジストリから取得し記載することになる。
【0106】
そして、ドライバセクション中の「CopyFiles」キーの値と同名の既存INFファイル中のセクションを編集中の代替OS用INFファイルにコピーすることでコピーファイルセクション情報を追加する(ステップS605)。
【0107】
[DriverFile]キーに追加すべき値は、Windows(登録商標)XPでは、レジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows(登録商標)NTx86\Drivers\Version-2\フレンドリ名(ドライバ名称)で示されるキーの[Dependent Files]の値に情報が格納されているので、当該レジストリから取得し記載することになる。
【0108】
以上の処理を処理中のプリンタドライバに設定されている全ての代替OSについて行い、全ての代替OS用INFファイルの編集が終了したら、本処理を終了する。
【0109】
また、図6では説明を省略するが、すべてのプリンタドライバについての情報を基本OS用INFファイルに追加後、例えばこのときに「DestinationDirs」セクションの情報や「Strings」セクションの情報も追加することになる。
【0110】
なお、「DestinationDir」セクションはそのままコピーするのではなく、図10にあるDistinationDir対応情報に基づいてそれぞれの値を変更することになる。
【0111】
以上が代替OS用INFファイルの編集処理である。
【0112】
上記の説明から明らかなように、この実施の形態では、既にプリンタサーバ101に格納されているデバイスドライバに基づいて、該プリンタサーバ101で設定されているデバイスドライバの環境を他のプリンタサーバ又はOSの再インストール後のプリンタサーバ101に移行するためのデバイスドライバのインストーラを作成することが可能となる。そして、この本発明によって作成されたデバイスドライバを実行することで、既存の設定を反映させた形でのプリンタドライバのインストールが行われることになる。
【0113】
なお、本発明は、上記実施の形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0114】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0115】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0116】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0117】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0118】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0119】
【図1】本発明の実施の形態の一例であるプリンタサーバ(インストーラ作成装置)を含むネットワークシステムの構成図である。
【図2】プリンタサーバのハードウェア構成を説明するためのブロック図である。
【図3】プリンタサーバによるインストーラの作成処理例を説明するためのフローチャート図である。
【図4】図3のステップS304でのドライバフォルダ作成処理の一例を説明するためのフローチャート図である。
【図5】図4のステップS406での基本OS用INFファイルの編集処理の一例を説明するためのフローチャート図である。
【図6】図4のステップS411での代替OS用INFファイルの編集処理の一例を説明するためのフローチャート図である。
【図7】インストーラにプリンタドライバを追加するプリンタの選択画面の一例を示す図である。
【図8】図3のインストーラ作成処理によって作成されたインストーラのイメージ図である。
【図9】プリンタドライバ情報の一例を示す図である。
【図10】DistinationDir対応情報を示す図である。
【図11】INFファイルの一例を示す図である。
【図12】インストール情報ファイルの一例を示す図である。
【符号の説明】
【0120】
101 プリンタサーバ(インストール作成装置)
102 情報処理装置
103 プリンタ
201 CPU
202 RAM
203 ROM
204 HDD
205 ネットワークI/F
206 記録媒体ドライブ
207 キーボード
208 マウス
209 ビデオI/F
210 ディスプレイ装置
211 外部機器
212 システムバス

【特許請求の範囲】
【請求項1】
デバイスドライバのインストーラを作成する装置であって、
所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得手段と、
該設定情報取得手段で取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成手段と、
前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更手段と、
該定義ファイル変更手段で追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集手段と、を備える
ことを特徴とするインストーラ作成装置。
【請求項2】
前記設定情報取得手段で取得した複数のデバイスドライバから、インストーラに含ませるデバイスドライバを選択操作可能な選択操作手段と、
該選択操作手段により選択されたデバイスドライバの選択情報を受け付ける受付手段と、を備え、
前記定義ファイル生成手段は、前記受付手段で受け付けたデバイスドライバに対応する定義ファイルの情報に基づき、前記新たな定義ファイルを生成する、
ことを特徴とする請求項1に記載のインストーラ作成装置。
【請求項3】
前記所定の記憶領域に格納されている前記デバイスドライバのセキュリティ情報を取得するセキュリティ情報取得手段と、
該セキュリティ情報取得手段で取得したセキュリティ情報に基づいて新たなセキュリティ情報ファイルを生成するセキュリティ情報ファイル生成手段と、を備える
ことを特徴する請求項1又は2に記載のインストーラ作成装置。
【請求項4】
前記所定の記憶領域に格納されている前記デバイスドライバに、代替デバイスドライバが含まれる、
ことを特徴とする請求項1〜3のいずれか一項に記載のインストーラ作成装置。
【請求項5】
前記定義ファイル変更手段は、前記インストーラアプリケーションによるインストール処理の際に前記代替デバイスドライバを記録するディレクトリ情報を前記新たな定義ファイルに追加する、
ことを特徴とする請求項4に記載のインストーラ作成装置。
【請求項6】
デバイスドライバのインストーラを作成する方法であって、
所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得ステップと、
該設定情報取得ステップで取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成ステップと、
前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更ステップと、
該定義ファイルステップで追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集ステップと、を備える
ことを特徴とするインストーラ作成方法。
【請求項7】
前記設定情報取得ステップで取得した複数のデバイスドライバから選択されたデバイスドライバの選択情報を受け付ける受付ステップを備え、
前記定義ファイル生成ステップは、前記受付ステップで受け付けたデバイスドライバに対応する定義ファイルの情報に基づき、前記新たな定義ファイルを生成する、
ことを特徴とする請求項6に記載のインストーラ作成方法。
【請求項8】
前記所定の記憶領域に格納されている前記デバイスドライバのセキュリティ情報を取得するセキュリティ情報取得ステップと、
該セキュリティ情報取得ステップで取得したセキュリティ情報に基づいて新たなセキュリティ情報ファイルを生成するセキュリティ情報ファイル生成ステップと、を備える
ことを特徴する請求項6又は7に記載のインストーラ作成方法。
【請求項9】
前記所定の記憶領域に格納されている前記デバイスドライバに、代替デバイスドライバが含まれる、
ことを特徴とする請求項6〜8のいずれか一項に記載のインストーラ作成方法。
【請求項10】
前記定義ファイル変更ステップは、前記インストーラアプリケーションによるインストール処理の際に前記代替デバイスドライバを記録するディレクトリ情報を前記新たな定義ファイルに追加する、
ことを特徴とする請求項9に記載のインストーラ作成方法。
【請求項11】
デバイスドライバのインストーラを作成する処理をコンピュータに実行させるプログラムであって、
所定の記憶領域に格納されているデバイスドライバの設定情報を取得する設定情報取得モジュールと、
該設定情報取得モジュールで取得した前記デバイスドライバに対応する定義ファイルの情報に基づき、該デバイスドライバをインストールする際にインストールアプリケーションが使用する新たな定義ファイルを生成する定義ファイル生成モジュールと、
前記デバイスドライバに含まれる所定のファイル情報を取得し、該取得ファイル情報を前記新たな定義ファイルに追加して該ファイルを変更する定義ファイル変更モジュールと、
該定義ファイルモジュールで追加されたファイル情報に基づいて、前記デバイスドライバのファイルを収集し、所定の領域にコピーする収集モジュールと、を前記コンピュータに実行させる、
ことを特徴とするインストーラ作成プログラム。
【請求項12】
前記設定情報取得モジュールで取得した複数のデバイスドライバから選択されたデバイスドライバの選択情報を受け付ける受付モジュールを備え、
前記定義ファイル生成モジュールは、前記受付モジュールで受け付けたデバイスドライバに対応する定義ファイルの情報に基づき、前記新たな定義ファイルを生成する、
ことを特徴とする請求項11に記載のインストーラ作成プログラム。
【請求項13】
前記所定の記憶領域に格納されている前記デバイスドライバのセキュリティ情報を取得するセキュリティ情報取得モジュールと、
該セキュリティ情報取得モジュールで取得したセキュリティ情報に基づいて新たなセキュリティ情報ファイルを生成するセキュリティ情報ファイル生成モジュールと、を備える ことを特徴する請求項11又は12に記載のインストーラ作成プログラム。
【請求項14】
前記所定の記憶領域に格納されている前記デバイスドライバに、代替デバイスドライバが含まれる、
ことを特徴とする請求項11〜13のいずれか一項に記載のインストーラ作成プログラム。
【請求項15】
前記定義ファイル変更モジュールは、前記インストーラアプリケーションによるインストール処理の際に前記代替デバイスドライバを記録するディレクトリ情報を前記新たな定義ファイルに追加する、
ことを特徴とする請求項14に記載のインストーラ作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate