JP2019008669A - 情報処理装置、プログラム及び制御方法 - Google Patents

情報処理装置、プログラム及び制御方法 Download PDF

Info

Publication number
JP2019008669A
JP2019008669A JP2017125531A JP2017125531A JP2019008669A JP 2019008669 A JP2019008669 A JP 2019008669A JP 2017125531 A JP2017125531 A JP 2017125531A JP 2017125531 A JP2017125531 A JP 2017125531A JP 2019008669 A JP2019008669 A JP 2019008669A
Authority
JP
Japan
Prior art keywords
printer
logical printer
information
operating system
logical
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
JP2017125531A
Other languages
English (en)
Other versions
JP6929144B2 (ja
JP2019008669A5 (ja
Inventor
北畠 宏信
Hironobu Kitahata
宏信 北畠
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 JP2017125531A priority Critical patent/JP6929144B2/ja
Priority to US16/014,989 priority patent/US10671365B2/en
Publication of JP2019008669A publication Critical patent/JP2019008669A/ja
Publication of JP2019008669A5 publication Critical patent/JP2019008669A5/ja
Application granted granted Critical
Publication of JP6929144B2 publication Critical patent/JP6929144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 カスタマイズ情報のデータベースへの追加に失敗すると、誤ったカスタマイズ情報が書き込まれた論理プリンターや、カスタマイズ情報の存在しない論理プリンターがオペレーティングシステムに残されてしまう可能性がある。これに対して本発明は、意図しない論理プリンターがオペレーティングシステムに残されてしまう可能性を低減することを目的とする。
【解決手段】 本発明の情報処理装置は論理プリンターの名称を指定してプリンタードライバーをインストールして、プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加する。そして、論理プリンターに対してデータベースへのカスタマイズ情報の追加が失敗したと判断されて、かつ指定された名称の論理プリンターがオペレーティングシステムに存在すると判断された場合に、指定された名称の論理プリンターをオペレーティングシステムから削除する。
【選択図】 図9

Description

本発明はプリンタードライバーをインストールする技術に関する。
従来、プリンタードライバーをインストールする技術がある。特許文献1はインストーラを用いてプリンタードライバーをインストールする技術を開示している。
特開2006−252095号公報
プリンタードライバーの設定は工場出荷値やプリンターから取得された情報によって行われる。こうした通常の操作によって設定される情報の他に、予め指定された工場出荷値とは異なるデフォルトの印刷設定や、特定の印刷設定の変更を禁止する等の独自のカスタマイズを行いたい場合がある。論理プリンターに対して適用され、プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加することで、本明細書では前述のカスタマイズを実現する。
しかしながら、カスタマイズ情報のデータベースへの追加は、プリンタードライバーがインストールされ、論理プリンターが作成された後に行われるため、万が一カスタマイズ情報の追加に失敗すると、意図しない論理プリンターが構成されてしまう問題がある。具体的には誤ったカスタマイズ情報が書き込まれた論理プリンターや、カスタマイズ情報の存在しない論理プリンターがオペレーティングシステムに残されてしまう可能性がある。
これに対して本発明は意図しない論理プリンターがオペレーティングシステムに残されてしまう可能性を低減することを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
オペレーティングシステムを実行する情報処理装置であって、
論理プリンターの名称を指定してプリンタードライバーをインストールするインストール手段と、
前記論理プリンターに対して適用され、前記プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加する追加手段と、
前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が成功したか否かを判断する第1の判断手段と、
指定された前記名称の論理プリンターが前記オペレーティングシステムに存在するか判断する第2の判断手段と、
前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断手段により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、指定された前記名称の論理プリンターを前記オペレーティングシステムから削除する削除手段と、を有することを特徴とする。
本発明によって、データベースへのカスタマイズ情報の追加に失敗した場合でも、論理プリンターをオペレーティングシステムから削除することで、意図しない論理プリンターがオペレーティングシステムに残されてしまう可能性を低減することが可能となる。
システム構成を示す図 クライアントコンピュータのハードウェア構成を示す図 ドライバーセットおよびカスタマイズツールの構成を示す図 カスタム関連データの一例 印刷設定アプリケーションとドライバーとOSの構成を示す図 インストールしたキューの特定処理のフロー カスタマイズドライバーのインストール処理のフロー カスタマイズドライバーのインストール処理のフロー カスタマイズ設定ファイル書き込み処理のフロー インストーラの設定画面の模式図 インストーラの設定画面の模式図 インストールしたキューの特定処理のフロー インストールしたキューの特定処理のフロー インストールしたキューを絞り込む処理のフロー カスタマイズドライバーのインストール処理のフロー インストールしたキューの特定処理のフロー カスタマイズドライバーのインストール処理のフロー インストールしたキューの特定処理のフロー カスタマイズ設定失敗メッセージ画面の模式図
プリンタードライバーは、クライアントコンピュータにインストールされ、対応するプリンターへの印刷設定や印刷要求に応じたレンダリング処理などを行うモジュールである。ところで、プリンタードライバーに対し、工場出荷値とは異なるデフォルトの印刷設定を変更したドライバーセットを作成したい市場要望がある。これは例えば、IT管理者がデフォルトの印刷設定を事前に変更したカスタマイズドライバーセットを作成し、個々のユーザーが、カスタマイズドライバーセットでインストールすることで実現できる。このような方法を採用することによって、インストール後にプリンタードライバーの印刷設定を個々のユーザーが変更する工数を削減できる効果がある。このような要望に対応するために、各ベンダーは、カスタマイズドライバーセットを容易に作成する方法が求められている。
また、ユーザーはプリンターに対して印刷する際には、アプリケーションから印刷指示を行い、画面上に表示されるプリンターの一覧からプリンターを選択し、印刷設定などを指定する。ここで、画面上に表示されるプリンター一覧にはプリントキュー(論理プリンター)と呼ばれる出力先のプリンターを表すオブジェクトが表示される。プリントキューにはそれぞれプリンタードライバーが対応して存在する。
こうした中で、印刷設定を事前に変更したカスタマイズドライバーセットによるインストール中に、プリンタードライバーの設定を変更するための情報であるカスタマイズ情報が何らかの要因で書き込めなかった、又は中途半端に書き込まれて失敗する場合がある。例えば、設定されているデフォルト設定にカスタマイズ設定を行うときに、設定されているデフォルト設定に存在しない項目の設定を書き込もうとするとカスタマイズ情報の書き込みに失敗する。このような場合、中途半端なカスタマイズ情報を持ったプリントキューが作成されることになる。そのままプリンタードライバーが使用されると、不完全な情報をもとにプリンタードライバーが動作してしまい、予期していなかった動作を行う可能性がある。具体的には余計な制限がかかったり、逆にかけてはいけない制限がかかったりする可能性が考えられる。そのため、カスタマイズ情報の書き込みに失敗した場合には、作成したプリントキューを削除して誤動作を防ぐ必要がある。また、この際、プリントキューを削除するタイミングでキューの名称を変更されると、キューの削除に失敗してしまうことがあった。
以降、本明細書ではこれらの課題を解決するための構成を説明していく。
図1に、本発明に係るシステム構成の概略を表す模式図を示す。このシステムは、情報処理装置の一例であるクライアントコンピュータ101とページ記述言語(PDL)形式の印刷データを受信し印刷を行うことが可能なプリンター102を備える。これらは、Wide Area Network(WAN)を含むネットワーク103を通じて相互に通信可能である。
なお、プリンター102は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ101は、ネットワーク103に対し一台に限らず、複数台接続されていても構わない。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101において、中央演算処理装置(CPU201)は、ランダムアクセスメモリ(RAM202)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ101は、少なくとも1つのCPU201を備える。加えて、CPU201が外部メモリ209に記憶されているプログラムに基づき処理を実行することによって、クライアントコンピュータ101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。このRAM202は、CPU201の主メモリ、ワークエリア等として機能する。203は、リードオンリーメモリ(ROM)である。ROM203は、ブートプログラムや基本入出力システム(BIOS)等の各種プログラムが書き込まれてある。操作入力装置インターフェース(I/F)204は、キーボードやポインティングデバイス(マウス)タッチUI(User Interface)などの操作入力装置205を制御するインターフェースである。ディスプレイI/F206はディスプレイ207への画面表示を制御する。外部メモリI/F208は、例えばハードディスク(HD)、ソリッドステートディスク(SSD)等の外部メモリ209とのアクセスを制御する。外部メモリ209は、オペレーティングシステムプログラム(OS)210をはじめ、タッチパネル、デスクトップそれぞれに対応したアプリケーション212、プリンタードライバーを含むドライバー3006を含む。そして、各種ファイル等を記憶し、クライアントコンピュータ101が読み取り可能な記憶媒体として機能する。ネットワークI/F213は、ネットワーク103を介してプリンター102に接続され通信制御処理を行なう。
図3を用いて、カスタマイズツール全体の構成を説明する。まず、図3(A)を用いてドライバーセットについて説明する。3000は、ドライバーセットである。ドライバーセット3000は、ドライバーをOS210内に配置するために必要なドライバー3006のファイル及びモジュールの集合である。3006は、ドライバーであり、印刷時に必要なレンダリングなどのモジュールや機種依存ファイル群などを持つ。3001は、機種依存ファイルである。機種依存ファイル3001には、機種ごとの禁則のルールや機能の一覧、工場出荷値の印刷設定やロケールごとのデフォルトの印刷設定などのファイル群が置いてある。3002は、ドライバーUIモジュールである。ドライバーUIモジュール3002は、ドライバー3006がOS210内に配置された後に、印刷時に呼び出され、印刷設定の変更を容易にすることが可能なモジュールである。また、OS210内に配置する前であっても他のアプリケーション212からロードして呼び出すことも可能である。3003は、グラフィックスモジュールであり、ドライバー3006が印刷をする際に印刷対象のファイルをPDL(Page Description Language)に変換を行う。INFファイル3007は、ドライバーセット3000でサポートしている機種の一覧や、サポートしている機種のプリンタードライバーの必要なモジュールの一覧などの設定情報が記述されたファイルである。3004は、インストーラであり、インストーラ3004は、外部からの操作入力装置205を通じて起動された際にドライバー3006をOS210内に配置を行う。PowerShellアプリ3005は、操作入力装置205から起動された場合や他のアプリケーション212から起動された際に、PowerShellのAPIの呼び出しを行うことができるアプリケーションである。PowerShellとは、Windows(商標登録)に内包されているコマンドラインベースの拡張可能なスクリプト言語であり、コマンドラインベースで様々なOS210内のAPIを呼び出すことができる。
図3(B)を用いて、カスタマイズドライバーセットの説明を行う。カスタマイズドライバーセットは、図3(A)のドライバーセット3000に対し、カスタマイズ設定ファイル(カスタマイズ情報)を追加した構成になっている。よって、図3(A)で説明済みの番号は、説明を省略する。
3008は、カスタマイズ設定ファイルである。カスタマイズ設定ファイル3008は、インストール時にドライバー3006がアクセスできる箇所に書き込まれることで、ドライバー3006のインストール直後に、ドライバー3006をカスタマイズされた設定に変更するために利用される。
カスタマイズ設定ファイル3008は、カスタムモデルデータ30081、カスタムアイテムデータ30082、カスタム機種データ30083を持つ。カスタムモデルデータ30081は、カスタマイズドライバーセットでインストール対象のプリンターモデルの一覧のデータである。カスタマイズドライバーセットのユーザーは、カスタマイズドライバーセットの作成者が任意に選定したプリンターモデルのみ、インストールすることが可能になる。
尚、インストール対象として選定したプリンターモデルの中には、カスタマイズされずに標準設定のままのものも存在する。
カスタムアイテムデータ30082は、カスタマイズドライバーセットのバージョン番号やカスタマイズドライバーセットを作成したカスタマイズツール3100のバージョン番号などのデータである。カスタム機種データ30083は、プリンターモデルごとのカスタマイズに必要な情報が格納されたフォルダーであり、カスタマイズを施したプリンターモデルごとに作成される。
従って、カスタマイズドライバーセットのインストール対象のプリンターモデルであっても、カスタマイズを施していないプリンターモデルに対しては、作成されない。
カスタム機種データ30083は、カスタム印刷設定データ30084、カスタムQPBデータ30085などのドライバー3006をカスタマイズするためのデータを持つ。カスタム印刷設定データ30084は、印刷設定をカスタマイズするための情報である。カスタムQPBデータ30085は、デバイス設定や管理者設定などをカスタマイズするための情報である。
個々のカスタマイズ設定ファイル3008内のデータの詳細な説明については、後述する。
次に、図3(C)を用いて、カスタマイズツール3100の説明を行う。カスタマイズツール3100は、ドライバーセット3000を基にして、カスタマイズ設定ファイル3008を作成する。
3101は、カスタマイズツール3100の実行モジュールであり、カスタマイズツール3100のUIの表示などを行う。
疑似APIモジュール3102は、カスタマイズ設定ファイル3008の作成用の疑似APIである。通常、ドライバーUIモジュール3002はOS210から呼び出されて動作するものである。そして、ドライバーUIモジュール3002は、OSAPI5004を使用して諸機能を実現する。実行モジュール3101は、ドライバーUIモジュール3002がOS210にインストールされる前に、ドライバーUIモジュール3002を直接呼び出して使用する。そのため、ドライバーUIモジュール3002はOSAPI5004を使うことができない。そこで、OSAPI5004の代替APIとして疑似APIモジュール3102を利用する。
次に図4を用いて、カスタマイズ設定ファイル3008について説明する。
図4(A)は、カスタムモデルデータ30081の一例であり、マークアップ記述言語で記述されている。カスタムモデルデータ30081は、Properties要素を持ち、Properties要素の中にPrinterModel要素を1つから複数持つ。400は、PrinterModel要素である。PrinterModel要素400は子の要素として、Customized要素とPrefixString要素を持つ。401は、Customized要素であり、親の要素のPrinterModelをカスタマイズドライバーセットでインストール可能かどうかを示している。Cusomized要素401がONならばインストールが可能であることを表す。OFFの場合は、インストール不可であることを表す。402は、プリンターモデルを一意に定める情報が入力されたプリンターモデル識別子情報である。プリンターモデル識別子情報402は、カスタム機種データ30083を作成する際の名称に使われる。
図4(B)は、カスタムアイテムデータ30082の一例である。カスタムアイテムデータ30082は、複数のFeature要素を持つマークアップ記述言語で記述されており、各Feature要素は、属性にNameを持ち各Featureの識別子となる。また、Feature要素は、子要素としてValue要素を持ち、各FeatureはValue要素内に情報が記述される。
410は、カスタマイズコードが記述されている一例である。カスタマイズコード410は、カスタマイズしたドライバーに対しての説明や識別子を表す情報である。411は、カスタマイズドライバーセットのバージョン情報を表す一例である。412は、カスタマイズツール3100の名称である。413は、カスタマイズツール3100のバージョン情報である。
図4(C)は、カスタム機種データ30083に格納されている情報の一つのカスタム印刷設定データ30084の一例である。カスタム印刷設定データ30084はマークアップ記述言語形式で作成されており、ドライバーセット3000が持つ工場出荷値の印刷設定と比較した際の差分データを保持する。420は、工場出荷値の印刷設定がカラーであるドライバーに対して、デフォルトの印刷設定をモノクロに変更する場合の一例である。以後、カスタマイズされたデフォルトの印刷設定をカスタムデフォルトとする。カスタム印刷設定データ30084は、FeatureとOptionの組み合わせで作成されており、Featureは、マークアップ記述言語におけるOptionの親となる。Featureは機能、Optionは機能に対して選択されている設定を表し、本例ではpsk:PageOutputColorに対し、psk:Monochromという設定がされている。
図4(D)は、カスタム機種データ30083に格納されている情報の一つのカスタムQPBデータ30085の一例である。カスタムQPBデータ30085は、Propertyという要素を持ち、各Property要素は、機種依存ファイル3001に記述されているキュー情報の項目のデータが全て作成される。430は、キュー情報の項目の一例である。キュー情報430はName属性を持ち、Propety要素の識別子として使われる。キュー情報は、プリントキュー(以降、単にキューと呼ぶことがある)のデバイス設定と管理者設定の双方の設定データであり、一つのマークアップ記述言語で出力される。各項目に対し、入力する情報が存在しない場合には、空欄で出力する。
431は、デバイス設定の設定値の一例であり、カセットが設定されていることを示している。
図5は、OS210、ドライバー3006、印刷設定アプリケーション5000の構成図である。最初に図5を用いてアプリケーション212の一つである印刷設定アプリケーション5000の動作について説明する。尚、既に説明済みの番号の図については説明を省略する。
印刷設定アプリケーション5000がユーザーに起動されると、印刷設定アプリケーション5000は、ドライバー3006のドライバーUIモジュール3002をロードし、印刷設定UIを表示する。印刷設定UIを表示する際に、機種依存ファイル3001や印刷設定のユーザーのデフォルト設定が記憶されるデフォルト設定記憶部5001を参照する。そして、OS210によって生成されたPrintTicketやPrintCapabilitiesなどの印刷設定情報を取得する。また、ドライバー情報記憶部5008から工場出荷値の印刷設定などのドライバー情報を取得する。更に、レジストリやUPB(UserPropertyBag)などを含むユーザー情報記憶部5006からユーザーが作成したお気に入りやスタンプなどのユーザー情報を取得する。キュー情報記憶部5002はプリントキュー(論理プリンター)ごとにレジストリデータベースの領域として存在する。キュー情報記憶部5002の一部はQPB(QueuePropertyBag)とも呼ばれる。印刷設定アプリケーション5000はカスタマイズ設定ファイル3008やデバイス設定情報と管理者設定情報などの各情報をQPBから取得し、印刷設定UIを表示する。印刷設定情報、ドライバー情報、ユーザー情報、カスタマイズ設定ファイル3008、デバイス情報と管理者設定情報は、OSAPI5004を通じて取得される。
続けて図5の構成のうち、まだ説明していない構成の説明を行う。
一時ファイル展開部5003はOS210に含まれるモジュールであり、ドライバーセット3000内がcabファイルなどで圧縮されていた時に、圧縮ファイルを一時的に展開する場合やアプリケーション212の起動時に利用するファイルを一時的に作成する場合などに使われる。5004は、OSAPIであり、印刷設定の取得などのOSから提供されるAPI群である。
5005は、OS210が管理するドライバー3006を配置するフォルダーであり、ドライバー3006はインストールされるとドライバストア5005に配置される。
次に図7(A)、図10、図11、を用いて、カスタマイズドライバーセットのインストールについて説明する。尚、特に断らない限り主語は、インストーラ3004である。インストーラ3004は、図10(A)に示す言語設定画面10000を表示する(S7001)。言語設定画面表示後に、操作入力装置205によるユーザーからの操作を受け付ける。受け付けた後、10001の言語設定を変更すると、次に任意の画面を表示する際に表示言語を選択された言語に切り替える。操作入力装置205によるユーザーからの操作で、次へボタン10002への操作を受け付けると、図10(B)に示す使用許諾書画面10100を表示する(S7002)。使用許諾書画面10100は、10101に使用許諾書を表示する。
使用許諾書画面10100で、次へボタン10102への操作を受け付けると、ドライバーセット内のファイルを読み込む(S7003)。読み込んだ後、図10(C)に示すインストール方法選択画面10200を表示する(S7004)。インストール方法選択画面10200では、複数のインストール方法を選択することができる。標準セットアップインストール10201は、ネットワークに繋がっているデバイスを探索してインストールする方法である。
カスタムセットアップインストール10202は、デバイスがない状態でインストールを実行する方法である。USB接続セットアップインストール10203は、インストール時にUSBを接続し、プラグアンドプレイでOS210がデバイスの持つHWID(HardwareID)と一致するドライバー3006を探索し、インストールする方法である。本実施例では、代表的なインストールである標準セットアップインストールについて説明する。
標準セットアップを選択された状態で、次へボタン10204への操作を受け付けると、インストーラ3004は、ネットワーク103に接続されているプリンター102を探索する。そして、図10(D)に示すプリンター選択画面10300にプリンター102の一覧を表示する(S7005)。図10(D)のプリンター選択画面10300は、プリンターリストボックス10301にプリンターの一覧を表示しており、プリンターリストボックス10301のアイテムは、デバイス名、製品名、IPアドレス、MACアドレスを表示する。また、表示した直後は、次へボタン10303はグレーアウトして各アイテムはチェックボックスを持ち、操作入力装置205によるユーザーからの操作を受け付けて選択されるとチェックボックスにチェックがされる。チェックがされると次へボタン10303のグレーアウトが解除され、有効になる。ユーザーから次へボタンが選択されると、図11(A)に示すインストール確認画面11300を表示する(S7006)。インストール確認画面11300は、11301に示す通りインストールするドライバー3006のプリンター名称、ドライバー名称とポートを表示する。尚、標準インストールのため、ポートはプリンターのIPアドレスとなる。インストール確認画面11300で次へボタン11302が押されると、インストーラ3004は、内部的にインストール対象リストを作成し、図11(B)に示すプログレス画面11400を表示後にインストール処理(S7007)を行う。インストール処理は後程説明する。インストール処理完了後に図11(c)に示すカスタマイズドライバーセットのインストール終了画面11500を表示する(S7008)。そして、終了ボタン11501を押下されることで完了する。
図8のフローチャートを用いて、インストール対象のドライバー3006のインストール処理を説明する。尚、特に断らない限り本フローの主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
最初に、OS210が管理する所定のフォルダーであるドライバストア5005へ、ドライバー3006を格納する(S8001)。この格納処理は、インストーラ3004がOS210の機能を使って実行する。インストーラ3004は、S8002からS8009のループ処理で、インストール対象リストの中の個々のプリンターに対するドライバーのインストール処理を行う。まず、インストール対象リストに未処理のプリンターが存在するか確認する(S8002)。確認した結果、インストール対象リストに未処理のプリンターが存在した場合、インストール対象リストより未処理の一つのプリンターを取得し、現在のインストール対象とする(S8003)。OSに既にインストールされているプリンタードライバーを把握するため、現在のインストール対象となるプリンタードライバーのインストール前のプリンターリストを取得する(S8004)。プリンターリストとはOS210に存在するプリントキューの一覧である。次に、対象のIPアドレスなどの情報を元にOS210に依頼し、OS210内にポートを作成する(S8005)。ドライバー3006に対する印刷ジョブを管理するためのプリンター名を指定して、ドライバー3006に対応するキュー5007をOS210に依頼して作成する(S8006)。その際に、キュー情報記憶部5002を作成する。最後に、OS210に依頼し、ドライバー3006と、キュー5007およびポートを結びつける(S8007)。インストール処理後にデフォルト設定記憶部5001にユーザーデフォルトの印刷設定を書き込む(S8008)。その後に、カスタマイズ設定ファイル書き込み処理を行う(S8009)。カスタマイズ設定ファイル書き込み処理は後程説明する。インストール対象リストの全てのデバイスを処理した場合は、インストール処理は完了する。
図8の処理によって論理プリンターの名称(プリンター名)を指定してプリンタードライバーをインストールすることが可能となる。
図9を用いて、カスタマイズ設定ファイル3008の書き込み処理について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。
また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、インストーラ3004は、OSAPI5004にアクセスを試みて、カスタマイズ設定ファイル3008を対象プリントキューに対応するキュー情報記憶部5002へ書き込む(S9001)。これによって、論理プリンターに対して適用され、プリンタードライバーの設定を変更するための情報であるカスタマイズ情報がデータベースに追加される。
OSAPI5004はインストーラ3004に書き込み処理の成否を応答する。この応答結果を取得することによって、インストーラ3004はキュー情報記憶部5002へのカスタマイズ設定ファイル3008の書き込みが成功したか確認する(S9002)。これによって、論理プリンターに対して前記データベースへのカスタマイズ情報の追加が成功したか否かを判断することができる。なお、書き込み処理を行った後に、インストーラ3004がキュー情報記憶部5002を取得し、カスタマイズ設定ファイル3008が正しく書き込まれているかの検証処理を行い、この検証処理によって書き込みが成功したか否かを判断する構成にしても構わない。
書き込みに成功した場合には、OSAPI5004を用いて、印刷設定のデフォルトをカスタムデフォルトに変更する(S9011)。カスタマイズ設定ファイル書き込み処理を終了する。書き込みに失敗し、例外が発生した場合、インストーラ3004は、S9003に処理を進める。
カスタマイズ設定ファイル書き込みに失敗したメッセージを表示する(S9003)。例えば、図19(A)のような画面19000を表示する。なお、S9003はこのタイミングで表示する代わりに、S9005やS9009のあとに表示するように構成しても構わない。次に、S8006で指定したプリンター名のキューがOS210に存在するか確認する(S9004)。そして、存在する場合には、S8006で指定したプリンター名のキューの削除を行う(S9005)。
これによって、論理プリンターに対してデータベースへのカスタマイズ情報の追加が失敗したと判断されて、かつ指定された名称の論理プリンターがOSに存在すると判断された場合に、指定された名称の論理プリンターがOSから削除される。
存在しない場合には、インストール後のプリンターリストを取得する(S9006)。次に、キューの削除を行うために、インストールしたキューの特定処理を行う(S9007)。インストールしたキューの特定処理は、後程説明する。インストールしたキューの特定処理を行った後、削除するためのインストールしたキューを特定できたか確認する(S9008)。キューが特定できた場合には、特定したキューからプリンター名を取得して、プリンター名のキューを削除する(S9009)。そして、カスタマイズ設定ファイル書き込み処理を終了する。キューが特定できなかった場合には、キューの削除に失敗したメッセージを表示する(S9010)。例えば、図19(B)のような画面19100を表示する。そして、カスタマイズ設定ファイル書き込み処理を終了する。
図6を用いて、インストールしたキューをプリンターリストから特定する処理について説明する。S8006においてキューが作成された時点から、S9004においてプリンター名のキューの存在を確認するまでの間に、ユーザーがインストールしたキューの名称を変更してしまうことが考えられる。このような場合にS8006で指定したプリンター名のキューの削除が行えないため、図6によるインストールしたキューを特定する処理が必要になる。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、S8004とS9006で取得したインストール前とインストール後に取得したプリンターリストを比較する(S6001)。両リストの比較から、差分のキュー数が2つ以上かを確認する(S6002)。差分のキュー数が1つの場合は、差分のキューをインストールしたキューと特定する(S6003)。差分のキュー数が2つ以上の場合には、インストールしたキューを特定不能とする(S6004)。
これによって、プリンタードライバーのインストール前後で取得されたプリンターリスト(論理プリンターの一覧)から、削除すべき論理プリンターがOSに存在するか判断する。そして、論理プリンターに対してデータベースへのカスタマイズ情報の追加が失敗したと判断されて、かつプリンターリストから削除すべき論理プリンターがOSに存在すると判断された場合に、削除すべき論理プリンターをOSから削除することができる。
本実施例により、カスタマイズ情報の書き込みに失敗した場合に、カスタマイズされたドライバーのプリントキューを削除することで、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
また、カスタマイズ情報が設定できなかった場合に、インストール前とインストール後に取得したプリンターリストを比較する。そして、カスタマイズ設定に失敗したプリントキューを特定し、プリンター名を指定して、確実にプリントキューを削除することが可能となる。また、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
実施例1においては、カスタマイズ情報が設定できなかった場合に、インストール前とインストール後に取得したプリンターリストを比較することによって、カスタマイズ設定に失敗した論理プリンターを特定した。本実施例では、プリンターリストの差分だけでは、プリントキューを特定できなかった場合にインストールしたキューを絞り込む例を示す。
インストールの処理、および、カスタマイズ設定ファイルの書き込み処理は、実施例1と同じである。図9のS9007のインストールしたキューの特定処理が異なる。図12を用いて、インストールしたキューの特定処理において、他の情報を利用して、インストールしたキューを絞り込む方法について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、S8004とS9006で取得したインストール前とインストール後に取得したプリンターリストを比較する(S12001)。両リストの比較から、差分のキュー数が2つ以上かを確認する(S12002)。差分が1つの場合は、差分のキューをインストールしたキューと特定する(S12003)。差分が2つ以上の場合には、更にインストールしたキューを絞り込む処理を行う(S12004)。インストールしたキューを絞り込む処理は、後程説明する。インストールしたキューを絞り込む処理を行った場合にも、残りのキュー数が2つ以上かを確認する(S12005)。そして、1つの場合には、残りのキューをインストールしたキューと特定する(S12006)。2つ以上の場合には、インストールしたキューを特定不能とする(S12007)。
図14を用いて、キューに書き込まれているプリンターを作成したメーカー情報を利用して、インストールしたキューを絞り込む方法について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
S8004とS9006で取得したインストール前とインストール後のプリンターリストに基づいて、インストール前とインストール後の差分のキューを取得する(S14001)。S12002より、差分のキューは、2つ以上あるため、そこから、チェックしていない一つのキューのメーカー情報を取得する(S14002)。そして、取得したメーカー情報がキューの作成時に書き込んだメーカー情報と一致したかを確認する(S14003)。一致しなかった場合、一致しなかったキューを差分のキューから除外する(S14004)。一致した場合には、そのキューをそのままにして次に進む。全てのキューをチェックしたかを確認する(S14005)。チェックしていない場合には、S14002からの処理を繰り返す。チェックした場合には、残ったキューは一つかを確認する(S14006)。残ったキューが一つの場合には、残った一つのキューをインストールしたキューと特定する(S14007)。そして、インストールしたキューを絞り込む処理を終了する。残ったキューが一つでなかった場合には、インストールしたキューを特定不能(S14008)として、インストールしたキューを絞り込む処理を終了する。
本実施例では、メーカー情報を取得することによって、インストールしたキューの絞り込みを行ったが、他の情報を取得することによって、同様に、キューの絞り込みを行うことが可能なことは、言うまでもない。
このように、カスタマイズ情報が設定できなかった場合に、インストール前とインストール後に取得したプリンターリストの差分を求める。そして、更に各プリンタキューのメーカー情報を取得することによって、インストールしたキューを絞り込み、カスタマイズ設定に失敗したプリントキューを特定し、プリンター名を指定して、確実にプリントキューを削除することが可能となる。そして、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
実施例2においては、カスタマイズ情報が設定できなかった場合に、プリンターリストの差分だけでは、プリントキューを特定できなかった場合にインストールしたキューをさらに絞り込むことによって、論理プリンターの特定を行った。本実施例では、キューの作成時に直接指定した情報を利用することによって、インストールしたキューの特定を行う。
インストールの処理、および、カスタマイズ設定ファイルの書き込み処理は、実施例1と同じである。図9のS9007のインストールしたキューの特定処理が異なる。図13を用いて、インストールしたキューの特定処理について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、インストールされているプリンターリストを取得する(S13001)。プリンターリストのうち、チェックしていない一つのキューに結び付けられたポートに関連する情報(ポート情報)を取得する(S13002)。そして、S8005でポートを作成した時に利用した情報と一致したかを確認する(S13003)。例えば、IPアドレスなどの情報を確認する。一致した場合には、一致したキューをインストールしたキューと特定する(S13004)。そして、インストールしたキューの特定処理を終了する。一致しなかった場合には、全てのキューをチェックしたかを確認する(S13005)。チェックしていない場合には、S13002からの処理を繰り返す。チェックした場合には、一致するキューが存在しなかったため、インストールしたキューを特定不能とする(S13006)。そして、インストールしたキューの特定処理を終了する。
このように、カスタマイズ情報が設定できなかった場合に、キューの作成時に直接指定した情報を利用することによって、インストールしたキューの特定を行う。そして、カスタマイズ設定に失敗したプリントキューを特定し、プリンター名を指定して、確実にプリントキューを削除することが可能となる。そして、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
実施例3においては、カスタマイズ情報が設定できなかった場合に、プリンタキューの作成時に直接指定した情報を利用することによって、インストールした論理プリンターの特定を行った。本実施例4と続く実施例5ではインストールされるプリンタードライバーに関連する特定の情報の取得を行い、プリンタードライバーのインストール前後で取得された特定の情報に基づいて、削除すべき論理プリンターを特定して、特定された論理プリンターをOSから削除する。本実施例では特定の情報として、論理プリンターに対応する物理プリンターから取得した構成情報を用いる。
インストールの処理は、実施例1と同じである。図7のS7007のインストール処理が異なる。図15のフローチャートを用いて、インストール対象のドライバー3006のインストール処理を説明する。図15の各処理は、ほぼ図8での各処理と同じである。そのため、異なるS15008の処理を除いて、説明を省略する。尚、特に断らない限り本フローの主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
S8007でドライバーとキューおよびポートを結びつけた後に、作成したポートを利用して、プリンターからデバイスのカセットが何段か、フィニッシャーが付いているか、ステープルが可能かなどを示す構成情報を取得する(S15008)。その後のS8009におけるカスタマイズ設定ファイル書き込み処理は実施例1の図9と同様である。違いとしては図9におけるインストールしたキューの特定処理であるS9007の処理内容が異なる。この処理は、後述する。インストール対象リストの全てのデバイスを処理した場合は、インストール処理は完了する。
図16を用いて、前述のS9007におけるインストールしたキューの特定処理について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、インストールされているプリンターリストを取得する(S16001)。プリンターリストのうち、チェックしていない一つのキューの構成情報を取得する(S16002)。更に構成情報が取得できたかを確認する(S16003)。取得できなかった場合には、全てのキューをチェックしたかを確認する(S16006)。取得できた場合には、取得した構成情報がS15008で取得した構成情報と一致したかを確認する(S16004)。一致した場合には、一致したキューをインストールしたキューと特定する(S16005)。そして、インストールしたキューの特定処理を終了する。一致しなかった場合には、全てのキューをチェックしたかを確認する(S16006)。全てのキューをチェックしていない場合には、S16002からの処理を繰り返す。チェックした場合には、一致するキューが存在しなかったため、インストールしたキューを特定不能とする(S16007)。そしてインストールしたキューの特定処理を終了する。
このように、カスタマイズ情報が設定できなかった場合に、キューの作成時にプリンターから情報を取得し、その情報を利用することによって、インストールしたキューの特定を行う。そして、カスタマイズ設定に失敗したプリントキューを特定し、プリンター名を指定して、確実にプリントキューを削除することが可能となる。そして、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
実施例4においては、キューの作成時にプリンターから情報を取得し、その情報を利用することによって、インストールした論理プリンターの特定を行った。本実施例では、キューの作成時に関連付いてOSにより作成された固有情報を利用することによって、インストールしたキューの特定を行う。
インストールの処理は、実施例1と同じである。図7のS7007のインストール処理が異なる。図17のフローチャートを用いて、インストール対象のドライバー3006のインストール処理を説明する。図17の各処理もほぼ図8での各処理と同じである。そのため、異なるS17008の処理を除いて、説明を省略する。尚、特に断らない限り本フローの主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
S8007でドライバーとキューおよびポートを結びつけた後、作成したキューに関連付く固有情報を取得する(S17008)。例えば、固有情報としてキューの識別ID(識別情報)を取得する。その後のS8009におけるカスタマイズ設定ファイル書き込み処理は実施例1の図9と同様である。実施例4と同様に違いとしては図9におけるインストールしたキューの特定処理であるS9007の処理内容が異なる。この処理は、後述する。インストール対象リストの全てのデバイスを処理した場合は、インストール処理は完了する。
図18を用いて、前述のS9007におけるインストールしたキューの特定処理について記述する。尚、特に断らない限り本図の主語はインストーラ3004である。また、各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。
まず、インストールされているプリンターリストを取得する(S18001)。プリンターリストのうち、チェックしていない一つのキューの固有情報を取得する(S18002)。固有情報が取得できたかを確認する(S18003)。取得できなかった場合には、全てのキューをチェックしたかを確認する(S18006)。取得できた場合には、取得した固有情報がS17008で取得した固有情報と一致したかを確認する(S18004)。一致した場合には、一致したキューをインストールしたキューと特定する(S18005)。そして、インストールしたキューの特定処理を終了する。一致しなかった場合には、全てのキューをチェックしたかを確認する(S18006)。全てのキューをチェックしていない場合には、S18002からの処理を繰り返す。チェックした場合には、一致するキューが存在しなかったため、インストールしたキューを特定不能とする(S18007)。そしてインストールしたキューの特定処理を終了する。
このように、カスタマイズ情報が設定できなかった場合に、キューの作成時に関連付いてOSにより作成された固有情報を利用することによって、インストールしたキューの特定を行う。そして、カスタマイズ設定に失敗したプリントキューを特定し、プリンター名を指定して、確実にプリントキューを削除することが可能となる。そして、不完全な情報をもとにドライバーが動作してしまい、誤動作や、予期していなかった動作を防ぐことが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (15)

  1. オペレーティングシステムを実行する情報処理装置であって、
    論理プリンターの名称を指定してプリンタードライバーをインストールするインストール手段と、
    前記論理プリンターに対して適用され、前記プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加する追加手段と、
    前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が成功したか否かを判断する第1の判断手段と、
    指定された前記名称の論理プリンターが前記オペレーティングシステムに存在するか判断する第2の判断手段と、
    前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断手段により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、指定された前記名称の論理プリンターを前記オペレーティングシステムから削除する削除手段と、を有することを特徴とする情報処理装置。
  2. 前記オペレーティングシステムに存在する論理プリンターの一覧を取得する取得手段と、
    前記プリンタードライバーのインストール前後で取得された前記論理プリンターの一覧から、削除すべき論理プリンターが前記オペレーティングシステムに存在するか判断する第3の判断手段と、を有し、
    前記削除手段は、前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第3の判断手段により、削除すべき前記論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、削除すべき前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、論理プリンターに書き込まれている特定の情報を取得し、
    前記第3の判断手段は、前記プリンタードライバーのインストール前後で取得された前記論理プリンターの一覧から、前記特定の情報が取得できる前記論理プリンターが前記オペレーティングシステムに存在するか判断し、
    前記削除手段は、前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第3の判断手段により、前記特定の情報が取得できる前記論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、前記特定の情報が取得できる前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項2に記載の情報処理装置。
  4. 前記インストール手段は、ポート情報を指定して前記プリンタードライバーをインストールし、
    前記削除手段は、前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断手段により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在しないと判断された場合に、指定された前記ポート情報と一致する論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項1に記載の情報処理装置。
  5. インストールされる前記プリンタードライバーに関連する特定の情報を取得する取得手段と、を有し、
    前記削除手段は、前記第1の判断手段により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断手段により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在しないと判断された場合に、前記プリンタードライバーのインストール前後で取得された前記特定の情報に基づいて、削除すべき論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項1に記載の情報処理装置。
  6. 前記取得手段は、論理プリンターに対応する物理プリンターから前記特定の情報として構成情報を取得して、
    前記削除手段は、前記プリンタードライバーのインストール前後で取得された前記構成情報に基づいて、削除すべき前記論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項5に記載の情報処理装置。
  7. 前記取得手段は、前記特定の情報として論理プリンターの識別情報を取得して、
    前記削除手段は、前記プリンタードライバーのインストール前後で取得された前記識別情報に基づいて、削除すべき前記論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項5に記載の情報処理装置。
  8. オペレーティングシステムを実行するコンピュータであって、
    前記コンピュータに、
    論理プリンターの名称を指定してプリンタードライバーをインストールするインストール工程と、
    前記論理プリンターに対して適用され、前記プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加する追加工程と、
    前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が成功したか否かを判断する第1の判断工程と、
    指定された前記名称の論理プリンターが前記オペレーティングシステムに存在するか判断する第2の判断工程と、
    前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断工程により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、指定された前記名称の論理プリンターを前記オペレーティングシステムから削除する削除工程と、を実行させることを特徴とするプログラム。
  9. 前記コンピュータに、
    前記オペレーティングシステムに存在する論理プリンターの一覧を取得する取得工程と、
    前記プリンタードライバーのインストール前後で取得された前記論理プリンターの一覧から、削除すべき論理プリンターが前記オペレーティングシステムに存在するか判断する第3の判断工程と、を実行させ、
    前記削除工程は、前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第3の判断工程により、削除すべき前記論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、削除すべき前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項8に記載のプログラム。
  10. 前記取得工程は、論理プリンターに書き込まれている特定の情報を取得し、
    前記第3の判断工程は、前記プリンタードライバーのインストール前後で取得された前記論理プリンターの一覧から、前記特定の情報が取得できる前記論理プリンターが前記オペレーティングシステムに存在するか判断し、
    前記削除工程は、前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第3の判断工程により、前記特定の情報が取得できる前記論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、前記特定の情報が取得できる前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項9に記載のプログラム。
  11. 前記インストール工程は、ポート情報を指定して前記プリンタードライバーをインストールし、
    前記削除工程は、前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断工程により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在しないと判断された場合に、指定された前記ポート情報と一致する論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項8に記載のプログラム。
  12. 前記コンピュータに、
    インストールされる前記プリンタードライバーに関連する特定の情報を取得する取得工程と、を実行させ、
    前記削除工程は、前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断工程により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在しないと判断された場合に、前記プリンタードライバーのインストール前後で取得された前記特定の情報に基づいて、削除すべき論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項8に記載のプログラム。
  13. 前記取得工程は、論理プリンターに対応する物理プリンターから前記特定の情報として構成情報を取得して、
    前記削除工程は、前記プリンタードライバーのインストール前後で取得された前記構成情報に基づいて、削除すべき前記論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項12に記載のプログラム。
  14. 前記取得工程は、前記特定の情報として論理プリンターの識別情報を取得して、
    前記削除工程は、前記プリンタードライバーのインストール前後で取得された前記識別情報に基づいて、削除すべき前記論理プリンターを特定して、特定された前記論理プリンターを前記オペレーティングシステムから削除することを特徴とする請求項12に記載のプログラム。
  15. オペレーティングシステムを実行する情報処理装置の制御方法であって、
    論理プリンターの名称を指定してプリンタードライバーをインストールするインストール工程と、
    前記論理プリンターに対して適用され、前記プリンタードライバーの設定を変更するための情報であるカスタマイズ情報をデータベースに追加する追加工程と、
    前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が成功したか否かを判断する第1の判断工程と、
    指定された前記名称の論理プリンターが前記オペレーティングシステムに存在するか判断する第2の判断工程と、
    前記第1の判断工程により前記論理プリンターに対して前記データベースへの前記カスタマイズ情報の追加が失敗したと判断されて、かつ前記第2の判断工程により、指定された前記名称の論理プリンターが前記オペレーティングシステムに存在すると判断された場合に、指定された前記名称の論理プリンターを前記オペレーティングシステムから削除する削除工程と、を有することを特徴とする制御方法。
JP2017125531A 2017-06-27 2017-06-27 情報処理装置、プログラム、インストーラ及び制御方法 Active JP6929144B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017125531A JP6929144B2 (ja) 2017-06-27 2017-06-27 情報処理装置、プログラム、インストーラ及び制御方法
US16/014,989 US10671365B2 (en) 2017-06-27 2018-06-21 Information processing apparatus, storage medium, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017125531A JP6929144B2 (ja) 2017-06-27 2017-06-27 情報処理装置、プログラム、インストーラ及び制御方法

Publications (3)

Publication Number Publication Date
JP2019008669A true JP2019008669A (ja) 2019-01-17
JP2019008669A5 JP2019008669A5 (ja) 2020-07-30
JP6929144B2 JP6929144B2 (ja) 2021-09-01

Family

ID=64693193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017125531A Active JP6929144B2 (ja) 2017-06-27 2017-06-27 情報処理装置、プログラム、インストーラ及び制御方法

Country Status (2)

Country Link
US (1) US10671365B2 (ja)
JP (1) JP6929144B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056802A (ja) * 2019-09-30 2021-04-08 ブラザー工業株式会社 プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7188031B2 (ja) * 2018-11-30 2022-12-13 ブラザー工業株式会社 情報処理プログラムおよび情報処理装置
JP7230467B2 (ja) * 2018-11-30 2023-03-01 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
CN113626040B (zh) * 2020-05-06 2023-12-22 伊姆西Ip控股有限责任公司 用于安装应用的方法、电子设备和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121327A (ja) * 1993-10-27 1995-05-12 Fuji Xerox Co Ltd 論理プリンタの構築方法
JP2004252759A (ja) * 2003-02-20 2004-09-09 Ricoh Co Ltd ドライバのインストール方法とインストール制御プログラム
JP2011237860A (ja) * 2010-05-06 2011-11-24 Canon Inc 印刷制御装置、印刷制御方法およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252095A (ja) 2005-03-10 2006-09-21 Canon Inc インストーラ
WO2010112960A1 (en) * 2009-03-30 2010-10-07 Hitachi, Ltd. Method and apparatus for cause analysis involving configuration changes
JP5370253B2 (ja) * 2010-04-27 2013-12-18 ブラザー工業株式会社 制御装置、プログラム、及び管理方法
US9311482B2 (en) * 2010-11-01 2016-04-12 CounterTack, Inc. Inoculator and antibody for computer security
JP5799698B2 (ja) * 2011-09-14 2015-10-28 株式会社リコー 情報処理装置及びプログラム
JP6108864B2 (ja) * 2013-02-20 2017-04-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6057790B2 (ja) * 2013-03-15 2017-01-11 三菱重工業株式会社 ガスタービン用サイレンサ、及びそれを備えたガスタービン
US10277362B2 (en) * 2015-12-30 2019-04-30 Facebook, Inc. Optimistic data fetching and rendering
US10191697B2 (en) * 2017-03-17 2019-01-29 Ricoh Company Ltd. Information processing apparatus, information processing system, and information processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121327A (ja) * 1993-10-27 1995-05-12 Fuji Xerox Co Ltd 論理プリンタの構築方法
JP2004252759A (ja) * 2003-02-20 2004-09-09 Ricoh Co Ltd ドライバのインストール方法とインストール制御プログラム
JP2011237860A (ja) * 2010-05-06 2011-11-24 Canon Inc 印刷制御装置、印刷制御方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056802A (ja) * 2019-09-30 2021-04-08 ブラザー工業株式会社 プログラム
JP7367432B2 (ja) 2019-09-30 2023-10-24 ブラザー工業株式会社 プログラム

Also Published As

Publication number Publication date
JP6929144B2 (ja) 2021-09-01
US20180373519A1 (en) 2018-12-27
US10671365B2 (en) 2020-06-02

Similar Documents

Publication Publication Date Title
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
JP6936634B2 (ja) 情報処理装置および情報格納方法
JP5301764B2 (ja) ポータブルアプリケーション
CN1315042C (zh) 创建和使用具有选定功能的操作系统的方法和系统
US8627343B2 (en) Information processing apparatus and data output managing system
JP4974909B2 (ja) 情報処理装置、印刷設定方法、記憶媒体、プログラム
US7817294B2 (en) Data processing apparatus, print setting processing method, storing medium storing computer-readable program therein, and program
US8451463B2 (en) Information processing apparatus and information processing method
US20190050173A1 (en) Information processing apparatus, control method, and recording medium
JP6929144B2 (ja) 情報処理装置、プログラム、インストーラ及び制御方法
US8395787B2 (en) Information processing apparatus having customized driver, method of controlling the same, and medium storing control program
US9342290B2 (en) Information processing apparatus, installation method, and program
US10089102B2 (en) Information processing apparatus, method, and program
US8199351B2 (en) Information processing system, information processing method, and computer-readable recording medium
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
US20180146110A1 (en) Information processing apparatus, control method, and storage medium
US11372598B2 (en) Application and information processing apparatus
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
JP6214369B2 (ja) 情報処理装置、プログラム及び制御方法
US10540129B2 (en) Information processing device, information processing system, and information processing method for executing script included in print information
US11360787B2 (en) Information processing system and control method
JP2017162106A (ja) 情報処理装置及びデバイスドライバのインストール方法
US20220038596A1 (en) Information processing apparatus, control method, and non-transitory computer-readable storage medium storing program
JP2019175031A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210324

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: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210810

R151 Written notification of patent or utility model registration

Ref document number: 6929144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151