(57)【特許請求の範囲】
【請求項１】
データタイプ別の印刷履歴情報を記憶する記憶手段と、前記記憶手段に記憶される印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたか否か判別する判別手段と、前記判別手段により、前記記憶手段に記憶された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたと判別された場合、特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがあるか否かを判定する判定手段と、
前記判定手段により特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがないと判定された場合、推奨ソフトウェアの紹介画面を表示する表示手段とを有し、前記データタイプは、ファイルの拡張子と紙サイズに基づき決定されることを特徴とする情報処理装置。
【請求項２】
データタイプ別の印刷履歴情報を呼び出す呼び出しステップと、
前記呼び出しステップにより呼び出された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたか否か判別する判別ステップと、
前記判別ステップにより、前記記憶ステップに記憶された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたと判別された場合、特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがあるか否かを判定する判定ステップと、
前記判定ステップにより特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがないと判定された場合、推奨ソフトウェアの紹介画面を表示する表示ステップとを有し、前記データタイプは、ファイルの拡張子と紙サイズに基づき決定されることを特徴とする情報処理方法。
【請求項３】
データタイプ別の印刷履歴情報を呼び出す呼び出しステップと、
前記呼び出しステップにより呼び出された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたか否か判別する判別ステップと、
前記判別ステップにより、前記記憶ステップに記憶された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたと判別された場合、特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがあるか否かを判定する判定ステップと、
前記判定ステップにより特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがないと判定された場合、推奨ソフトウェアの紹介画面を表示する表示ステップとをコンピュータに実行させるプログラムであって、
前記データタイプは、ファイルの拡張子と紙サイズに基づき決定されること特徴とするプログラム。
【請求項４】
前記推奨ソフトウェアの紹介画面は、推奨ソフトウェアの削除を指示する指示手段を含むことを特徴とする請求項３記載のプログラム。
【請求項５】
前記表示ステップは、アンインストールされていないソフトウェアを、推奨ソフトウェアの紹介画面に表示することを特徴とする請求項３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、印刷処理を行う情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
現在、プリンタに関連するソフトウェアとしては、コンピュータシステム上でプリンタを扱う事ができるようにするためのプリンタドライバと、ユーザが様々な印刷を行うためのアプリケーションソフトウェアがある。ここで特にある印刷を行う目的に特化し、ユーザに便利な印刷方法を提供するアプリケーションソフトウェアの事を印刷特化型アプリケーションソフトウェア（以下、印刷用アプリ）と呼ぶ。
【０００３】
ユーザがプリンタを自分のコンピュータシステム上でプリンタを使えるようにするためには、前述プリンタドライバと共に、複数の印刷用アプリを一度にインストールする、統合インストーラを用いるのが一般的である。
【０００４】
また、特許文献１では、アプリケーションの使用履歴を保存しておき、コンピュータシステムの記憶容量が少なくなった時に、使用回数の少ないものを削除してしまうという発明が開示されている。
【特許文献１】特開平１０−２６０８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、統合型インストーラの問題は、多くのユーザは多数のアプリがどのような機能を持つのかを認識しないままインストールが行われてしまうため、ユーザがアプリに触らずに放置されてしまう事が多かったという点である。そこで、例えば、インストールを行う際にアニメーションを流す事によって、現在インストールしているアプリの紹介を行い、ユーザにアプリの認知をしてもらうという手段が考えられている。
【０００６】
また、統合インストーラにて一度にアプリのインストールを行った場合、ユーザにとってまったく必要のないアプリまでインストールされてしまい、その結果、コンピュータシステムの記憶領域を無駄に占有してしまっているという問題もあった。
【０００７】
そこで一定のテスト期間を設け、その一定のテスト期間内にユーザがどれだけアプリケーションソフトウェアを使ったかにより、本番インストール時に実際にインストールするアプリを決定する方法も考えられている。
【課題を解決するための手段】
【０００８】
本願発明は、上述の問題点の少なくともひとつを解決するためになされたものであり、本願発明のひとつの側面は、ユーザに適切な印刷又は画像処理ソフトウェアを使用させることである。
【０００９】
さらに本願発明の他の側面は、印刷履歴情報を活用して、ユーザに適切な印刷または画像処理ソフトウェアを提示することにより、便利な印刷又は画像処理ソフトウェアの活用を図ることである。
【００１０】
さらに本願発明の別の側面は、不必要なソフトウェアを消去してメモリの使用効率を向上すると共に、適切なソフトウェアをユーザに使用可能な状態に保持することである。
【００１１】
上記課題を解決するために本発明の情報処理装置は、
データタイプ別の印刷履歴情報を記憶する記憶手段と、
前記記憶手段に記憶される印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたか否か判別する判別手段と、
前記判別手段により、前記記憶手段に記憶された印刷履歴情報に基づき、特定データタイプの印刷が一定回数以上行なわれたと判別された場合、特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがあるか否かを判定する判定手段と、
前記判定手段により特定データタイプの印刷が特定データタイプを印刷するのに推奨される推奨ソフトウェアから行われたことがないと判定された場合、推奨ソフトウェアの紹介画面を表示する表示手段とを有し、前記データタイプは、ファイルの拡張子と紙サイズに基づき決定されることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、印刷履歴情報を活用して、適切な印刷又は画像処理ソフトウェアを有効利用させることができる。
【発明を実施するための最良の形態】
【００１３】
（実施例）
まず、この発明の第一実施形態を説明する。この第一実施形態は、プリンタドライバが印刷ジョブの処理を行った後、ユーザに対しアプリケーションの紹介を行うものである。
【００１４】
図１にこの第一実施形態のモジュール構成を示す。
【００１５】
図１におけるコンピュータシステム（１００）は本実施例の印刷システムが動くコンピュータシステムを示す。コンピュータシステム（１００）は、コンピュータシステム上のアプリやドライバや周辺機器を管理するオペレーティングシステム１０２（以下ＯＳ）を持つ。
【００１６】
アプリケーションソフトウェア（１０１）は印刷データの作成を行える機能を持つ。また印刷の際の用紙サイズ等を決める印刷設定画面をプリンタドライバ（１０７）より呼び出す機能と、印刷設定を行ったのち、ＯＳ（１０２）に対して印刷データの送信を行う機能を持つ。
【００１７】
入力装置（１０３）はユーザが操作を行うための装置であり、この入力結果はＯＳ（１０２）を通してコンピュータシステム上のソフトウェアに通知される。モニタドライバ（１０５）はＯＳ（１０２）に対して発行された描画命令を受け取り、モニタ（１０４）に表示を行うための処理を行う。モニタ（１０４）はモニタドライバ（１０５）からの命令を受け取り、画面上にデータの表示を行う。
【００１８】
統合アプリケーションインストーラ（１０８）は、コンピュータシステム（１００）に対し、複数のアプリケーションソフトウェア（１０１）とアプリケーションアンインストーラ（１１２）をインストールする機能と、アプリケーション情報ＤＢ（１０９）にインストールしたアプリとそのアプリのアンインストーラの情報を登録する機能を持つ。
【００１９】
アプリケーション情報ＤＢ（１０９）はアプリケーションソフトウェア（１０１）はＯＳにインストールされている印刷用アプリの情報管理を行う。詳細については、図１１の説明にて行う。
【００２０】
図１２の印刷履歴ＤＢ（１１０）は今までコンピュータシステム（１００）上で発生した印刷の履歴を保存するデータベースである。
【００２１】
プリンタドライバ（１０７）は、ＯＳ（１０２）に呼び出される事によって印刷ジョブを処理し、プリンタ（１０６）へ印刷命令を発行するドライバである。
【００２２】
プリンタドライバ（１０７）は印刷処理を行う際に印刷履歴ＤＢ（１１０）に印刷の情報を保存する機能を持つ。また、印刷履歴ＤＢ（１１０）とアプリケーション情報ＤＢ（１０９）内の情報を使う事により、アプリケーション紹介プログラム（１１１）を呼び出す機能をもつ。
【００２３】
アプリケーション紹介プログラム（１１１）はＯＳに対しアプリケーション紹介ダイアログをモニタ（１０４）に表示するよう命令する機能を持つ。またユーザが入力装置（１０３）を通してアプリケーションソフトウェア（１０１）のアンインストール命令を入力できるようにする機能を持つ。さらに、アンインストール命令を受け取った場合には、該当するアプリケーションソフトウェア（１０１）のアプリケーションアンインストーラ（１１２）の呼び出しを行う機能と、またアプリケーション情報ＤＢにアンインストールが行われたという情報を記載する機能を持つ。
【００２４】
アプリケーションアンインストーラ（１１２）はアプリケーションソフトウェア（１０１）のアンインストールを行う機能を持つ。プリンタ（１０６）はプリンタドライバ（１０７）から受け取った印刷命令を元に印刷を行う機能を持つ。
【００２５】
図１８は、本発明の第１実施形態を示すクライアント構成を説明するブロック図である。図示しない通信媒体、例えばイーサネット（登録商標）等のＬＡＮを介して所定の周辺機器がローカル接続された他のデータ処理装置と所定のプロトコルにより通信可能に構成されているものとする。なお、所定の周辺機器はインクジェットプリンタ，レーザプリンタ、スキャナ，モデム，複合画像処理装置等を含む。
【００２６】
図において、１はシステムバスであり、これから説明する各部はこのシステムバス１に接続されている。２はＣＰＵ（Ｃｅｎｔｒａｌ  ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）である。
【００２７】
３はプログラムメモリ（ＰＭＥＭと称す）で、本処理のためのプログラムを適宜ハードディスク１０から選択／読込みし、ＣＰＵ２にて実行する。又、キーボード１２から入力されたデータはテキストメモリでもあるＰＭＥＭ３にコード情報として格納される。
【００２８】
４は通信制御部であり、通信ポート５に於ける入出力データの制御を行う。通信ポート５から出力された信号は、通信回線６を経由して、ネットワーク上の他の装置７の通信ポートに伝えられる。
【００２９】
ネットワーク上で共有されているプリンタや、画像読み取り装置（スキャナ）とのやり取りは、この通信制御部４を介して行われる。なお、本実施形態ではＬＡＮなどのネットワークに関して記述するが、この通信制御部４に接続される通信ポート及び通信回線が一般の公衆回線であっても本発明が適応されることは言うまでもない。スキャナで読み取った画像もプリンタへ送信して印刷が可能である。
【００３０】
８は外部記憶装置制御部で、データファイル用のディスク、例えばフロッピー（登録商標）ディスク（ＦＤと称す）９や、ハードディスク（ＨＤと称す）１０とのアクセスを制御する。
【００３１】
１１は入力制御部であり、キーボード１２、マウス１３等の入力装置が接続される。操作者はこのキーボード１２を操作することによりシステムの動作指令等を行う。１６はＣＲＴ装置（ＣＲＴ）で、ＣＲＴ１６上で画像情報を加工指示するためにはポインティングデバイス（ＰＤと称す）が使用され、本実施形態ではマウス１３を使用している。
【００３２】
これによりＣＲＴ１６上のカーソルをＸ，Ｙ方向に任意に移動してコマンドメニュー上のコマンドアイコンを選択して処理の指示を行なうほか編集対象の指示、描画位置の指示等も行う。
【００３３】
１４はビデオイメージメモリ（ＶＲＡＭと称す）で、ＣＲＴ１６に表示すべき描画データ（ビットマップデータ）が展開され、表示出力制御部１５を介して適宜読み出されてＣＲＴ１６にその内容が表示される。１７はプリンタ制御部であり、接続されているプリンタ１８に対するデータの出力制御を行う。
【００３４】
１Ａは画像読み取り機器制御部であり、接続されている画像読み取り機器１Ｂの画像読み取り制御を行う。なお、外部機器制御部１９は、プリンタ制御部１７または画像読み取り機器制御部１Ａを介して外部機器の動作を制御する。
【００３５】
なお、クライアント側装置では、前述のように、通信制御部４、及び通信ポート５を介してサーバ側の共有されている同構成要素を使用することができる。
【００３６】
なお、本実施形態でＲＯＭに記憶しているプログラムは、装置に直接接続されているハードディスク（ＨＤ）１０やフロッピー（登録商標）ディスク（ＦＤ）９などの記憶媒体にも記憶されていてもよい。さらに、ネットワークで接続されている他の装置上に記憶されていてもよい。また、本発明のプログラムは、ハードディスク（ＨＤ）１０やフロッピー（登録商標）ディスク（ＦＤ）９などの記憶媒体やネットワークを介してシステムや装置に供給できる。図１に記載されているコンピュータシステム内の各種プログラム群は、ハードディスクＨＤに記憶されている。そして、必要に応じて図７のＲＡＭ２０に当該プログラム群はメモリ展開され、ＣＰＵ２により実行される。
【００３７】
図２は、コンピュータシステム（１００）にアプリケーションをインストールするための統合インストーラが、どのアプリケーションをインストールするかを選別し、インストールする事が決定したアプリケーションのアプリケーションインストーラを呼び出し、インストール後にアプリケーション情報ＤＢ（１０９）にアプリケーションの情報の登録を行う流れ図である。アプリケーション情報ＤＢ（１０９）に保存する情報に関しては後の図１１についての説明において行う。
【００３８】
図３は、前記統合インストーラにおいて、インストールするアプリケーションソフトウェア（１０１）のリストを作成する際に呼び出される、印刷推奨アプリリストからの非インストールアプリ削除処理の流れを示したものである。ここでは、アプリケーション情報ＤＢ（１０９）の内容から、以前アンインストールされた事のあるアプリケーションを探し、統合アプリケーションインストーラ（１０８）が作成した、コンピュータシステム（１００）にインストールする事が推奨されるアプリケーションソフトウェア（１０１）のリストから、そのアプリケーションを削除する流れを示す。
【００３９】
図４は、印刷が行われる時のアプリケーションソフトウェア（１０１）の流れ図である。アプリケーションソフトウェア（１０１）はユーザに印刷設定を行わせ、その後拡張子付ファイル名とアプリケーション名をあわせたものをドキュメント名として作成し、そのドキュメント名で印刷処理を行う。
【００４０】
ここで作成されたドキュメント名は、後述のプリンタドライバにおける印刷処理において使われる。
【００４１】
図５は、プリンタドライバにおける印刷処理を示す。ここでは、印刷処理を行ったのち、その印刷履歴を残すとともにアプリケーションの紹介を行うかどうかの判定を行い、もしアプリケーションの紹介を行うようであれば、アプリケーション紹介プログラム（１１１）を呼び出す流れを示している。
【００４２】
図６は、プリンタドライバの印刷処理内のデータタイプ取得処理で使われる、印刷特徴データを取得するために呼び出される印刷特徴抽出処理の流れ図を示す。ここでは、ファイル名から拡張子を、また印刷設定情報（印刷用紙サイズ・印刷用紙の種類・画像処理設定・給紙方法等）から、印刷用紙サイズ（Ａ４やはがきなど）と、印刷用紙の種類（光沢紙・普通紙など）を取得し、拡張子と合わせて印刷特徴データとし、プリンタドライバ（１０７）にデータを渡す処理を示している。
【００４３】
図７は、プリンタドライバの印刷処理内で呼び出される印刷データのデータタイプ判別処理の流れ図を示す。ここでは、前述の印刷特徴抽出処理で得られた印刷特徴データを使い、印刷特徴変換テーブルを参照する事によって、印刷データが、写真を印刷するものなのか、それともＷｅｂデータを印刷するものなのかといったデータタイプを取得する流れを示している。ここで、印刷特徴変換テーブルについては、後の図１３の説明にて行う。
【００４４】
図８は、プリンタドライバにおいて、印刷が行われたのち、呼び出されるデータタイプ別印刷履歴保存処理の流れ図をしめしている。ここでは、前述の印刷データのデータタイプと、印刷の行われたアプリケーション名を元に印刷データの印刷履歴保存ＤＢ（２１０）への保存を行う。
【００４５】
図９は、プリンタドライバにて、アプリケーションの紹介が必要と判断された場合に呼び出されるアプリケーションソフトウェア紹介プログラムの、アンインストールボタンが押される場合の流れ図を示している。ここでは、アプリケーションソフトウェアの紹介画面を表示したのち、アンインストールボタンが押されたらアンインストール処理を行ってプログラムを終了する。
【００４６】
図１７は、プリンタドライバにて、アプリケーションの紹介が必要と判断された場合に呼び出されるアプリケーションソフトウェア紹介プログラムの、ＯＫボタンが押される場合の流れ図を示している。ここでは、アプリケーションソフトウェアの紹介画面を表示したのち、ユーザが、二度とこのメッセージを表示しない事を指示した場合は、該当アプリケーションの紹介メッセージを表示しないようにする。２度とこのメッセージを表示しないボタンを押してアンインストールボタン又はＯＫボタンを押すと、次回以降表示画面を表示する条件を満たしても図１０の画面を表示しない。
【００４７】
図１０は、アプリケーションソフトウェア紹介プログラムから呼び出されるアプリケーションソフトウェア紹介画面の見本を示す。ここでは、アプリケーションソフトウェアの紹介文と、アンインストールを行うための「アンインストールボタン」と、アプリケーションの紹介を二度と行わせない事をユーザに指示させるためのチェックボックスと、アプリケーションソフトウェア紹介画面を閉じるための「ＯＫボタン」が存在する事を示す。
【００４８】
図１１は、本実施例において扱われるアプリケーション情報ＤＢ（１０９）に保存されるアプリケーションソフトウェア（１０１）の情報の表を示す。
ここで、アプリケーション情報ＤＢ（１０９）には、現在インストールされているアプリの名前と、そのアプリからの印刷を推奨するデータタイプと、アプリケーションの紹介の表示を行うかどうかを示す説明表示フラグと、アンインストールを行うためのアンインストーラの保存場所と、かつてアンインストールが行われた事があるかどうかを示すアンインストールフラグと、アプリの紹介を行うための紹介文が保存される。
【００４９】
なお、説明表示フラグは１ならば表示を行う、０ならば表示を行わない事を示し、アンインストールフラグは、０ならばアンインストールされた事が無い、０以外ならばアンインストールされた事がある事を示す。
【００５０】
図１２は、データタイプ別印刷履歴を示す。これは、データタイプ毎に何回印刷が行われたかと、さらにそのデータタイプがどのアプリから何回印刷が行われたかを表にしたものである。例えば、データタイムＷｅｂのデータ（例えばＨＴＭＬやＸＭＬデータ）を簡単ウェブ印刷というアプリケーションで１５回、推奨アプリ意外で５回印刷したことを示す。写真のデータタイプは簡単写真印刷というアプリにより印刷実行された印刷回数は０回で、推奨アプリ以外では５０回印刷されたことを示す。
【００５１】
図１３は、印刷特徴変換テーブルを示す。これは、プリンタドライバ内の印刷データの特徴抽出の結果から、その印刷データのデータタイプを割り出すための情報を示すものである。ここでこのテーブルは、ファイルの拡張子と印刷用紙のサイズと印刷用紙の種類から、データタイプが一意に決まるテーブルとしている。
【００５２】
ここで、図２を参照して第一の実施形態における、統合アプリケーションインストーラ（１０８）（以下統合インストーラ）によるアプリケーションソフトウェア（１０１）（以下アプリ）のインストール処理を示す。ここで、この処理は、複数のアプリをインストールする統合インストーラが、インストールするアプリを決める判断処理と、インストールしようとするアプリの登録に必要な情報を持ち、アプリのインストールに成功したら、その情報をアプリケーション情報ＤＢ（１０９）へ登録する機能を持つ。
【００５３】
ステップＳ２０１では、ユーザからのインストール指示を認識する。Ｓ２０２では、統合アプリケーションインストーラ（１０８）が推奨するアプリケーションを全てインストールする、おまかせインストールモードをユーザが選択指示したのか、インストールするアプリを選ぶ事ができるカスタムインストールモードを選択指示したのかを判定する。
【００５４】
次のステップＳ２０２の判断処理で、おまかせインストールが選択されたと判断された場合は、ステップＳ２０３に進む。Ｓ２０３では、インストールを推奨するアプリケーションのリスト（以下インストール推奨アプリリスト）を作成する。Ｓ２０２でカスタムインストール処理が選択されたと判断されれば、Ｓ２０５へ進む。
【００５５】
Ｓ２０４では、アプリケーション情報ＤＢより、先ほど作成したインストール推奨アプリリストから、インストールを行わないほうがよいアプリケーションを探し出し、インストール推奨アプリリストから削除し、実際にインストールを行うアプリケーションのリスト（以下インストールアプリリスト）を作成する。
【００５６】
また、Ｓ２０５では、カスタムインストールに応じたインストール推奨アプリリストを作成する。次のＳ２０６では、アプリケーション情報ＤＢより、先ほど作成したインストール推奨アプリリストから、インストールを行わないほうがよいアプリケーションを探し出し、インストール推奨アプリリストから削除し、インストールアプリリストとする。さらに次のステップＳ２０７では、ユーザにインストールする事ができるアプリケーションの提示を行うとともに、インストールするアプリケーションの選択を行わせ、インストールアプリリストを更新する。
【００５７】
ステップＳ２０８に示されるループＡでは、ステップＳ２０４とステップＳ２０７の結果得られたインストールアプリケーションリストの全てのアプリについて、繰り返し、以下の処理を行う。ステップＳ２０９では、該当するアプリのインストーラを起動し、そのインストール結果を取得する。ステップＳ２１０では、インストーラから返された結果を参照し、もし失敗した場合は次のアプリについての処理に進む。もしインストールに成功していた場合には、アプリケーション情報ＤＢ（１０９）があるかどうかをステップＳ２１１にて調べる。もしアプリケーション情報ＤＢがすでに存在する場合はステップＳ２１３にてアプリケーション情報ＤＢへの登録を行う。もしアプリケーション情報ＤＢが無い場合にはステップＳ２１２にてアプリケーション情報ＤＢをコンピュータシステム上に作成してステップＳ２１３にて情報の登録を行う。ここで、アプリケーション情報ＤＢに保存される情報は、前述の図１１のようになる。
【００５８】
全てのアプリのインストールが終わったら統合インストーラの処理は終了となる。
【００５９】
ここで、図３を参照して第一の実施形態における、インストール推奨アプリリストからの非インストールアプリの削除処理の流れ図を示す。この処理は、統合アプリケーションインストーラ（１０８）から呼び出される処理であり、統合インストーラにおいて作成されたインストール推奨アプリリストから、非インストールアプリの情報を削除する処理である。
【００６０】
ステップＳ７０１では、統合アプリケーションインストーラ（１０８）より、インストール推奨アプリリストを取得する。次にステップＳ７０２にてアプリケーション情報ＤＢ（１０９）が存在するかどうかを調べる。アプリケーション情報ＤＢ（１０９）が存在しないようであれば、初めて本発明の印刷システムを導入するコンピュータシステムであると判定し、非推奨アプリ判断処理を終了する。
【００６１】
もし、アプリケーション情報ＤＢ（１０９）が存在する場合は、ステップＳ７０３にすすみ、ステップＳ７０１で取得したインストール推奨アプリリストの全てのアプリについて以下の処理を繰り返し行う。
【００６２】
ステップＳ７０４ではアプリケーション情報ＤＢ（１０９）内に、該当アプリの情報があるかどうかを調べる。もし情報が無い場合は次のアプリについて処理を続ける。
【００６３】
もし推奨アプリケーションの情報がアプリケーション情報ＤＢ（１０９）上に見つかった場合には、ステップＳ７０５に進み、そのアプリケーションソフトウェアのアンインストールフラグを見る。アンインストールフラグがゼロと判断した場合は次のアプリケーションソフトウェアについて処理をつづける。
【００６４】
もし、該当アプリケーションソフトウェアのアンインストールフラグが０で無いと判断した場合は、以前アンインストールを行った事があるアプリケーションであると判断される。よって、今回のインストールでは新たなインストールは実行しないと判断し、ステップＳ７０６に進み、インストール推奨アプリリストから、該当アプリケーションを外す。以上の処理を、全てのインストール推奨アプリリストについておこなったのち、その結果作成されたリストを、インストールアプリリストとして統合インストーラに戻し、非推奨アプリ判断処理を終了する。
【００６５】
ここで、図４を参照して第一の実施形態における、アプリケーションソフトウェア（１０１）による印刷処理を示す。この処理では、後の処理でプリンタドライバがどのアプリから印刷が行われたのかを判別するため、ドキュメント名に拡張子付ファイル名とアプリ名を埋め込む。
【００６６】
ステップＳ３０１では、印刷を行う前に印刷設定処理を行う。ステップＳ３０２では現在開いているドキュメントの拡張子付ファイル名を取得し、ステップＳ３０３では、アプリケーションの名前を取得する。ステップＳ３０４では拡張子付ファイル名とアプリケーションの名前を組み合わせた文字列をドキュメント名として保存する。ステップＳ３０５では、ステップＳ３０４までに作成されたドキュメント名を用い、印刷処理を行う。
【００６７】
ここで、図５を参照して第一の実施形態における、プリンタドライバ（１０７）における印刷処理の始まりからアプリの紹介画面の表示までを示す。この処理の特徴は、プリンタドライバ（１０７）が印刷履歴を保存するとともに、その印刷履歴から、アプリの紹介画面を表示するかどうかを判断し、アプリの紹介プログラムを呼び出すところにある。
【００６８】
まず、プリンタドライバ（１０７）はＯＳ（１０２）から呼び出されると、ステップＳ４０１にて印刷ジョブの初期化処理を行う、その際、出力用紙サイズ（Ａ４，Ｌ判など）や出力用紙の種類（普通紙、光沢紙など）といった印刷設定を保存しておく。この印刷設定は、後のステップＳ４０７にて使用する。さらに、ステップＳ４０２で印刷ジョブに含まれるドキュメント名からアプリケーション名とファイル名を取り出し、保存しておく。その後ステップＳ４０３では、プリントデータの作成を行い、ステップＳ４０４にてプリンタ（２０６）へのプリントデータの送信を行う。次に、ステップＳ４０５では、ステップＳ４０２でアプリケーション名が取得できていたかどうかを判定し、アプリケーション名が取得できなかった場合は、ステップＳ４０６にてアプリケーション名を「推奨外アプリ」に設定する。
【００６９】
次にステップＳ４０７では印刷の特徴抽出を行い、その結果からステップＳ４０８にてデータタイプの判別を行う。ステップＳ４０９では、上記までに得られたファイル名・アプリケーション名・データタイプを元に、データタイプ別印刷履歴の印刷履歴ＤＢ（１１０）への保存を行う。データタイプ別印刷履歴は前述の図１２のようになる。印刷履歴ＤＢは、図１８のハードディスク１０に記憶され、各種プログラム群により読み書き可能である。
【００７０】
次にステップＳ４１０では、印刷履歴ＤＢ（１１０）の内容を呼び出す。ステップＳ４１１にて、Ｓ４０８で特定されたデータタイプ印刷が一定回数以上行われているかどうかを調べ、もし一定回数以上行われているデータタイプの場合はプリンタドライバの処理を終了する。もし一定回数以上行われているデータタイプの場合はステップＳ４１２にてそのデータタイプが、そのデータタイプを印刷するのに推奨される推奨アプリケーションから印刷された事があるかどうかの判定を行う。もし、推奨アプリケーションから印刷された事があるならば、プリンタドライバの処理を終了する。
【００７１】
もし、推奨アプリケーションから印刷された事が無い場合は、ステップＳ４１３にてアプリケーション情報ＤＢ（１０９）よりアプリケーション情報の呼び出しを行う。そして、次のステップＳ４１４にてアプリケーション紹介プログラム（１１１）を起動し、アプリケーション情報を渡す。その後、プリンタドライバ（１０７）の処理は終了する。
【００７２】
例えば、図１２に示す状況にて、写真印刷を行った場合を例に取る。
【００７３】
Ｓ４１２のチェックまで進むと、写真印刷の推奨アプリケーションは、「簡単写真印刷」であるが、「簡単写真印刷」アプリケーションからは印刷された事が無い事が分かる。その場合はＳ４１３へ進む。
【００７４】
Ｓ４１３では、アプリケーション情報ＤＢ（１０９）から「簡単写真印刷」の紹介文を呼び出す。
【００７５】
その後Ｓ４１４へ進み、Ｓ４１３で呼び出された紹介文を表示する。
【００７６】
さらに例をあげると、図１２に示す状況にて、ＷＥＢ印刷を行った場合は、推奨アプリケーションである簡単Ｗｅｂ印刷が１５回使用されているため（Ｓ４１２−ＹＥＳ）、処理を終了する。
【００７７】
なお、ここで言う「写真」「Ｗｅｂ」などといったのデータのタイプは、Ｓ４０７の特徴抽出処理によって得られた結果を元にＳ４０８にて印刷特徴変換テーブルを参照する事で決定される。
【００７８】
ここで、Ｓ４０７の図６を参照して、第一の実施形態における、プリンタドライバ（１０７）で行われる印刷特徴抽出処理の流れを示す。この処理の特徴はファイル名から拡張子を、印刷設定情報から印刷用紙サイズと印刷用紙の種類を取り出す事を特徴とする。
【００７９】
こうして取り出された「拡張子」「印刷用紙サイズ」「印刷用紙の種類」などを、印刷特徴データとする。
【００８０】
ステップＳ５０１では、プリンタドライバ（１０７）よりファイル名と印刷設定情報を受け取る。ステップＳ５０２では、ファイル名より拡張子を取得する。ステップＳ５０３で拡張子が取得できたかどうかを判定する。Ｓ５０３でもし拡張子が取得できていないと判定されたら、ステップＳ５０４にて拡張子が取得できなかった事を意味する「−」を拡張子として設定し、Ｓ５０５へすすむ。Ｓ５０３で拡張子が取得出来ていると判定されれば、そのままＳ５０５へ進む。ステップＳ５０５では、印刷設定情報の中から出力用紙サイズと出力用紙の種類を取得する。ステップＳ５０６では「拡張子」と「出力用紙サイズ」と「出力用紙の種類」を印刷特徴データとしてプリンタドライバに返す。
【００８１】
ここで、図７を参照して第一の実施形態における、プリンタドライバ（１０７）で行われるデータタイプ判別処理の流れを示す。ここで、第一実施形態の特徴は、印刷特徴データである「拡張子」と「出力用紙サイズ」と「出力用紙の種類」から、データタイプを判定する事のできる印刷特徴データ変換テーブルを持つ事、また、そのテーブルを使いデータタイプを決定する事を特徴とする。印刷特徴データ変換テーブルは前述の図１３のようになる。
【００８２】
図７について説明する。ステップＳ８０１では、プリンタドライバ（１０７）より印刷特徴データを取得する。その後、ステップＳ８０２で印刷特徴変換テーブルを読み込む。次に、ステップＳ８０３にて示すループにて、印刷特徴データ「拡張子」と「出力用紙サイズ」と「出力用紙の種類」のそれぞれの項目について以下の操作を行う。なお、操作の順番は「拡張子」、「出力用紙サイズ」、「出力用紙の種類」の順である。
【００８３】
まず、ステップＳ８０４では、テーブルの中の該当する項目が、複数行に分かれているかどうかを判別する。もし、該当する項目が一つしか無い場合は、その項目を選んだ事にし、選択ステップＳ８０３に戻り、次の項目について判断を行う。その行が複数行に分かれている場合は、ステップＳ８０５に進み、該当する項目の印刷特徴データを参照し、そのデータにマッチする行を選ぶ。次のステップＳ８０６では、ステップＳ８０５の結果、マッチする行があったかどうかを調べ、マッチする行が無かった場合、ステップＳ８０６の判断にてステップ８０７に進み、印刷特徴テーブルにて「その他」（表に載っていない拡張子、用紙サイズ、用紙の種類）を意味する「−」を選択し、次の項目に進む。マッチする行があった場合、その行を選択し、次の項目に進む。その後、拡張子、ＰＡＰＥＲＳＩＺＥ、ＭＥＤＩＡＴＹＰＥの項目のチェックが終わるまでステップＳ８０３のループを継続する。ステップＳ８０９では、ループＳ８０３の結果から、データタイプを決定し、プリンタドライバ（１０７）に結果を返す。そして、データタイプ判別処理を終了する。
【００８４】
例えば、拡張子が「ＪＰＧ」用紙サイズが「はがき」用紙の種類が「はがき」という印刷特徴データを、図１３の印刷特徴変換テーブルにかける場合は次のようになる。拡張子が「ＪＰＧ」なので、テーブルの拡張子の項目は「ＪＰＧ」が選ばれる。次に用紙サイズが「はがき」なので、ＰＡＰＥＲＳＩＺＥの項目は「はがき」が選ばれる。最後に印刷用紙の種類であるが、印刷用紙がはがきの場合はメディアサイズは選択肢が無いためＭＥＤＩＡＴＹＰＥの項目は「―」が選ばれる。その結果得られるデータタイプの項目は「はがき」である。
【００８５】
さらに例をあげると、拡張子が「ＪＰＧ」用紙サイズが「Ａ４」用紙の種類が「光沢紙」という印刷特徴データの場合、データタイプは「写真」になる。
【００８６】
ここで、図８を参照して第一の実施形態における、データタイプ別印刷履歴保存処理の流れを示す。
【００８７】
データタイプ別印刷履歴保存処理はプリンタドライバから呼び出され、データタイプ毎に印刷履歴を保存する。
【００８８】
ステップＳ９０１では印刷データのデータタイプと印刷が行われたアプリケーション名（以下印刷アプリ名）をプリンタドライバから取得する。次にステップＳ９０２にてアプリケーション情報ＤＢを呼び出す。ステップＳ９０３にて印刷アプリ名がアプリケーション情報ＤＢ内に存在するかどうかを調べる。Ｓ９０３で、印刷アプリ名がＤＢ内に存在しないと判定された場合はステップＳ９０４に進み、印刷アプリ名を「非推奨アプリケーション」とする。Ｓ９０３で印刷アプリ名が存在すると判定された場合はＳ９０５へ進む。
【００８９】
ステップＳ９０５にて印刷履歴ＤＢを呼び出す。そして、ステップＳ９０６で該当するデータタイプの総合印刷回数を＋１する。さらにステップＳ９０７にて該当するデータタイプが、今回の印刷アプリから印刷された回数を＋１し、データタイプ別印刷履歴保存処理を終了する。
【００９０】
ここで、図９を参照して第一の実施形態における、アプリケーション紹介ダイアログの表示処理における、アプリケーション紹介ダイアログの表示から、ユーザからのアンインストール命令を受け取り、削除処理を行う等の流れを示す。アプリケーション紹介ダイアログは前述の図１０のようになる。
【００９１】
ステップＳ６０１では、アプリケーション情報ＤＢ（２０９）を開き、ステップＳ６０２にて、アプリケーションの紹介文と、アプリケーションアンインストーラ（１１２）の保存場所と説明の表示を行うかどうかの説明表示フラグを読み込む。ステップＳ６０３にて、もし説明表示フラグが０である場合は、説明の表示を行わないので、そこでアプリケーション紹介ダイアログの表示処理を終了する。
【００９２】
もし、説明表示フラグが１である場合はステップＳ６０４にて、アプリケーション紹介ダイアログの表示を行う。次に、ステップＳ６０５でユーザがボタンを押した事を判定する。
【００９３】
Ｓ６０５でＯＫボタンが押されたことを判定すれば、Ｓ６１１へ進み、アプリケーション紹介ダイアログを閉じる。Ｓ６０５で図１０のアンインストールボタン１００１が押されたことを判定すれば、Ｓ６０６へ進む。Ｓ６０５で図１０の起動ボタン１００２が押された場合、Ｓ６１２へ進み、推奨アプリケーションを起動する。そのアプリケーションを使い印刷処理を行えば、よりよい印刷結果を得ることが出来る。例えば、ユーザが最終的に１０枚の写真を印刷する時、ある適当なアプリからまず１枚目の印刷を行う。１枚目の印刷終了後、その印刷しようとしたデータに適したアプリケーションが紹介される。そしてユーザがその紹介を受け入れた場合、推奨アプリケーションが起動される。その後、残りの９枚の印刷をその推奨アプリケーションで行うことができる。
【００９４】
もちろん、推奨アプリケーションが複数ある実施形態も考えられ、優先度に応じて複数のアプリケーションを同時に表示させることも出来る。
【００９５】
ステップＳ６０６ステップでは、Ｓ６０２で受け取った、アプリケーションアンインストーラ（１１２）の保存場所より、該当アンインストーラを呼び出し、その結果を受け取る。
【００９６】
ステップＳ６０７アンインストールが成功したかどうかを調べ、もしアンインストールに成功した場合はステップＳ６０８にてアプリケーション情報ＤＢ（１０９）の中の、該当アプリケーションのアンインストールフラグを１に設定する。次に、印刷表示フラグを０に設定する。もし、アンインストールに失敗していた場合、ステップＳ６１０にてエラーダイアログを表示し、ステップＳ６１１にてアプリケーション紹介ダイアログを閉じ、処理を終了する。
【００９７】
ここで、図１７を参照して第一の実施形態における、アプリケーション紹介ダイアログの表示処理における、アプリケーション紹介ダイアログの表示から、ユーザがＯＫボタンを推し、ダイアログを閉じるまでの処理を示す。アプリケーション紹介ダイアログは前述の図１０のようになる。
【００９８】
ステップＳ１７０１では、アプリケーション情報ＤＢ（２０９）を開き、ステップＳ１７０２にて、アプリケーションの紹介文と、アプリケーションアンインストーラ（１１２）の保存場所と説明の表示を行うかどうかの説明表示フラグを読み込む。ステップＳ１７０３にて、もし説明表示フラグが０である場合は、説明の表示を行わないので、そこでアプリケーション紹介ダイアログの表示処理を終了する。
【００９９】
もし、説明表示フラグが１である場合はステップＳ１７０４にて、アプリケーション紹介ダイアログの表示を行う。次に、ステップＳ１７０５にてユーザがＯＫボタンを押した事を受け取ると、次のステップＳ１７０６でダイアログ上にあった「二度と表示しない」チェックボックスがＯＮになっている事を調べる。もし二度と表示しないに設定されていたら、ステップＳ１７０７にて印刷表示フラグを０に設定する。Ｓ１７０６で、チェックボックスが二度と表示しないに設定されていなかったら、何もしない。
【０１００】
その後、ステップＳ１７０８にてアプリケーション紹介ダイアログを閉じ、処理を終了する。
【０１０１】
なお、本実施形態では、印刷特徴として扱われていたのは、ファイルの拡張子と、印刷用紙サイズと、印刷用紙の種類の三つであるが、これは印刷品質や画像にかけられた画像処理などのその他の印刷設定を印刷特徴として採用してよい。
【０１０２】
また、本実施形態では複数のインストーラを管理する統合インストーラが、アプリケーション情報ＤＢへ情報の登録を行っていたが、それぞれのアプリのインストーラや、アプリケーションの存在を管理する常駐プログラムを設け、常駐プログラムがアプリケーション情報ＤＢへの情報の登録を行っても良い。
【０１０３】
さらに、本実施形態では、プリンタドライバがプリンタへの印刷命令を送った後にアプリケーションの紹介を行っていたが、これはアプリケーションから印刷命令が発行されてから、プリンタへの印刷命令の送信が行われるまでの間にアプリケーションの紹介を行っても良い。
【０１０４】
（第二実施形態）
第二実施形態は、一つのデータタイプに推奨される印刷用アプリが複数ある場いいの実装形式である。
【０１０５】
第二実施形態の特徴は、アプリケーション情報ＤＢに保存される情報に、どのデータタイプの印刷に適しているかと、その印刷に対する優先度が設定されている事である。さらにプリンタドライバが紹介するアプリケーションを決定する際に、その優先を用い、実際に紹介を行うアプリケーションを決める事にある。その他のモジュール構成・アプリケーションインストーラ・アプリケーションソフトウェア、アプリケーション紹介ダイアログの動き、データタイプ別印刷履歴と印刷特徴変換テーブルは同じである。
【０１０６】
以下、図１４から図１６を参照して本願実施形態における印刷処理の流れを説明する。
【０１０７】
図１４は、この第二実施形態のプリンタドライバにおける印刷処理を示す。ここでは、印刷処理を行ったのち、その印刷履歴を残すとともにアプリケーションの紹介を行うかどうかの判定手段を呼び出し、もしアプリケーションの紹介を行うようであれば、アプリケーション紹介プログラム（１１１）を呼び出す流れを示している。
【０１０８】
図１５は、紹介するアプリケーションを決定する紹介アプリ決定処理の流れ図を示す。この処理はプリンタドライバから呼び出され、印刷履歴ＤＢの内容と、アプリケーション情報ＤＢの情報から、紹介を行うアプリケーションの決定を行う。
【０１０９】
図１６は、本実施形態におけるアプリケーション情報ＤＢに保存する情報を示す。
【０１１０】
ここで、第二実施形態の特徴は、そのアプリケーションの推奨データタイプに対し、その優先順位が設けられているところである。なお、優先順位は５の方がより推奨され、０では推奨されない。優先度は予め設定可能であるがこのテーブルをユーザが変更することにより適宜修正可能である。
【０１１１】
ここで、図１４を参照して第一の実施形態における、プリンタドライバ（１０７）における印刷処理の始まりからアプリの紹介画面の表示までを示す。
【０１１２】
まず、プリンタドライバ（１０７）はＯＳ（１０２）から呼び出されると、ステップＳ１４０１にて印刷ジョブの初期化処理を行う、その際、出力用紙サイズ（Ａ４，Ｌ判など）や出力用紙の種類（普通紙、光沢紙など）といった印刷設定を保存しておく。この印刷設定は、後のステップＳ１４０７にて使用する。さらに、ステップＳ１４０２で印刷ジョブに含まれるドキュメント名からアプリケーション名とファイル名を取り出し、保存しておく。その後ステップＳ１４０３では、プリントデータの作成を行い、ステップＳ１４０４にてプリンタ（２０６）へのプリントデータの送信を行う。次に、ステップＳ１４０５では、ステップＳ１４０２にてアプリケーション名が取得できていたかどうかを判定し、アプリケーション名が取得できなかった場合は、ステップＳ１４０６にてアプリケーション名を「推奨外アプリ」に設定する。
【０１１３】
次にステップＳ１４０７では印刷の特徴抽出を行い、その結果からステップＳ１４０８にてデータタイプの判別を行う。ステップＳ１４０９では、上記までに得られたファイル名・アプリケーション名・データタイプを元に、データタイプ別印刷履歴の印刷履歴ＤＢ（１１０）への保存を行う。データタイプ別印刷履歴は前述の図１２のようになる。
【０１１４】
次にステップＳ１４１０では、紹介を行うアプリを得るための紹介アプリケーション決定処理を呼び出し、その結果を受け取る。次のステップＳ１４１１では、ステップＳ１４１０の結果紹介を行うアプリケーションが存在したかどうかを判断し、もし紹介するアプリケーションが無い場合はプリンタドライバの処理を終了する。もし、紹介を行うアプリケーションが見つかった場合は、ステップＳ１４１２にてアプリケーション情報ＤＢ（１０９）よりアプリケーション情報の呼び出しを行う。ステップＳ１４１３にてアプリケーション紹介プログラム（１１１）を起動し、アプリケーション情報を渡す。その後、プリンタドライバ（１０７）の処理は終了する。
【０１１５】
ここで、図１５を参照して第二の実施形態における、プリンタドライバ（１０７）から呼び出される紹介アプリケーション決定処理の流れを示す。ここで、第二実施形態の特徴は、印刷用アプリが複数個存在する場合、優先順位の高い順に紹介を行うかどうかを判断していき、その場面で紹介するのが最も適していると判断されたアプリの紹介を行うところにある。アプリケーション情報ＤＢは前述の図１６のようになる。
【０１１６】
ステップＳ１５０１では、印刷履歴ＤＢ（１１０）を読み込む。次にＳ１５０２にて一定回数以上印刷が行われているデータタイプがあるかどうかを調べる。もし、そのようなデータタイプが無い場合は、ステップＳ１５１２に進む。Ｓ１５１２では、紹介すべきアプリは無い事を呼び出し元に戻し、処理を終了する。ステップＳ１５０２にて、一定回数以上印刷を行っているデータタイプが見つかった場合はステップＳ１５０３に進む。
【０１１７】
Ｓ１５０３で、もし該当データタイプの印刷に推奨される印刷用アプリが複数あると判断された場合は、場合は、ステップＳ１５０４に進む。ステップＳ１５０４では、該当データタイプの印刷に推奨される印刷用アプリを、優先度順にリストにする（以下推奨度順印刷アプリリスト）。そして、Ｓ１５０７に進む。
【０１１８】
次のステップＳ１５０７以降では、推奨度順印刷アプリリスト内の印刷アプリのそれぞれについて、Ｓ１５０８の判断を行う。判断は推奨度の高い順に行っていく。全ての印刷アプリについて判断処理が終了したら、Ｓ１５０６に進む。
【０１１９】
Ｓ１５０８の判断文では、Ｓ１４０９で更新された印刷履歴ＤＢ（１１０）を参照し、特定データタイプの印刷が、現在調べている印刷アプリで行なわれたことがあるか否かを判定する。そのアプリから印刷が行なわれたことがあると判定された場合は次の印刷アプリについて調べる。そのアプリから印刷が行なわれたことがないと判定された場合には、Ｓ１５０９にて、そのアプリを紹介候補として記憶する。この処理を全ての印刷用アプリについて行う。なお、Ｓ１５０８の判断は、印刷が全く行なわれたことが無いかあるか（０回か１回以上か）の判断処理を行なうだけでなく、印刷が予め設定されたＮ回以上（Ｎは、１以上の整数とする）行なわれた場合にＹＥＳと判断し、設定されたＮ回数以上印刷が行なわれていない場合には、ＮＯと判断してもよい。
【０１２０】
Ｓ１５０６では、Ｓ１５０９で紹介候補とするアプリが記憶されているかを判定する。紹介候補とするアプリが一つも無い場合、Ｓ１５１１へ進む。Ｓ１５０６で紹介を行なうアプリがないと判定された場合には、Ｓ１５１２へ進み、紹介すべきアプリは無い旨を呼び出し元に返信する。
【０１２１】
Ｓ１５１１では、Ｓ１５０９にて、紹介候補として登録されたアプリケーションの情報を呼び出し元に返信する。
【０１２２】
もしステップＳ１５０３にて該当データタイプに推奨される印刷用アプリが複数はない事がわかった場合、ステップＳ１５０５に進む。ステップＳ１５０５では該当データタイプに推奨される印刷用アプリが一つだけあり、かつ、そのアプリから印刷処理が行われた事が無いかどうかを調べる。もし、そのアプリから印刷が行われた事が無い場合には、Ｓ１５１２へ進む。また、推奨する印刷用アプリが一つも無い場合にもＳ１５１２へ進む。それ以外の場合には、Ｓ１５０６へ進む。Ｓ１５１２では紹介すべきアプリが無い旨を呼び出し元に返信し、処理を終了する。なお、Ｓ１５０６の判断では、印刷が全く行なわれたことが無いかあるか（０回か１回以上か）の判断処理を行なうだけでなく、印刷が予め設定されたＮ回以上（Ｎは、１以上の整数とする）行なわれたかどうかを判断しても良い。
【０１２３】
なお、本実施形態においては、アプリケーションの紹介文についてのみ記載されているが、推奨ソフトウェアの紹介を行うための画像、動画を保存しておいて、それを紹介に利用するような実施形態も考えられる。また、本実施形態においては、ソフトウェアの削除履歴をプリンタドライバが持ち、それを印刷実行時に利用していた。しかし、この削除履歴はプリンタドライバとは別アプリケーションとして、削除履歴保存データベースを持ち、それと他のアプリケーションとの連携も考えられる。例えば、削除履歴保存データベースをコンピュータ上にインストールしておき、そこに一度インストールされたが、削除されてしまったアプリケーションの情報を書き込んでおく。ここで、複数のソフトウェアをインストールする統合インストーラにおいては、その削除履歴保存データベースを参照する事で、一度削除された事のあるアプリケーションはインストールしないという実施形態が考えられる。さらには、前記統合インストーラにおいて、類似した機能を持つアプリケーションが複数ある時に、前記削除履歴保存データベースの情報を、どのアプリケーションをインストールするかという判断に利用する実施形態も考えられる。
【０１２４】
また、本実施例は複数の印刷用アプリケーションがある場合に、どのアプリケーションの紹介を行うかを自動的に判断して、そのアプリケーションの紹介のみを表示していたが、これは複数のアプリケーションの紹介を一度に行っても良い。例えば、あるデータタイプの印刷に対して、なんらかのアプリケーションの紹介を行った方が良いと判断された時、図１１に示すようなアプリケーションのリストを表示し、ユーザーにその選択を行わせても良い。ここで、このリストに表示するアプリケーションは、そのアプリケーションの使用数が０回、もしくはＮ回未満の時のみ表示するようにしても良い。
【０１２５】
また、前記の例において、表示された複数のソフトウェアのうち、ユーザが絶対に使わないと判断したソフトウェアをアンインストールさせる機能を実装してもよい。
【０１２６】
また、前記の例において、表示された複数のソフトウェアのうち、自分がすでに詳細を理解しているアプリケーションにおいては、紹介リストには二度と表示しないように設定機能を実装してもよい。
【０１２７】
印刷履歴情報として、印刷対象となったデータの種別を示す情報（例えば、印刷元アプリの拡張子）、又は、出力用紙サイズ情報（Ａ４，ＣＤ−Ｒ等）、又は、出力される記録媒体のメディアタイプ情報（例えば、光沢紙、プリンタブルＣＤ−Ｒ等）、印刷用途情報（たとえば、Ｗｅｂ，写真、はがき等）とが含まれる。
【０１２８】
印刷対象となったデータの種別を示す情報（例えば、印刷元アプリの拡張子であるＪＰＧ）が、特定のデータタイプ（写真印刷）を示しているとき、当該写真印刷の印刷に適したアプリケーションの一例である簡単写真印刷アプリケーションを特定する。
【０１２９】
また、当該簡単写真印刷アプリケーションが使用されているか否かを別途取得した印刷履歴情報情報を用いて判定する。当該簡単写真印刷アプリケーションがされていないと判定した場合、画像の印刷に適したアプリケーションが使用されていないというメッセージ及び、使用推奨画面を前記表示手段が表示してもよい。
【０１３０】
また、出力される媒体のメディアタイプ情報が円盤状の記録媒体の一例であるＣＤ−Ｒメディアであるとき、当該円盤状の記録媒体に適したソフトウェアの一例である簡単ＣＤプリントを推奨アプリケーションとして表示してもよい。
【０１３１】
また、出力される媒体のメディアタイプ情報が光沢紙、又は、はがきであることを示している場合、写真印刷に適したソフトウェアを推奨ソフトウェアとして表示してもよい。
【０１３２】
データタイプは、写真、ウェブ、はがき、ＣＤ−Ｒの少なくともひとつであってもよい。
【０１３３】
本実施形態によれば、ある程度印刷に慣れた段階で、ユーザがある種類の印刷を行った時に、それにもっとも適したアプリケーションの紹介を行う事によりユーザにそのアプリケーションの価値をより強く認識させ、ユーザに便利な印刷方法を促す事ができるようになる。
【０１３４】
また、本実施形態によれば、前述のようにユーザの判断能力が上がった状態でアプリケーションの削除を行うかどうかの判断を行わせる事により、必要なアプリケーションを削除してしまう事なく、不必要なアプリケーションの削除を行い、コンピュータシステムの記憶容量の節約を行う事ができる。
【０１３５】
（他の実施形態）
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、それぞれの装置より遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【０１３６】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１３８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
以上説明したように、本実施例によれば、印刷履歴情報を活用して、適切な印刷又は画像処理ソフトウェアを有効利用させることができる。
【図面の簡単な説明】
【０１４０】
【図１】この発明の第一の実施形態のモジュール構成図を示す。
【図２】この発明の第一の実施形態のアプリケーションインストーラの処理の流れ図を示す。
【図３】この発明の第一の実施形態のアプリケーションインストーラに呼び出される非インストールアプリ判断処理の流れ図を示す。
【図４】この発明の第一の実施形態のアプリケーションソフトウェアからの印刷処理の流れ図を示す。
【図５】この発明の第一の実施形態のプリンタドライバにおける印刷処理の流れ図を示す。
【図６】この発明の第一の実施形態のプリンタドライバに呼び出される印刷特徴抽出処理の流れ図を示す。
【図７】この発明の第一の実施形態のプリンタドライバに呼び出されるデータタイプ判別処理の流れ図を示す。
【図８】この発明の実施形態のプリンタドライバに呼び出されるデータタイプ別印刷履歴保存処理の流れ図を示す。
【図９】この発明の実施形態の一例を示す図である。
【図１０】この発明の実施形態のアプリケーションソフトウェア紹介画面例を示す。
【図１１】この発明の実施形態のアプリケーション情報の例を示す。
【図１２】この発明の実施形態のデータタイプ別の印刷履歴判別処理を示す。
【図１３】この発明の実施形態の印刷特徴変換テーブルを示す。
【図１４】この発明の実施形態のプリンタドライバにおける印刷処理の流れ図を示す。
【図１５】この発明の実施形態のソフト紹介処理の一例を示す図である。
【図１６】この発明の実施形態のアプリケーション情報例を示す。
【図１７】この発明の実施形態のソフト紹介処理の一例を示す図である。
【図１８】実施形態のハード構成の一例を示す図である。
【図１】
0004834417.tif 000002
【図２】
0004834417.tif 000003
【図３】
0004834417.tif 000004
【図４】
0004834417.tif 000005
【図５】
0004834417.tif 000006
【図６】
0004834417.tif 000007
【図７】
0004834417.tif 000008
【図８】
0004834417.tif 000009
【図９】
0004834417.tif 000010
【図１０】
0004834417.tif 000011
【図１１】
0004834417.tif 000012
【図１２】
0004834417.tif 000013
【図１３】
0004834417.tif 000014
【図１４】
0004834417.tif 000015
【図１５】
0004834417.tif 000016
【図１６】
0004834417.tif 000017
【図１７】
0004834417.tif 000018
【図１８】
0004834417.tif 000019