JP2014035627A - 情報処理装置、インストール方法、およびプログラム - Google Patents

情報処理装置、インストール方法、およびプログラム Download PDF

Info

Publication number
JP2014035627A
JP2014035627A JP2012176024A JP2012176024A JP2014035627A JP 2014035627 A JP2014035627 A JP 2014035627A JP 2012176024 A JP2012176024 A JP 2012176024A JP 2012176024 A JP2012176024 A JP 2012176024A JP 2014035627 A JP2014035627 A JP 2014035627A
Authority
JP
Japan
Prior art keywords
driver
file
installation
customized
customization
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.)
Granted
Application number
JP2012176024A
Other languages
English (en)
Other versions
JP5885616B2 (ja
Inventor
Hiroshi Omura
宏 大村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012176024A priority Critical patent/JP5885616B2/ja
Priority to PCT/JP2013/004554 priority patent/WO2014024410A1/en
Priority to DE112013003941.9T priority patent/DE112013003941T5/de
Priority to CN201380042039.3A priority patent/CN104583932B/zh
Priority to US14/419,794 priority patent/US9342290B2/en
Publication of JP2014035627A publication Critical patent/JP2014035627A/ja
Application granted granted Critical
Publication of JP5885616B2 publication Critical patent/JP5885616B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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)

Abstract

【課題】 カスタマイズによりカタログファイルとインストールセットで整合性が崩れたドライバのインストールを検知して、そのドライバのインストールをさせないOSを備えた情報処理装置であっても、カスタマイズされたドライバをインストールさせる。
【解決手段】 カスタマイズが施される前のドライバをインストールし、インストールされたドライバにて設定が可能な機能設定値の状態がカスタマイズを施されたドライバの機能設定値と同じなるように、インストールされたドライバを修正する。
【選択図】 図11

Description

本発明は、カスタマイズが施されたドライバをインストールする情報処理装置、そのドライバのインストール方法、およびプログラムに関する
プリンタを制御する印刷制御プログラムの代表的なものにWindows(登録商標)のプリンタドライバがある。Windows(登録商標)のプリンタドライバのインストールセットには、CATファイルと呼ばれるプリンタドライバのカタログファイルが含まれる。カタログファイルにはインストールセットを構成する各ファイルのハッシュ値の配列が格納されている。更にそのカタログファイルに対して電子署名を付与することができる。カタログファイルの電子署名の検証後、格納されているハッシュ値とインストールセット内の各ファイルのハッシュ値とを比較することにより、インストールセット内の各ファイルの内容が変更されていないかを検証することが可能である。
一方、プリンタドライバに対しては、印刷システムの導入環境に応じて、カスタマイズを行いたいというユーザ要望がある。特に近年は、印刷システムの導入環境の多様化に伴いプリンタドライバの使用態様も多様化し、プリンタドライバに対するカスタマイズ要望は増加傾向にある。この要望に対応するために、プリンタドライバにおけるデフォルトで表示される初期設定値の変更、およびプリンタドライバのユーザインターフェース(以降、UIと略す)においてユーザが設定可能な設定値の入力制御を可能とするカスタマイズの技術が開示されている(特許文献1、2を参照)。
特許文献1、2の方法を用いて、例えばプリンタドライバのカスタマイズを行った場合、そのプリンタドライバのインストールセットの一部の設定ファイルが変更されたプリンタドライバが作成される。作成されたプリンタドライバには、カスタマイズにより変更された設定ファイルのみならず、変更されないドライバモジュール、およびカタログファイルも含まれる。
このように、カスタマイズが施されたドライバが、それ単一でドライバをインストールできる形式で作成されることには意味がある。仮に、作成されたドライバがカスタマイズにより変更された設定ファイルのみ含む構成であった場合、ユーザはドライバモジュールを別途用意する必要がある。しかし、変更された設定ファイルと、ドライバモジュールとを関連づけて管理しなくてはいけないのでユーザの管理負担となる。そこで、従来技術では、カスタマイズが施されたドライバが、それ単一でドライバをインストールできる形式で作成している。ユーザはインストール作業を容易に行うことができるので、カスタマイズが施されたドライバはユーザへの親和性が高いドライバと言える。但し、そのドライバの設定ファイルは変更されてしまっているので、ドライバは、その設定ファイルのハッシュ値がカタログファイルに記載されたハッシュ値と一致しなくなる状態、即ち、カタログファイルとインストールセットの整合性が崩れた状態となってしまう。
特開2006−309724 特開2006−309725
セキュリティ意識の高まりにより、カタログファイルとインストールセットの整合性が崩れたドライバのインストールを検知してインストールを中止する新しいOS(オペレーティングシステム)が出てきつつある。カスタマイズが施されたドライバは上述したメリットがあるが、そのようなOSを備えた情報処理装置に対してはインストールできない。なぜなら、カスタマイズが施されたドライバは、カタログファイルとインストールセットの整合性が崩れているからである。このままでは、ユーザはそのOSを搭載した情報処理装置においてカスタマイズが施されたドライバを使用できない。
本発明は、上述の課題を鑑みてなされたものであり、カタログファイルとインストールセットの整合性が崩れた状態にある、カスタマイズが施されたドライバのインストールを行わないOSを備えた情報処理装置であっても、カスタマイズが施されたドライバをインストールさせることを目的とする。
本発明の一実施形に係る情報処理装置は、機能設定画面において設定が可能な機能設定値に関するカスタマイズが施されたドライバのインストールを開始する開始手段と、前記ドライバのインストールが開始されたことに応じて、前記カスタマイズが施される前のドライバをインストールし、インストールされたドライバにて設定が可能な機能設定値の状態が前記カスタマイズを施されたドライバの機能設定値と同じなるように、インストールされたドライバを修正することを特徴とする。
カタログファイルとインストールセットの整合性が崩れた状態にある、カスタマイズが施されたドライバのインストールを行わないOSを備えた情報処理装置であっても、カスタマイズが施されたドライバをインストールさせることが可能となる。
本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。 ホストコンピュータのRAMのメモリマップを示す図である。 カスタムツールのメインUIを例示する図である。 カスタムツールのプリンタドライバ初期値設定UIを例示する図である。 カスタムツールのプリンタドライバ設定項目の表示設定UIを例示する図である。 カスタムツールの基本動作の処理を示すフローチャートである。 インストーラセットのフォルダ構成とファイル構造を例示する図である。 INFファイルを用いたインストール処理を示すフローチャートである。 インストーラ形式のインストールセットと、その処理を示すフローチャートである。 実施例1のカスタマイズ処理およびインストール処理のフローチャートである。 実施例1のカスタマイズされたインストールセットの構成図である。 実施例2のカスタマイズ処理およびインストール処理のフローチャートである。 実施例2のカスタマイズされたインストールセットの構成図である。 実施例3のインストール処理のフローチャートである。
本発明の好適な実施形態を説明するために、まず本発明の各実施形態におけるカスタムツールプログラムの説明を行う。なお、各実施形態では、Microsoft(登録商標)社製PC用OSプログラム(Operating System)であるWindows(登録商標)のプリンタドライバをカスタマイズする方法を例として、説明する。
図1は、本発明の各実施形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、情報処理装置であるホストコンピュータ3000と、このホストコンピュータ3000より印刷データを受信して印刷を行なうプリンタ1500を備えている。
ホストコンピュータ3000において、CPU1は、RAM2に記憶されているプログラムに従って、システムバス4に接続される各デバイスを、総括的に制御している。このRAM2は、CPU1の主メモリ、ワークエリア等としても機能している。ROM3は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントROM3a、ブートプログラムやBIOS等を記憶するプログラムROM3b、及び各種データを記憶するデータROM3cに区分けして構成されている。
操作入力装置IF5は、キーボード9やポインティングデバイス(マウス)からのキー入力を制御する。CRTコントローラ(CRTC)6は、ディスプレイ10への表示を制御している。ディスクコントローラ(DKC)7は、ハードディスクなどの外部メモリ11へのアクセスを制御している。プリンタコントローラ(PRTC)8は、双方向性インターフェース21を介してプリンタ1500に接続され、プリンタ1500との間で通信制御処理を行なう。
外部メモリ11は、例えばハードディスク(HD)やフラッシュメモリドライブ(SSD)等で構成される。外部メモリ11は、図1に示すように、オペレーティングシステムプログラム(以下、OS)205をはじめ各種アプリケーション201や印刷処理関連プログラム204を記憶している。各種アプリケーション201としては、例えば、図形、イメージ、文字、表等が混在した文書処理を行なう文書処理アプリケーションプログラムがある。外部メモリ11は、各種アプリケーション201に関連する不図示のユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム204は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用される。また、この印刷処理関連プログラム204(以下、プリンタドライバ)は、プリンタ制御コマンド生成モジュール2041、プリンタドライバUI制御モジュール2042を含んでいる。なお、UIはユーザインターフェースの略であり、以下UIと省略して記載する。
外部メモリ11に記憶された、本実施形態に係るカスタムツールプログラム300(以下、単に、「カスタムツール300」という。)を含むアプリケーション201は、RAM2にロードされてCPU1により実行される。またCPU1は、例えば、RAM2へのアウトラインフォントの展開(ラスタライズ)処理を実行し、ディスプレイ10上でのWYSIWYG(WhatYou See Is What You Get)を可能としている。更に、CPU1は、ディスプレイ10上のマウス指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面(プリンタドライバUI制御モジュール2042により制御される)を開き、プリンタの機能設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の機能設定を行なうことができる。
次に、プリンタ1500の構成について説明する。CPU12は、プリンタ1500の全体の動作を制御している。RAM19は、CPU12の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのRAM19は、NVRAM(Non−volatileRAM:不揮発性RAM)領域も備えており、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。ROM13は、各種フォントを記憶するフォントROM13a、CPU12により実行される制御プログラム等を記憶するプログラムROM13b、及び各種データを記憶するデータROM13cを備えている。入力部18は、ホストコンピュータ3000との間でデータの送受信を行なう。印刷部インターフェース(I/F)16は、プリンタエンジンである印刷部17とのインターフェースを制御している。外部メモリ14は、メモリコントローラ(MC)20によりアクセスが制御されている。外部メモリ14は、接続されるハードディスク(HD)、MO、フロッピー(登録商標)ディスク(FD)、ICカードでもよい。外部メモリ14は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。この外部メモリ14は1個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
操作部1501には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びLED表示器等が配されている(不図示)。また、不図示のNVRAM(Non−volatile RAM:不揮発性RAM)を有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。CPU12は、ROM13のプログラムROM13bに記憶された制御プログラム等に基づき、印刷部インターフェース16を介して印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、CPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっている。CPU12は入力部18を介して、ホストコンピュータ3000から送信される印刷データを受信すると共に、プリンタ1500内の情報等をホストコンピュータ3000に通知可能に構成されている。
図2は、所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。RAM2には、図示の如く、BIOS206、OS205をはじめ、アプリケーション201、印刷処理関連プログラム204、及び関連データ203がロードされている。更に、空きメモリ領域202も確保されている。これにより、アプリケーション201及び印刷処理関連プログラム204が実行可能な状態となる。尚、印刷処理関連プログラム204におけるプリンタドライバUI制御モジュール2042(図1)は、ユーザによる印刷設定指令に応じてディスプレイ10に印刷設定画面を表示し、キーボード9などを使用したユーザからの設定を可能にする。
図3は、カスタムツール300のUIを例示する図である。カスタムツール300は、図2のアプリケーション201の一部としてロードされ、ホストコンピュータ3000におけるCPU1により実行されることで実現する。図3においてメニュー301の“開く”が選択されると、カスタマイズの元となるプリンタドライバのインストールセットのINFファイルを指示するため、OS標準のダイアログ(不図示)が表示される。同ダイアログでカスタマイズを行なうドライバのINFファイルを指示する。指示をうけて表示欄302に元となるインストールセットのINFファイルの格納パスが格納され、表示される。加えて表示欄303に、指示されたドライバの格納先のドライバのインストールセットの対応OSが表示される。さらにリストビュー305に、カスタマイズを行うドライバのインストールセットの対応モデルリストが表示される。リストビュー305においてカスタマイズを行なう対象モデルを選択可能である。リストビュー305でのモデル選択に対応し310の現在のカスタマイズ対象のモデル名の表示が変更になる。
ユーザからのカスタマイズ指示をうけると、リストビュー305の個々のモデルに対してどのようなカスタマイズを行ったかの識別情報「On/Off」が変更される。チェックボックス310をチェックするとボタン311が有効となる。ボタン311を押下するとカスタマイズ用のプリンタドライバUI(図4)が表示される。プリンタドライバUIにおいてデフォルトとして表示される印刷設定(ドキュメントプロパティ)の初期値設定、およびデバイスの設定(プリンタプロパティ)等の初期値設定を行うことができる。チェックボックス320をチェックすると、ボタン321が有効となる。ボタン321を押下すると、プリンタドライバUI上のコントロールの表示方法をカスタマイズするためのUI(図5)が表示され、カスタマイズ用のプリンタドライバUI上における各印刷設定値の表示制御方法を設定することができる。ボタン330を押下することで、カスタマイズが施されたドライバ、即ちカスタマイズドライバの作成先フォルダを指定するためのOS標準のダイアログ(不図示)が表示される。同ダイアログでカスタマイズドライバの作成先を指定することができる。指示をうけて表示欄331にカスタマイズされたインストールセットの格納パスが格納され、表示される。各種機能設定値の変更を行った後でボタン340が押下されると、変更された機能設定に従ってカスタマイズが施されたプリンタドライバが作成される。
図4は、プリンタドライバの初期設定値カスタマイズ用のプリンタドライバUI(初期設定値カスタマイズUI)である。カスタムツール300は、図2のアプリケーション201の一部として、ロードされ、ホストコンピュータ3000におけるCPU1により実行される。このUIは、図3のUIにおいてボタン311を押下すると表示される。カスタムツール300はCPU1の制御の下、ホストコンピュータ3000の設定部として機能し、かかる設定部は、例えば、図4に示すUIのような文書のプロパティ設定とデバイスのプロパティ設定を行なうためのUIをCRT上に表示させる。通常のインストールによるプリンタドライバの設定に関するUIでは文書用の設定を行なうドキュメントプロパティのUIと、デバイスの設定を行なうプリンタプロパティのUIとが同時に1つのUI中に表示されることはない。しかしながら、本発明の実施形態にかかるカスタマイズ用のプリンタドライバUIでは、カスタムツール300がプリンタドライバのモジュールを直接利用して表示を行っている。そのため、文書用の設定を行なうドキュメントプロパティのUIと、デバイスの設定を行なうプリンタプロパティのUIとを同時に1つのUI(図4)として表示できる。
図4において、ドキュメントプロパティのUIとして、ページ設定401、仕上げ402、給紙403、印刷品質404の4種類のUIが表示可能とされている。またプリンタプロパティのUIとしてデバイスの設定405も表示されている。これらの各UI(401〜405)を介して、ドキュメントプロパティの初期値設定と、プリンタプロパティの初期値設定を受け付ける。またカスタマイズ対象でない設定に関して、図4に示すUIは、例えば、参照番号410のようにグレイアウト表示により、ユーザによる設定の入力を受け付けないように構成される。以上、カスタムツールによるプリンタドライバUIにおいてデフォルトとして表示される印刷設定値の初期値の変更方法を説明した。
図5は、プリンタドライバのドキュメントプロパティの表示をコントロールし入力制限を行うためのUI(ドキュメントプロパティ表示コントロール設定UI)を示す図である。図5に示すUIは、ユーザが図3のボタン321を押下した際に、ホストコンピュータ3000のディスプレイ10上に表示される。図5に示すUIでは、ページ設定501、仕上げ502、給紙503、印刷品質504、共通505の5種類について、表示制御の設定が可能である。ページ設定501、仕上げ502、給紙503、印刷品質504は、それぞれ、図4のドキュメントプロパティのUIと対応する表示制御の設定を行なうことが可能である。共通505は、これらの表示制御に共通の表示制御の設定を行なうことが可能である。プルダウン506に、コントロール項目「Job Operations」の設定を具体的に示す。有効(通常通りの表示)、無効(常にDisable表示)、非表示を指定することができる。同様にその他の各コントロール項目について個別に、有効、無効、非表示の設定をすることでドキュメントプロパティのUIに関する表示制御をカスタマイズことができる。これらの設定を入力すると、カスタムツール300はドライバの設定ファイルを編集する。なお、無効表示としては、グレーアウト表示などのユーザの操作を不能にする表示形態がある。
次に、図6のフローチャートを用いて、カスタムツール300の基本動作について説明する。尚、この基本動作の各実行ステップにおいては、ホストコンピュータ3000におけるCPU1により実行されるカスタムツール300が動作の主体である。カスタムツール300は、ユーザのカスタムツール300の起動をうけて、ステップS601において、カスタムツール300の初期化処理を行う。図3に示すUIをディスプレイ10上に表示する。ステップS602において、ユーザがカスタマイズを施すプリンタドライバのインストールセットの格納位置の入力を図3のUIでうける。図7(a)に、カスタムツール300のカスタマイズ対象であり、その元となるINF形式のインストールセットのフォルダ構成例を示す。図7(a)はプリンタドライバのインストールセットの一例であり、詳細な内容は後述するが、図9(a)もプリンタドライバのインストールセットであるので留意されたい。なお、このようなドライバのインストールセットを、ドライバ、またはドライバプログラムと呼ぶ場合もある。INF形式のインストールセットのフォルダ701には、プリンタドライバに関連するINFファイル702、実行モジュール703群、設定ファイル704群、およびカタログファイル705が格納されている。
図7(b)に、プリンタドライバのインストール情報を記述するINFファイル702の記述内容の例を示す。INFファイル702は、プリンタドライバをOS205にインストールする際に、OS205によって参照されるファイルである。この例を用いて、INFファイルの先頭より順に、記載情報を説明する。INFファイル702の先頭には、基本情報である[Version]のセクション711が記載されている。このセクション711には、ドライバのバージョンを示すDriverVerキー7112と、カタログファイル705の名前を示すCatalogFileキー7113が存在する。それぞれ、キー7112の値として“バージョン情報”が記載され、キー7113の値として、カタログファイルのファイル名称が記載されている。
続いて、INF形式のインストールセットに対応しているプリンタのモデル名を記載するセクション712が記載される。このセクションには、プリンタドライバのインストールセットに対応するプリンタのモデル名がキーとして列挙される。それらのキーの値として、そのモデルのプリンタドライバを構成する構成モジュール群およびファイル群を記載するセクション名が指定される。このキーの値には使用禁止文字を除き、自由な文字列を定義記載できる。この例では、モデル“Canon ABC LIPS”のために、ABCというセクションを定義している。 [ABC]セクション713に、モデル“Canon ABC LIPS”のプリンタドライバを構成するモジュール群703およびファイル群704、705のファイル名称が記載される。DataFileキー7131を用いて、その値としてカスタマイズ対象の設定ファイルを指定する。[ABC]セクション713は、その他のモジュール群のファイル名が記載されている。ここでは、簡略化のためにモジュール群のファイル名の記載を省略している。INFファイル702の最後に位置する[Strings]セクション714には、INF形式のインストールセットを用いたインストール処理時に、OS205上のUIに表示される文字列を記載する。
図7(c)にプリンタドライバを構成する1つのファイルである設定ファイル704のデータフォーマットの例を示す。この設定ファイル704は、INFファイル702上のモデル毎のセクションであるセクション713のDataFileキー7131で指定される。そのためモデル毎に異なる設定ファイルを関連付けられる。設定ファイル704の内部データは、ヘッダ721、ID定義722、データ723で構成される。ID定義722には、データ723に格納されているデータのIDと、データの格納位置(アドレス)との組が格納されている。そして、その組がIDの数に相当する分のセットで格納されている。本実施形態に係るカスタムツール300では、カスタマイズ用に定義されたIDに対応するデータの値を変更する。尚、ID定義722に使用したいカスタマイズデータのIDが定義されていない場合は、そのカスタマイズデータに対応する新たなIDがID定義722に追加される。インストールされたプリンタドライバがアクティブ状態になると、設定ファイル704内の設定値を読み、そのプリンタドライバにより表示される印刷設定画面で表示される印刷設定に読み込んだ設定値を反映する。もし設定ファイルがカスタマイズされている場合、プリンタドライバは、設定ファイル内のカスタマイズされた設定値をプリンタドライバに反映する。例えば、よく使う印刷設定値(例えば、両面、2in1など)のプリセットをプリンタドライバに予め反映しておく。カスタマイズされたドライバをインストールすることで、よく使う印刷設定値、デフォルトの印刷設定値、ユーザが設定可能な印刷設定値がプリンタドライバに設定された状態となる。
図7(d)にプリンタドライバを構成する1つのファイルであるカタログファイル705のデータ構造の例を示す。カタログファイル705は、INF形式のインストールセットを構成するモジュール群およびファイル群のハッシュ値731〜733を保持している。それぞれINFファイル702のハッシュ値は731である。ドライバモジュール703のハッシュ値は732である。設定ファイル704のハッシュ値は733である。更に、カタログファイル705には、電子署名734を付与することができる。電子署名の付与に関しては、一般向け配布用途と、特定用途とで、2種類の方法がある。一般向け配布用途の場合、インストールセットの開発ベンダーが、Microsoft(登録商標)社へ評価後、申請して電子署名の付与してもらう。特定用途の場合は、開発ベンダーが独自に付与する。カタログファイルの電子署名734の検証後、格納されているハッシュ値731〜733と各ファイルのハッシュ値を比較する。この処理により、インストールセットに対して変更が行われていないかの検証が可能となる。もしハッシュ値が一致した場合、インストールセットに対して変更が行われてないと判定する。この判定がなされたINF形式のインストールセットを、署名されたINF形式のインストールセットと呼ぶことにする。もしハッシュ値が一致しない場合、インストールセットに対して変更が行われたと判定する。この判定がなされたINF形式のインストールセットを、署名が崩れたINF形式のインストールセットと呼ぶことにする。
説明を図6(a)の処理に戻す。ステップS603において、指示されたインストールセットのチェック処理を行う。その詳細処理について図6(b)を用いて後で説明する。ステップS603において、プリンタドライバがカスタマイズに対応していないとカスタムツール300により判別される場合は(S604−NO)、処理をステップS609に進めエラー処理を行い、再度インストールセットの指示ステップ(S602)に戻る。一方、ステップS603の判定において、プリンタドライバがカスタマイズに対応しているとカスタムツール300により判別される場合には(S604−YES)、処理をステップS605に進める。ステップS605で、カスタムツール300は、CRTC6を制御してディスプレイ10上に図3〜図5で説明したUIよりプリンタドライバのカスタマイズの設定が可能になる。図3〜図5のUIを通じて、プリンタドライバのカスタマイズに関する設定を受ける。図3の作成ボタン340の押下をうけて(S606)、カスタムツール300は、S605に基づいてカスタマイズドライバの生成処理を行う(S607)。S607の処理の詳細に関しては、図6(c)を用いて、後で説明する。プリンタドライバがカスタマイズされた後(S607)、ユーザから終了指示がなされる(S608)とカスタムツール300を終了する(S610)。
図6(b)に、従来例におけるカスタムツール300でのカスタマイズに対応しているインストールセットかのチェック処理のフローチャートを示す。この図を用いてチェック処理の詳細処理について説明する。この処理は、従来例の図6(a)のフローチャートのステップS603の処理として実行される。ステップS621で、ステップS602において指定された元となるプリンタドライバのインストールセットの格納位置にINFファイル702が存在するかを確認する。もしINFファイル702が存在する場合は、処理をS622へ進める。もし存在しない場合は、S625へ処理を進める。S622において、図7(b)に示すプリンタドライバのインストール情報を記述するINFファイル702の記載内容7111、7112、7141を読み取る。読み取った記載より、指示されたプリンタドライバがカスタムツール300によるカスタマイズに対応したプリンタドライバであるかを判定する(S623)。判定の結果、INFファイル702がカスタムツール300によるカスタマイズに対応している場合、処理をS624へ進める。もし対応していない場合は、S625へ処理を進める。もしS624へ処理が進んだ場合、ステップS603で指定されたインストールセットがカスタムツール300でのカスタマイズに対応していると判断する。もしS625へ処理が進んだ場合、ステップS603で指定されたインストールセットがカスタムツール300でのカスタマイズに対応していないと判断する。
図6(c)を用いて、従来例におけるカスタマイズドライバの生成処理の詳細を説明する。従来例において、この処理は、図6(a)のフローチャートのステップS607で実行される。この処理の結果、表示領域331に指定されたカスタマイズドライバの作成先に、図7(e)に示すカスタマイズされたINF形式のドライバインストールセット741が作成される。インストールセット741では、INFファイル702と設定ファイル704が、それぞれカスタマイズを反映された742と743に置き換えられる。
S631で、S602で指定された元となるプリンタドライバのインストールセットの格納位置のフォルダ構成とそのファイル群を、表示領域331に指定されたカスタマイズドライバの作成先へコピーする。S632で、コピー先のINFファイル702のセクション712より、カスタマイズが設定されたモデル以外のキーを消して、カスタマイズされたINFファイル742を生成する。S633で、コピー先の設定ファイル704にカスタマイズ設定を反映して、カスタマイズされた設定ファイル743を生成する。その結果、カスタマイズされたドライバインストールセット741が生成される。
ここまで、プリンタドライバのカスタマイズ方法について説明してきた。次にプリンタドライバをOS205にインストールするための一般的な手段について説明する。プリンタドライバをインストールする場合に2つの方法が存在する。第一の方法は、INF形式のインストールセットを使用するOS機能をつかったインストール方法である。第二の方法は、インストーラ形式のインストールセットを使ったインストール方法である。
図8(a)のフローチャートを用いて、第一の方法である、INFファイルを用いたインストール方法の処理フローを説明する。この場合、ドライバを提供するベンダーがインストーラを用意せずともインストールすることができる。このフローチャートの動作の主体はOS205であり、ホストコンピュータ3000のCPU1を用いて実現されるOSである。この処理は、OS205がユーザからプリンタドライバのインストールの開始要求をうけたことに応じて開始される。S801において、OS205はCRTC6を制御してディスプレイ10上にインストール対象の設定を受け付けるUIを表示する。OS205は、そのUIを介してユーザから、プリンタへの出力先のポートの指定と、インストール対象のプリンタドライバのINFファイルと、対象モデル名を受け付ける。それらの情報を受け付けるとS602でプリンタドライバのインストール処理を開始する。S602で、インストールセットのチェック処理を行う。その処理は従来のOSと本発明が想定する新しいOSによって処理が異なる。本発明が想定する新しいOSでは、カタログファイルとインストールセットで整合性が崩れていないかを検知し、崩れている場合にはインストールを中止する。図8(b)に古いOSでの処理フローの例を、図8(c)に新しいOSでの処理フローの例を示す。これらを用いて、新旧のOSの処理の違いを後ほど説明する。S603において、もしプリンタドライバのインストールの処理の過程で、インストールを中止すると判断した場合、S806へ処理を進めインストールを中止する。もしインストールを継続する場合は、S801で指定されたプリンタへの出力先のポートを作成する(S804)。更にプリントキューを作成し(S805)、インストール処理を終了する。
図8(b)を用いて古いOSの場合のプリンタドライバのインストール処理を説明する。S811において、カタログファイルを用いてINF形式のインストールセットに対して変更が行われていないかの検証を行う。もしインストールセットが変更されていない場合は、S813へ処理を進め、インストール対象のモデルのプリンタドライバに関するモジュール群および設定ファイル群のインストール処理を行う。もしインストールセットが変更されている場合は、CRTC6を制御してディスプレイ10上に、印刷を継続するかの選択UIを表示する(S814)。もし継続が選択された場合、S813へ処理を進め、プリンタドライバのインストール処理を行う。もし中止が選択された場合、S816へ処理を進め、ユーザに“インストールを中止する“メッセージを表示し、インストール処理の中止を決定する。このように、古いOSでは、プリンタドライバのインストールセットとカタログファイルとの整合性が崩れていても、ユーザの選択によりプリンタドライバをインストールすることが可能であった。
次に図8(c)を用いて新しいOSの場合のプリンタドライバのインストール処理を説明する。新しいOSの場合、古いOSのS814とS815の処理が存在しない。そのためプリンタドライバのインストールセットとカタログファイルとの整合性の崩れが検知されると、ユーザへの選択肢の提示なしにインストールが中止される。この新しいOSでの処理は、近年のセキュリティ意識の高まりを反映したものである。しかし新しいOSでは、カスタマイズしたプリンタドライバがインストールできないという課題が生じる。
次に、第二のインストール方法である、インストーラ形式のインストールセットを使用した処理フローに関して説明する。インストーラ形式のインストールセットの場合、ユーザのインストール処理を容易にさせるメリットがある。インストーラ形式のインストールセットのフォルダ901の構成例を図9(a)に示す。フォルダ901の直下には、ドライバのインストーラの実行モジュール902(以下、インストーラとよぶ)と、インストーラ902が参照するインストーラのサブフォルダ903と、INF形式のインストールセットのフォルダ701が存在する。サブフォルダ903には、インストーラのための設定ファイル904が格納されている。インストーラ902は、この設定ファイルを参照しその記載に従い処理を行う。サブフォルダ701には、図7(a)で示したINF形式のインストールセットが格納されている。
図9(b)にインストーラでのインストール処理のフローチャートを示す。このフローチャートの動作の主体は、インストーラ902である。ホストコンピュータ3000のCPU1を用いて実行される。この処理はユーザによるインストーラの実行開始要求をうけ開始される。図9(b)の基本的な処理フローは、図8(a)と同じである。図8(a)と異なる点は2つある。
第一の異なる点は、S911で表示されるインストールの設定UIである。INF形式のインストールと違い、インストール対象のインストールセットは、図9(a)のフォルダ701であるため、特にユーザが指定する必要はない。そのためインストールの設定UIは、インストーラ902が独自に定義し、CRTC6を制御してディスプレイ10上にUIを表示する。そのUIを介してユーザより、プリンタへの出力先のポートの指定と、インストール対象モデル名を受け付ける。インストール対象のモデル名の選択UIでは、INFファイル702の記載を元にインストール対象の候補リストを表示し、ユーザから選択を受ける。
第二の異なる点は、S912、S914、S915において、OS205より提供されるAPI(Application programming interface)を呼び出すことである。APIをコールすることにより、OS205は、それぞれS802、S804、S805相当の処理を実行する。
[実施例1]
従来のカスタムツール300でプリンタドライバをカスタマイズすると、図7(e)のようにプリンタドライバのインストールセットとカタログファイルとの整合性が崩れたものが生成される。そのインストールセットを新しいOSにインストールしようとすると、プリンタドライバのインストールセットとカタログファイルとの整合性の崩れが検知され(S812)、その結果、インストール処理が中止される。そのため、新しいOSに対して、従来のカスタムツール300でカスタマイズしたプリンタドライバがインストールできないという課題が存在する。
以下、上記課題を解決するための本実施例の処理を以下の順番で説明する。まずカスタムツール300でのカスタム処理について説明する。続けて、カスタマイズされたインストーラ形式のインストールセットを用いたプリンタドライバのインストール処理について説明する。まず本実施例のカスタムツール300によるインストールセットのカスタマイズ処理を説明する。このカスタマイズの処理の結果、カスタムツール300により、図11に示すフォルダ構成のインストーラ形式のインストールセットが生成される。
従来例では、カスタマイズドライバの元となるインストールセットとして、図7(a)に示すINF形式のものしかサポートしていなかった。そのため図3のメニュー301の“開く”ではINFファイルへのパスの指定を受け付けていた。本実施例のカスタムツール300ではインストーラ形式のインストールセットを作成することを目的とする。そのため、図3のメニュー301の“開く”で、図9(a)のインストーラ形式のインストールセットのフォルダ901も、指定することができるように変更されている。
図10(a)と図10(b)にインストールセットのカスタマイズ処理関するフローチャートを示す。図10(a)の処理フローは実施例1のインストールセットのチェック処理である。図6(b)の処理のかわりにS603でカスタムツール300により実行される。図6(b)の処理フローの違いは二箇所ある。なお、図10(a)、(b)の動作の主体はカスタムツール300である。
第1の違いは、S1002〜S1004の処理パスである。これらの処理は、図3のメニュー301の“開く”で、INFファイル702に加えて、図9(a)のインストーラ形式のインストールセットのフォルダ901も指定可能になったことで追加された。S1002において、図3のメニュー301の“開く”で指定されたパスがフォルダかを判断する。もしフォルダが指定された場合、S1003へ処理を進める。もしファイルが指定された場合は、INFファイル702が指定されたと判断し、S621へ処理を進める。S1003では、指定されたフォルダをインストーラ形式のインストールセットとして記憶する。さらに、INFファイル702を発見するためにサブフォルダを検索する。S1004において、もしINFファイル702が発見できた場合、S622へ処理を進める。もし発見できなかった場合、S625へ処理を進め、カスタマイズに対応していないドライバと判断する。第2の違いは、S1005とS1006で構成される処理パスである。新しいOSに対してプリンタドライバをインストールするために、インストーラの実行モジュール1102(以下、インストーラとよぶ)は、署名されたINF形式のインストールセット701が必要となる。そのためS1005で、カスタマイズドライバの元となるインストールセットと、カタログファイルとの整合性が崩れていないかを検証する。もし整合性が崩れていない場合、S624へ処理を進める。崩れている場合は、S625へ処理を進める。図10(a)の処理フローのその他の処理は、図6(b)の処理と同じである。
図10(b)の処理フローは実施例1のプリンタドライバのカスタマイズ処理である。図6(c)の処理のかわりに、図6(a)のS607でカスタムツール300により実行される。図3のメニュー301の“開く”で指定されたパスにINFファイルが指定されたかを判断する(S1011)。もしINFファイルが指定された場合はカスタマイズの元となるプリンタドライバのインストールセットとして、図7(a)のINF形式のインストールセットが指定されたと判断する。その場合、S1012へ処理を進める。もしINFファイルが指定されていない場合は、カスタマイズの元となるプリンタドライバのインストールセットとして、図9(a)のインストーラ形式のインストールセットが指定されたと判断する。その場合S1014へ処理を進める。もしS1012に処理が進んだ場合、元となるものとしてINF形式のインストールセットが指定されたので、インストーラ1102とインストーラのサブフォルダ1103が存在しない。カスタマイズ結果として、図11のインストールセットを形成するために、カスタムツール300が保持しているインストール形式のプリンタドライバのインストールセットを、ボタン330で指定された作成先のフォルダにコピーする。さらにカスタマイズの元となるINF形式のインストールセットを、図11の701の位置へコピーする(S1013)。
もしS1014に処理が進んだ場合、元となるものとしてインストーラ形式のインストールセットが指定された場合である。その場合指定されたインストーラ形式のインストールセットを、表示欄331の作成先パスにコピーする。S1015において、カスタムツール300は作成先のフォルダ内のINFファイル702と、設定ファイル群704からカスタマイズ対象の設定ファイルを、インストーラのサブフォルダ1103へコピーする。その後、インストーラのサブフォルダ1103内のそれらのファイルに対して、S632とS633と同様なカスタマイズ設定を行う(S1016、S1017)。この処理により、図11に示す本実施例のカスタマイズされたインストーラ形式のインストーラセットが作成される。
次に図11に示すインストーラ1102でのプリンタドライバのインストール処理について、図10(c)を用いて説明する。まずS1021においてインストールの設定UIを表示する。この処理は図9(b)のS911と同様である。インストール対象のモデル名の選択UIの表示のために参照するインストール対象の選択候補の情報のみS911と異なる。インストーラ1102は、図11のカスタマイズされたINFファイル742の記載を元にインストール対象の選択候補リストを表示する。S1021で設定されたインストーラの設定情報に従い、カタログファイルとインストールセットの整合性が崩れていないINF形式のインストールセット701を用いて、OS205に対してプリンタドライバのインストールを実施する(S912〜S915)。これらの処理は図9(b)における同じ番号が振られている処理と同じである。そのためここでは説明を省略する。
OS205にインストールされた設定ファイル704をカスタマイズされた設定ファイル743に置き換えることにより、カスタマイズ設定をOS205にインストール済のプリンタドライバに適用する(S1022〜1024)。S1022でまず不図示のプリントスプーラを停止する。プリントスプーラは、OS205での印刷機能を統括管理するモジュールであり、OS205を構成する1つのモジュールとして存在する。次にOS205のドライバ関連フォルダに格納されている設定ファイル704を、設定ファイル743に置き換える。最後に、S1024でプリントスプーラを起動する。プリントスプーラの停止は、カスタマイズされた設定ファイル743の置き換え途中で印刷が実行され、設定ファイルの置き換えに失敗することを防止するための1つの手段である。他の防止手段があれば、別の手段を用いることも可能である。特にこの方法に限定するものではない。しかしOS205は、プリンタドライバのインストール後に設定ファイルを置き換えることを想定していない。そのため、インストーラ1102による設定ファイルの置き換え(S1023)はOS205の印刷処理に対して影響がある処理となる。この置き換え時の印刷への影響の軽減策については、実施例3で説明する。
実施例1により、カタログファイルとインストールセットで整合性が崩れたプリンタドライバのインストールを検知しインストールを中止するOSに対して、カスタマイズされたプリンタドライバをインストールすることができる。
[実施例2]
実施例1の図11のINF形式のインストールセットのフォルダ701には、カスタマイズされていないインストールセットが格納されている。そのためユーザがINFファイル702を発見し、図8(a)で説明したINFファイルによるインストール方式でプリンタドライバを情報処理装置にインストールする可能性がある。その場合ユーザ要望に反して、カスタマイズされていないプリンタドライバがOSにインストールされてしまうという課題が存在する。一方で、図9(a)のフォルダ701を図7(e)に示すフォルダ741に置き換えただけでは、カスタマイズドライバを新しいOSにインストールすることができない。本実施例ではこれら2つの課題を解決する方法について説明する。
以下、上記課題を解決するための本実施例の処理を以下の順番で説明する。まずカスタムツール300でのカスタム処理について説明する。続けて、カスタマイズされたインストーラ形式のインストールセットを用いたプリンタドライバのインストール処理について説明する。
まず、実施例2のカスタムツール300によるプリンタドライバのカスタマイズ処理について説明する。カスタマイズの処理の結果として、実施例2のカスタムツール300は、図13に示すフォルダ構成のインストーラ形式のインストールセット1301を作成する。図12(a)に、カスタムツール300のプリンタドライバのインストールセットを作成する際の処理フローを示す。この処理フローは図6(a)のS607でカスタムツール300により実行される。図12(a)と、図10(b)の処理の違いは、S1201とS1202であり、カスタマイズを行う対象のファイル群が異なる点である。図13のフォルダ構造の741内のINF形式のインストールセットに対して、S1016とS1017と同様なカスタマイズ設定を行う(S1201、S1202)。この処理により、図13に示す実施例2のカスタマイズされたインストーラ形式のインストーラセットが完成する。その他の処理は図10(b)の該当番号のステップと同じ処理である。そのため、ここでは説明を省略する。
次に、実施例2のインストーラの実行モジュール1302(以下、インストーラとよぶ)でのプリンタドライバのインストール処理について、図12(b)を用い説明する。S1211においてインストールの設定UIを表示する。この処理は図10(c)のS1021と同様である。但し、インストール対象のモデル名の選択UIの表示のために参照するカスタマイズされたINFファイル742の格納位置が実施例1と異なる。次にインストーラ1302は、OS205がRAM2のメモリ領域を用いて用意したテンポラリ用のフォルダ(以下、TEMPフォルダと呼ぶ)に、図13のフォルダ741下のINF形式のインストールセットを一時的に保存する(S1212)。更にTEMPフォルダへ保存したINF形式のインストールセットに対して、インストーラのサブフォルダ1303内のINFファイル702と設定ファイル群704を上書きする(S1213)。S1212とS1213の処理により、TEMPフォルダ内にカスタマイズの元となった、署名されたINF形式のインストールセットが作成される。S1214において、TEMPフォルダ内のINFファイル702を用いてS912と同様にインストール対象のプリンタドライバをインストールする。以下の処理は、図10(c)において同じ番号が振られている処理と同じである。そのため、ここでは説明を省略する。
上記説明したように実施例2のカスタムツール300は、図13に示す構造を持つインストールセット1301を作成する。ユーザは、図13のインストーラ1302を起動してインストールすることにより、カスタマイズされたドライバをOS205にインストールすることができる。またユーザが、図8(a)で説明したINFファイルによるインストール方式でインストールを行った場合でも、図8(b)の判定処理を有する古いOSでは、カスタマイズされたプリンタドライバがインストールされる。さらに、図8(c)の判定処理を有する新しいOSではインストールが中止される。図13のフォルダ構造をもつインストールセットを作成することにより、カスタマイズされていないプリンタドライバがインストールされるということを防止できる。
[実施例3]
実施例1、2では、プリンタドライバのカスタマイズされた設定ファイルへの置き換えを行っていた。OS205は、プリンタドライバのインストール後に、設定ファイルの置き換えを想定していない。そのため、このインストーラOS205による設定ファイルへの置き換え処理は、ユーザの印刷操作に対して影響があるという課題があった。本実施例では、その課題の軽減策として、インストーラでOS環境を判断することにより、図8(b)の判定処理を有する古いOSでは、プリントスプーラの停止と起動を行わないことを目的とする。
図14(a)に、上記目的を達成するために、実施例1の図10(c)のインストール処理を拡張した処理フローを示す。この処理フローでは、図10(c)の処理フローのS1021とS912の間にOS205の判定ステップS1401が追加されている。S1401でOS205の提供のAPIをコールすることにより、図8(b)の判定処理を有するOSか、図8(c)の判定処理を有するOSかを判断する。もし図8(b)の判定処理を有するOSの場合、S1402へ処理を進める。もし図8(c)の判定処理を有するOSの場合、S912へ処理を進める。S1402へ処理が進んだ場合、署名が崩れたインストールセットでもOS機能によるINFファイルによるインストールできる場合である。そのため、図11のインストーラ形式のインストールセットより、カスタマイズされたINF形式のインストールセットをTEMPフォルダに生成する。まず図11に示す署名されたインストールセット701を一旦TEMPフォルダにコピーする(S1402)。更にTEMPフォルダコピーしたINF形式のインストールセットに対して、インストーラのサブフォルダ1303内のINFファイル742と設定ファイル群743を上書きする(S1403)。S1402とS1403の処理により、TEMPフォルダ内にカスタマイズされたINF形式のインストールセットが作成される。このTEMPフォルダ内のインストールセットのINFファイル742を用いて、S912と同様にインストール対象のプリンタドライバをインストールする。図14(a)のその他の処理は、図10(c)のインストール処理の該当ステップの処理と同じであるので、ここでは説明を省略する。
図14(b)に、上記目的を達成するために、実施例1の図12(b)のインストール処理を拡張した処理フローを示す。この処理フローでは、図12(b)の処理フローのS1211とS1212の間にOS205の判定ステップS1401が追加されている。S1401でOS205の提供のAPIをコールすることにより、図8(b)の判定処理を有するOSか、図8(c)の判定処理を有するOSかを判断する。もし図8(b)の判定処理を有するOSの場合、S912へ処理を進める。もし図8(c)の判定処理を有するOSの場合、S1212へ処理を進める。S912へ処理を進めた場合、署名が崩れたインストールセットでもOS機能によるINFファイルによるインストールできる場合である。その場合図13のインストーラ形式のインストールセットのINFファイル742を用いて、S912と同様にインストール対象のプリンタドライバをインストールする。図14(b)のその他の処理は、図12(b)のインストール処理の該当ステップの処理と同じであるので、ここでは説明を省略する。
上記説明したように、インストーラでOS環境を判断することにより、署名が崩れたインストールセットで、OS機能によるINFファイルによるインストールできる環境では、INFファイルを用いたOS機能でのインストールを行う。このことにより、同OS環境では設定ファイルの置き換えを行わず、その置き換えによるユーザの印刷操作への影響を軽減する。
[その他の実施例]
本発明の各実施例においては、カスタマイズされたINFファイル742とカスタマイズされた設定ファイル743およびインストーラの設定ファイル(1104、1304)に対して、悪意のある者が変更を行う可能性がある。その防止のため、上記ファイル群の鍵付きハッシュ値を計算しインストーラの設定ファイル(1104、1304)に記載する。鍵付ハッシュの処理としてはHMACを利用し、その秘密鍵はカスタムツール300とインストーラ(1102、1302)が、同じものを保持する。カスタムツールは、図10(b)と図12(a)の最後の処理として、秘密鍵を使って上記ファイル群の鍵付きハッシュ値を計算しインストーラの設定ファイル(1104、1304)に記載する。インストーラ(1102、1302)は、そのインストール処理開始時に、上記ファイル群の鍵付きハッシュ値を計算し、インストーラの設定ファイル(1104、1304)記載の値と比較する。もしハッシュ値が同じ場合は、インストール処理を継続する。もし異なる場合は、インストール処理を中止する。なお、インストーラの実行モジュール(1102、1302)に関する不正な変更は、一般にインストーラのモジュールに電子署名を付加することによって対策される。
なお、各実施例では設定ファイルの置き換えを説明したが、インストールされたドライバを修正することができれば置き換えに限定されない。例えば、インストールされたドライバの設定ファイルを、カスタマイズ設定に対応する設定ファイルと同じになる様に書き換える形態であっても良い。無論、カスタマイズが施される前のドライバインストールされた後に、その他の方法を用いて、カスタマイズが施されたドライバが情報処理装置にインストールされている状態にしても良い。本発明では、情報処理装置をその状態にさせるための方法を総称して、インストールされたドライバを修正すると表現する。
また、各実施例では、カスタマイズが施される前のドライバのインストールセット内のファイルが全てインストールされた後に、インストールされたドライバを修正する形態を説明した。しかしながら、インストールセット内のファイルが全てインストールされていなくても、既にインストールされたドライバのファイルを逐次修正していく形態であっても良い。例えば、設定ファイルのインストールが完了し実行モジュールをインストールしようとする段階において、実行モジュールのインストールを開始する前に、既にインストールが完了している設定ファイルの修正を行う形態がある。
また、本発明では図11、または図13に示すような、各実施例に好適なインストーラ形式のインストールセット形式のフォルダを説明した。しかし、夫々のインストールセットのフォルダにその他のファイル、およびモジュールが含まれていても良い。例えば、ドライバと同時にデバイスアプリケーションのインストールに必要なファイル、モジュールを含めても良い。また、インストーラのサブフォルダ1103、または1303にドライバモジュール、およびカタログファイルを含めても良い。例えば、ドライバモジュールをインストールセットのフォルダにもドライバモジュールを含めた場合、冗長な構成とはなる。しかし、従来のインストーラの設計がインストーラのサブフォルダを主に利用した設計である場合は、インストーラの改良を最小限に抑えて本発明を実施することが可能になる。このように、インストーラの設計に併せて各フォルダ内に配置するファイル、モジュールには制限がない。
また、本発明の各実施例のインストール処理においては、インストーラがカスタマイズ前のドライバをインストールし、続けてインストールされたドライバの修正を行った。しかしながら、これらの作業を連続して実行する必要は必ずしもない。例えば、インストーラはカスタマイズ前のドライバをインストールした段階で一度インストール処理を終了する。その後、ユーザからカスタマイズが施されたドライバのインストールを再開するよう指示があった場合に、再度、インストーラを起動させてインストール処理を再開する形態であっても良い。なお、カスタマイズ前のドライバをインストールした段階で一度インストール処理を終了する形態を説明したが、終了せずに一時停止する形態であっても良い。一時停止する形態であれば、カスタマイズ前のドライバのインストールが終了した時点で、インストーラがユーザにインストール処理を継続するか否かを問い合わせることも可能である。そして、ユーザから継続する指示を受け付けた際に、一時停止させていたインストール処理を再開するようにしても良い。このように、インストール処理の各処理は必ずしも連続している必要はない。しかしながら、一度のインストール処理で全てを終了する各実施例の形態が好ましい。理由は、ユーザの指示操作を省くことが可能であり、またOSが要求するセキュリティ要件が一連のインストール処理の流れの中で満たせるからである。
また、本発明の各実施例のカスタマイズドライバのインストールセットをインストールする際は、INFファイル、設定ファイルの他にドライバのモジュールもインストール処理毎にインストールする形態を説明した。しかしながら、カスタマイズドライバと同じモデルのドライバが予めインストールされているのであれば、ドライバのモジュールをインストールすることなく、カスタマイズに影響のあるINFファイル、設定ファイルをインストールする形態であっても良い。これを実現するためには、インストーラを次の様に変更する必要がある。インストーラがインストールを開始する際、OSに対しインストールされているドライバのモデル名を問合せ、インストールしようとしているドライバのINFファイル内のモデル名と一致するか確認し、一致することが確認できた場合にカスタマイズされたドライバのINFファイル、および設定ファイルをインストールする。なお、ドライバのモジュールをインストールしないのであれば、カスタマイズ後のINFファイル、および設定ファイルを基にしたカタログファイルを再発行してからインストールする方がセキュリティ上は好適である。
また、本発明の各実施例においては、本発明に好適なドライバの一例であるプリンタドライバを基に説明をした。しかしながら、本発明はプリンタドライバに限らない。例えば、スキャナドライバ、FAXドライバが本発明の各実施例で説明したプリンタドライバと同じ構成を取る他、同じ処理でインストールさせることも可能である。また、本発明は画像処理を行うドライバに限る発明でもない。本発明は、ドライバによって表示される機能設定画面(例えば、印刷設定が可能なプリンタドライバUI)において設定が可能な機能設定(例えば、印刷設定)に関するカスタマイズがドライバに施された場合に、有効な発明である。
1500 プリンタ
3000 ホストコンピュータ
300 カスタムツール
701 署名されたINF形式のインストールセット
702 INFファイル
703 ドライバモジュール
704 設定ファイル
705 カタログファイル
741 カスタマイズされたINF形式のインストールセット
742 カスタマイズされたINFファイル
743 カスタマイズされた設定ファイル
801 インストーラ形式のインストールセット
802 インストーラの実行モジュール
903 インストーラのサブフォルダ
904 インストーラの設定ファイル

Claims (19)

  1. 機能設定画面において設定が可能な機能設定値に関するカスタマイズが施されたドライバのインストールを開始する開始手段と、
    前記ドライバのインストールが開始されたことに応じて、前記カスタマイズが施される前のドライバをインストールし、インストールされたドライバにて設定が可能な機能設定値の状態が前記カスタマイズを施されたドライバの機能設定値と同じなるように、インストールされたドライバを修正するインストール手段と、
    を有する情報処理装置。
  2. ドライバにて設定が可能な機能設定値は、ドライバの設定ファイルに基づき決定され、
    前記インストール手段によるドライバの修正とは、インストールされたドライバの設定ファイルを前記カスタマイズにより作成された設定ファイルに置き換えることであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記カスタマイズをドライバに施すためのカスタマイズ用の画面を表示する表示手段と、
    前記画面を介し機能設定値に関する変更が行われた後にカスタマイズドライバの作成が指示されたことに応じて、前記カスタマイズが施される前のドライバの設定ファイルと、前記カスタマイズが施されたドライバの設定ファイルとを含むカスタマイズドライバを作成する作成手段と、を有する請求項2に記載の情報処理装置。
  4. 前記作成手段は、前記カスタマイズが施される前のドライバに対応するハッシュ値が記載されたカタログファイルを含むカスタマイズドライバを作成し、
    前記インストール手段は、前記カスタマイズドライバに含まれる前記カスタマイズが施される前のドライバの設定ファイルのハッシュ値と、前記カタログファイルのハッシュ値とを比較し、一致することを確認したことに応じて前記カスタマイズが施される前のドライバをインストールし、インストールされたドライバの設定ファイルを前記カスタマイズドライバに含まれる前記カスタマイズが施されたドライバの設定ファイルに置き換えることを特徴とする請求項3に記載の情報処理装置。
  5. 前記作成手段は、インストーラ、および前記インストーラのための設定ファイルを含むカスタマイズドライバを作成し、
    前記開始手段は、前記インストーラの起動に伴いインストールを開始し、
    前記インストール手段は、前記インストーラが起動したことに応じて読み込まれる前記インストーラのための設定ファイルに従い、前記カスタマイズが施される前のドライバの設定ファイルをインストールし、インストールされたドライバの設定ファイルを前記カスタマイズドライバに含まれる前記カスタマイズが施されたドライバの設定ファイルに置き換えることを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記作成手段は、インストーラ、および前記インストーラのための設定ファイルを含むカスタマイズドライバを作成し、
    前記開始手段は、前記インストーラの起動に伴いインストールを開始し、
    前記インストール手段は、前記インストーラが起動したことに応じて読み込まれる前記インストーラのための設定ファイルに従い、前記カスタマイズドライバに含まれる前記カスタマイズが施されたドライバの設定ファイルを、前記カスタマイズが施されたドライバの設定ファイルに置き換えたドライバを一時的にメモリに保存し、一時的にメモリに保存されたドライバをインストールし、インストールされたドライバの設定ファイルを前記カスタマイズにより作成された設定ファイルに置き換えることを特徴とする請求項3または4に記載の情報処理装置。
  7. 前記作成手段は、前記カスタマイズが施される前のドライバの設定ファイルをインストーラのサブフォルダへ格納し、前記カスタマイズが施されたドライバの設定ファイルをINF形式のインストールセットのフォルダへ格納したカスタマイズドライバを作成し、
    前記インストール手段は、前記インストーラが起動したことに応じて読み込まれる前記インストーラのための設定ファイルに従い、INF形式のインストールセットのフォルダへ格納された前記カスタマイズが施されたドライバの設定ファイルを、インストーラのサブフォルダへ格納された前記カスタマイズが施されたドライバの設定ファイルに置き換えたドライバを一時的にメモリに保存し、一時的にメモリに保存されたドライバをインストールし、インストールされたドライバの設定ファイルを前記カスタマイズにより作成された設定ファイルに置き換えることを特徴とする請求項6に記載の情報処理装置。
  8. 前記インストール手段は、前記カスタマイズが施される前のドライバをインストールした後にプリントスプーラを停止し、前記プリントスプーラが停止した状態でインストールされたドライバを修正することを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。
  9. 前記情報処理装置が備えるOS(オペレーティングシステム)が、署名が崩れたドライバのインストールを行わないOSであるか否かを判定する判定手段と、
    前記インストール手段は、署名が崩れたドライバのインストールを行うOSである場合は、前記プリントスプーラを停止することなくカスタマイズが施されたドライバをインストールし、署名が崩れたドライバのインストールを行わないOSである場合は、前記プリントスプーラを停止し、前記プリントスプーラが停止した状態でインストールされたドライバを修正することを特徴とする請求項8に記載の情報処理装置。
  10. 前記カスタマイズとは、前記機能設定画面においてデフォルトとして表示される機能設定値の初期値の変更、および設定が可能な機能設定値の表示の変更を含むことを特徴とする請求項1乃至9の何れか1項に記載の情報処理装置。
  11. 前記情報処理装置が備えるOS(オペレーティングシステム)は、署名が崩れたドライバのインストールを行わないWindows(登録商標)であることを特徴とする請求項1乃至10の何れか1項に記載の情報処理装置。
  12. 前記ドライバとはプリンタドライバであり、前記機能設定値とは印刷設定値であることを特徴とする請求項1乃至11の何れか1項に記載の情報処理装置。
  13. 前記インストール手段は、前記カスタマイズが施される前のドライバをインストールした後にインストール処理を止め、ユーザから指示されたことに応じて、インストールされたドライバにて設定が可能な機能設定値の状態が前記カスタマイズを施されたドライバの機能設定値と同じなるように、インストールされたドライバを修正することを特徴とする請求項1乃至12の何れか1項に記載の情報処理装置。
  14. 機能設定画面において設定が可能な機能設定値に関するカスタマイズが施されたドライバのインストールを開始する開始ステップと、
    前記ドライバのインストールが開始されたことに応じて、前記カスタマイズが施される前のドライバをインストールし、インストールされたドライバにて設定が可能な機能設定値の状態が前記カスタマイズを施されたドライバの機能設定値と同じなるように、インストールされたドライバを修正するインストールステップと、を含む情報処理装置におけるドライバのインストール方法。
  15. 機能設定画面において設定が可能な機能設定値に関するカスタマイズが施されたドライバプログラムであって、
    前記カスタマイズが施される前のドライバの設定ファイル、前記カスタマイズが施されたドライバの設定ファイル、前記ドライバプログラムをインストールするためのインストーラ、および前記インストーラのための設定ファイルを含み、
    前記インストーラが情報処理装置上で起動したことに応じて、前記インストーラは、前記インストーラのための設定ファイルに従い、前記カスタマイズが施される前のドライバの設定ファイルをインストールし、インストールされた前記設定ファイルを前記カスタマイズが施されたドライバの設定ファイルに置き換えるプログラムであることを特徴とするドライバプログラム。
  16. 前記カスタマイズが施される前のドライバの設定ファイルはインストーラのサブフォルダへ格納されており、前記カスタマイズが施されたドライバの設定ファイルはINF形式のインストールセットのフォルダへ格納されていることを特徴とする請求項15に記載のドライバプログラム。
  17. 情報処理装置にインストールされるOS(オペレーティングシステム)プログラムであって、
    ドライバのインストールを開始する指示を受け付ける受付ステップと、
    前記指示を受け付けたことに応じて、ドライバ内のファイルを基にハッシュ値を算出する算出ステップと、
    前記ドライバ内に予め保持されているカタログファイルであって、前記ドライバ内のファイルを基に算出されたハッシュ値を含むカタログファイルを基に、前記カタログファイルに含まれるハッシュ値と、前記指示を受け付けたことに応じて算出されたハッシュ値とが一致するか否かを確認する確認ステップと、
    前記確認ステップにおいて一致しないと確認された場合は前記ドライバのインストールを中止し、一致すると確認された場合は前記ドライバをインストールするインストールステップと、
    を含み、
    インストールされるドライバが一致しないと確認されるドライバである場合、前記カタログファイルに含まれるハッシュ値と一致するハッシュ値が算出されるファイルをインストールし、インストールされたファイルが修正されることで前記一致しないと確認されるドライバをインストールするOSプログラム。
  18. 前記OSプログラムとは、Windows(登録商標)であることを特徴とする請求項17に記載のOSプログラム。
  19. インストールセット形式のドライバを指定する指示を受け付ける受付ステップと、
    前記指示を受け付けたことに応じて、前記ドライバにより表示される機能設定画面において設定が可能な機能設定値に関するカスタマイズを前記ドライバに施すためのカスタマイズ用の画面を表示する表示ステップと、
    前記カスタマイズが施される前のドライバの設定ファイル、前記画面を介してユーザによってカスタマイズが施されたドライバの設定ファイル、ドライバプログラムをインストールするためのインストーラ、および前記カスタマイズが施される前のドライバの設定ファイルをインストールし、インストールされた設定ファイルを前記カスタマイズが施されたドライバの設定ファイルに置き換えるようにインストールする指示に変更された前記設定ファイルを含むカスタマイズドライバを前記ドライバを基に作成する作成ステップと、を含むプログラム。
JP2012176024A 2012-08-08 2012-08-08 情報処理装置、インストール方法、およびプログラム Expired - Fee Related JP5885616B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012176024A JP5885616B2 (ja) 2012-08-08 2012-08-08 情報処理装置、インストール方法、およびプログラム
PCT/JP2013/004554 WO2014024410A1 (en) 2012-08-08 2013-07-26 Information processing apparatus, installation method, and program
DE112013003941.9T DE112013003941T5 (de) 2012-08-08 2013-07-26 Iiformationsverarbeitungsvorrichtung, Installationsverfahren und Programm
CN201380042039.3A CN104583932B (zh) 2012-08-08 2013-07-26 信息处理装置及安装方法
US14/419,794 US9342290B2 (en) 2012-08-08 2013-07-26 Information processing apparatus, installation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012176024A JP5885616B2 (ja) 2012-08-08 2012-08-08 情報処理装置、インストール方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014035627A true JP2014035627A (ja) 2014-02-24
JP5885616B2 JP5885616B2 (ja) 2016-03-15

Family

ID=50067672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012176024A Expired - Fee Related JP5885616B2 (ja) 2012-08-08 2012-08-08 情報処理装置、インストール方法、およびプログラム

Country Status (5)

Country Link
US (1) US9342290B2 (ja)
JP (1) JP5885616B2 (ja)
CN (1) CN104583932B (ja)
DE (1) DE112013003941T5 (ja)
WO (1) WO2014024410A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983737B2 (en) 2018-05-16 2021-04-20 Brother Kogyo Kabushiki Kaisha Installer customizing system including server and requesting device, server, and method of controlling server

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5915278B2 (ja) * 2012-03-13 2016-05-11 株式会社リコー プログラム、情報処理装置、記憶媒体
CN105270297B (zh) * 2014-06-09 2017-11-21 源捷公司 车辆学习界面
US9428126B2 (en) * 2014-06-09 2016-08-30 Atieva, Inc. Time sensitive learning interface
JP6557594B2 (ja) * 2015-12-24 2019-08-07 キヤノン株式会社 インストールを制御するプログラム、情報処理装置およびデバイスドライバーのインストール方法
JP6661409B2 (ja) * 2016-03-01 2020-03-11 キヤノン株式会社 自動設置システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP7230357B2 (ja) * 2018-07-11 2023-03-01 富士フイルムビジネスイノベーション株式会社 画像処理装置、情報処理装置、情報処理システム、及びプログラム
CN109062581B (zh) * 2018-07-18 2023-07-25 珠海奔图电子有限公司 终端设备侧的驱动程序的处理方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005326964A (ja) * 2004-05-12 2005-11-24 Canon Inc 印刷制御装置及びその方法とインストーラ
JP2009217331A (ja) * 2008-03-07 2009-09-24 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
JP2011170768A (ja) * 2010-02-22 2011-09-01 Fuji Xerox Co Ltd 情報処理システム、情報処理装置、導入処理装置及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
JP4226556B2 (ja) * 2002-12-12 2009-02-18 富士通株式会社 プログラム実行制御装置、os、クライアント端末、サーバ、プログラム実行制御システム、プログラム実行制御方法、プログラム実行制御プログラム
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 (ja) 2005-03-29 2011-11-09 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体
JP4599206B2 (ja) * 2005-03-29 2010-12-15 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法、プログラム、記憶媒体
JP4029889B2 (ja) * 2005-04-12 2008-01-09 コニカミノルタビジネステクノロジーズ株式会社 ドライバ設定方法、ドライバ設定プログラム、記録媒体、及び情報処理装置
JP4303746B2 (ja) * 2006-11-22 2009-07-29 株式会社シーイーシー セキュアプリントシステムおよび方法
JP5044816B2 (ja) * 2007-09-06 2012-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトを記憶・管理するシステム
CN101430647A (zh) * 2008-12-02 2009-05-13 北京中星微电子有限公司 一种硬件设备及其驱动安装方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005326964A (ja) * 2004-05-12 2005-11-24 Canon Inc 印刷制御装置及びその方法とインストーラ
JP2009217331A (ja) * 2008-03-07 2009-09-24 Canon Inc 情報処理装置、情報処理装置の制御方法、プログラム、及び、記録媒体
JP2011170768A (ja) * 2010-02-22 2011-09-01 Fuji Xerox Co Ltd 情報処理システム、情報処理装置、導入処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983737B2 (en) 2018-05-16 2021-04-20 Brother Kogyo Kabushiki Kaisha Installer customizing system including server and requesting device, server, and method of controlling server

Also Published As

Publication number Publication date
WO2014024410A1 (en) 2014-02-13
CN104583932A (zh) 2015-04-29
JP5885616B2 (ja) 2016-03-15
DE112013003941T5 (de) 2015-05-28
US9342290B2 (en) 2016-05-17
CN104583932B (zh) 2017-06-30
US20150242195A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
JP5885616B2 (ja) 情報処理装置、インストール方法、およびプログラム
US11042336B2 (en) Information processing apparatus and method
KR100820849B1 (ko) 디바이스 드라이버를 커스터마이즈하는 정보 처리장치,정보 처리방법, 및 기억매체
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
JP4599206B2 (ja) 情報処理装置及び情報処理装置の制御方法、プログラム、記憶媒体
US6965953B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium storing program for realizing the method
EP1710680B1 (en) Information processing apparatus and method, program, and storage medium
US8493584B2 (en) Information processing apparatus for performing printing and determining whether a conflict resolution of the setting values in a complex print setting is required
JP6108864B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US20090109473A1 (en) Information processing device, information processing method, and computer-readable storage medium
JP2006277345A (ja) デバイスドライバおよびそのカスタマイズ用プログラム、情報処理装置および情報処理方法
JP5527992B2 (ja) 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP5522952B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
US8792107B2 (en) Information processing apparatus, method for uninstalling printer driver, and recording medium
JP2009205694A (ja) 情報処理装置および方法とデバイスドライバ
JP3817499B2 (ja) 情報処理装置、制御方法、制御プログラム
JP2009277253A (ja) 情報処理装置、情報処理方法、および情報処理装置制御プログラム
JP2011008469A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160209

R151 Written notification of patent or utility model registration

Ref document number: 5885616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees