JP7484356B2 - プログラム - Google Patents

プログラム Download PDF

Info

Publication number
JP7484356B2
JP7484356B2 JP2020069066A JP2020069066A JP7484356B2 JP 7484356 B2 JP7484356 B2 JP 7484356B2 JP 2020069066 A JP2020069066 A JP 2020069066A JP 2020069066 A JP2020069066 A JP 2020069066A JP 7484356 B2 JP7484356 B2 JP 7484356B2
Authority
JP
Japan
Prior art keywords
program
installation
version
different
target program
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.)
Active
Application number
JP2020069066A
Other languages
English (en)
Other versions
JP2021165939A (ja
Inventor
紀彦 浅井
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020069066A priority Critical patent/JP7484356B2/ja
Publication of JP2021165939A publication Critical patent/JP2021165939A/ja
Application granted granted Critical
Publication of JP7484356B2 publication Critical patent/JP7484356B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラムのインストールに用いるプログラムに関する。
プログラムのインストールに用いるプログラムに関する技術が知られている。例えば、特許文献1には、FAX装置を制御するFAXドライバをインストールするためのインストーラが開示されている。
特開2020-27358号公報
インストール済みのプログラムをアップデートする場合、アップデート後のプログラムの動作で不具合が生じる場合がある。
本明細書は、プログラムのインストールに用いるプログラムであって、インストールしたプログラムを適切に動作させる技術を開示する。
この課題の解決を目的としてなされたインストール用のプログラムは、情報処理装置のコンピュータに、インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、さらに前記コンピュータに、前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順である、ことを特徴としている。
本明細書に開示されるプログラムによれば、対象プログラムとバージョンが異なるバージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールすることなく対象プログラムをインストールする第1更新手順を回避する。第1更新手順を実行すると、インストール後の対象プログラムの動作で不具合が発生する可能性が高まる。本プログラムは、この第1更新手順を回避することから、インストール対象の対象プログラムの動作で不具合が生じる可能性を低減でき、対象プログラムが適切に動作する可能性が高まる。
上記プログラムによって実現される制御方法、当該プログラムを実行する情報処理装置、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
本明細書に開示される技術によれば、プログラムのインストールに用いるプログラムであって、インストールしたプログラムを適切に動作させる技術が実現される。
実施の形態にかかるPCの概略構成図である。 セットアップ処理の手順を示すフローチャートである。 選択受付画面の例を示す説明図である。 最新メッセージの例を示す説明図である。 更新処理の手順を示すフローチャートである。 要アンインストールメッセージの例を示す説明図である。 セットアップ処理の手順を示すフローチャートである。 アンインストールメッセージの例を示す説明図である。
以下、プログラムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)にて実行されるプログラムを開示するものである。
本形態のPC1は、プリント機能とスキャン機能との少なくとも一方を有するデバイスと接続可能なものである。PC1は、接続されているデバイスに各種の機能を行わせるための各種のアプリケーションプログラム(以下、「アプリ」とする)を実行可能な装置である。本形態のPC1は、図1に示すように、例えば、複合機2と通信可能に接続され、これらを制御する。PC1は、情報処理装置の一例である。PC1に代えて、例えば、スマートフォン、タブレットコンピュータであっても良い。複合機2は、プリント機能とスキャン機能との両方の機能を有するデバイスである。
本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1等の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1等に存在する単一のハードウェアを表すとは限らない。
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12は、例えば、ROM、RAM、HDD、フラッシュメモリであり、PC1を起動するための起動プログラム等の各種のプログラムや、画像データ、文書データ、各種の設定情報等の各種のデータ、が記憶される記憶領域である。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。
メモリ12の一例は、PC1に内蔵されるHDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
ユーザIF13は、情報を画面に表示するハードウェアと、ユーザによる入力操作を受け付けるハードウェアと、を含む。ユーザIF13は、表示用のディスプレイと、キーボード、マウス等との組み合わせであっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。ユーザIF13は、出力インタフェースの一例と入力インタフェースの一例とを含む。
通信IF14は、複合機2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信方式は、有線でも無線でも良いし、イーサネット(登録商標)、Wi-Fi(登録商標)、Bluetooth(登録商標)、USB、LAN等、どのような規格の方式でもよい。また、通信IF14は、複数の方式の構成を含んでいても良い。
PC1のメモリ12には、図1に示すように、オペレーティングシステム(以下、「OS」とする)41と、プリンタドライバXU45、スキャナドライバXU46と、インストーラ47と、が組み込まれている。OS41は、例えば、Windows(登録商標)、macOS(登録商標)、iOS(登録商標)、Android(登録商標)、Linux(登録商標)である。
プリンタドライバは、プリント機能を有するデバイスと通信を行って、印刷のための動作を制御するプログラムである。本形態のプリンタドライバXU45は、モデルXの複合機2とUSBによる通信を行って印刷を行わせるためのプログラムである。プリンタドライバXU45は、印刷に関するパラメータの編集指示、例えば、印刷媒体としての用紙種類や用紙サイズの選択、印字品質の指定、給紙トレイや排紙トレイの選択、を受け付ける。プリンタドライバXU45が受け付ける印刷パラメータには、複数の項目が含まれる。
スキャナドライバは、スキャン機能を有するデバイスと通信を行って、原稿の画像の読取のための動作を制御するプログラムである。本形態のスキャナドライバXU46は、モデルXの複合機2とUSBによる通信を行って原稿の画像の読み取りを行わせるためのプログラムである。スキャナドライバXU46は、読み取りに関するパラメータの編集指示、例えば、原稿サイズの選択、カラー読取/モノクロ読取の選択、読取解像度の指定、を受け付ける。スキャナドライバXU46が受け付ける読取パラメータには、複数の項目が含まれる。
インストーラ47は、複合機2等のデバイスを制御するプリンタドライバやスキャナドライバを、PC1にインストールするために使用されるインストール用のプログラムである。プリンタドライバやスキャナドライバは、対応するデバイスのモデルや通信IFの種類ごとにそれぞれ異なるプログラムであり、機能の追加や不具合の解消のために適宜更新される。
例えば、PC1にインストール済みのプリンタドライバXU45やスキャナドライバXU46が更新された場合、更新後のプログラムのインストールを希望するユーザは、図1に示すように、PC1にインストーラ47を組み込んで、インストーラ47を実行させる。また、PC1と複合機2とをUSB以外の通信方法で接続して使用する場合も、異なるプログラムが必要となることから、インストーラ47を実行させる必要がある。インストーラ47は、例えば、複合機2のベンダによって管理されるサーバからダウンロードされて、PC1に組み込まれる。インストーラ47は、CD-ROMやDVD-ROM等から読み込まれても良い。
なお、本形態のインストーラ47は、例えば、デバイスのシリーズごとに用意されて配布される。デバイスの各シリーズには、複数のモデルのデバイスが含まれる場合がある。つまり、インストーラ47は、複数のモデルのデバイスにそれぞれ対応する複数のプログラムを含む場合がある。そのため、複合機2と同じシリーズの複合機をPC1に新たに接続する場合にも、PC1に同じインストーラ47が組み込まれる。
インストーラ47は、図1に示すように、デバイスのモデルや通信IFの種類ごとにそれぞれ異なる複数のセットアップファイルを含む。各セットアップファイルは、インストール対象のプログラムと、そのプログラムをインストールする際に使用されるインストール情報と、を含む。インストーラ47に含まれる各セットアップファイルには、プリント用又はスキャン用を示す機能と、デバイスのモデルと、通信の種類と、の少なくとも1つが異なる場合、異なる名称が付けられている。
本形態のインストーラ47は、例えば、図1に示すように、プリンタドライバXUのセットアップファイルであるプリントXUセット71と、スキャナドライバXUのセットアップファイルであるスキャンXUセット72と、を含む。プリントXUセット71は、プリンタドライバXU711と、プリンタドライバXU711をインストールする際に使用されるインストール情報712と、を含む。スキャンXUセット72は、スキャナドライバXU721と、スキャナドライバXU721をインストールする際に使用されるインストール情報722と、を含む。
本形態のインストーラ47は、さらに、複合機2とLANにて通信するためのプリンタドライバやスキャナドライバのセットアップファイルである、プリントXLセット73やスキャンXLセット74を含む。インストーラ47は、さらに、複合機2とは異なるモデルYの複合機用のプリンタドライバやスキャナドライバのセットアップファイルである、プリントYLセット75やスキャンYLセット76を含む。各セット73~76も、インストール対象のプログラムとインストール情報とを含む。インストーラ47は、さらに、複合機2等のデバイスの機能を利用するアプリやツールのプログラムをインストールするためのセットアップファイルを含んでも良い。
インストーラ47は、インストール対象のプログラムを含むセットアップファイルの指定を受け付け、受け付けたセットアップファイルに含まれるプログラムを、PC1にインストールする。各種のOS41のなかには、所定の形式のファイルとインストールの指示を受け取ることで、インストールのための処理を行う機能を有するものがある。そのようなOS41を使用するPC1では、インストーラ47は、セットアップファイルをOS41に渡して、OS41にインストールのための処理を実行させる。
OS41は、受け取ったセットアップファイルに含まれるインストール情報を用いて、セットアップファイルに含まれる対象プログラムをPC1にインストールし、インストールが完了したら、インストール完了をインストーラ47に通知する。また、OS41は、インストール済みのプログラムをアンインストールする機能も有し、アンインストールが完了したらアンインストール完了を通知する。セットアップファイルとしては、Windowsにて使用される「.msi」ファイルが該当する。
なお、セットアップファイルは、インストール対象のプログラムを含み、インストール情報を含まないものであっても良い。その場合、インストーラ47は、セットアップファイルと、そのセットアップファイルに対応するインストール情報とをOS41に渡すことで、OS41にインストールのための処理を実行させる。インストーラ47は、例えば、複合機2のベンダによって管理されるサーバからダウンロードすることでインストール情報を取得しても良い。また、インストーラ47は、ユーザ操作によって指定されたファイルを読み込んで、インストール情報を取得しても良い。
プリンタドライバやスキャナドライバは、適宜更新されることから、それぞれバージョン情報が付加されている。インストーラ47は、その配布時期などによって、異なるバージョンのプログラムを含む可能性がある。例えば、PC1にインストール済みのプリンタドライバXU45と、インストーラ47に含まれるプリントXUセット71のプリンタドライバXU711とは、名称が同じであってもバージョンが異なる可能性がある。なお、同じシルーズの異なるモデル用のプログラムや、同じモデルで通信IFの種類が異なるプログラムでは、一部のモジュールが共通の場合がある。共通のモジュールが更新された場合、そのモジュールを使用する全てのプログラムのバージョン情報が更新される。
インストーラ47は、OS41がWindowsであれば、OS41によって管理されるレジストリを参照することで、そのプログラムがPC1にインストール済みであるか否かの情報、および、インストール済みであればそのバージョン情報を取得できる。同じ名称で同じバージョンのプログラムは、全く同一のプログラムであり、同バージョンプログラムの一例である。一方、同じ名称であってバージョンの異なるプログラムは、一部が異なるプログラムであり、バージョン違いプログラムの一例である。また、名称の異なるプログラムは、多くの部分が異なる別プログラムである。
なお、プログラムの識別は、名称によるものに限らない。インストール済みのプログラムとインストール対象のプログラムとの対応関係が識別できれば良く、例えば、各プログラムに付与されるID番号によっても良い。
そして、バージョンの異なるプリンタドライバやスキャナドライバでは、使用するパラメータの形式が異なる場合がある。パラメータの形式が異なる場合、バージョンアップ前のプログラムで使用していたパラメータを残したまま、そのパラメータをバージョンアップ後のプログラムで使用すると、不具合が生じる可能性がある。例えば、ある項目のパラメータにて選択可能な選択肢の数が、バージョンアップによって変更される場合がある。パラメータの情報には、選択肢とその選択肢が選択された場合に適用される情報とが組み合わせて記憶されており、選択肢の数が変更されると使用する記憶領域の大きさが異なることから、他の項目のパラメータの情報が乱される可能性がある。そのため、既にインストール済みのプログラムに対して、バージョンの異なるプログラムを安易に上書きしてインストールすることは好ましくない。
しかし、例えば、OS41によるインストール機能を用いた場合、同じ名称のプログラムがPC1にインストール済みであれば、インストール対象として指定されたプログラムがインストール済みのプログラムに上書きしてインストールされる可能性がある。そのため、インストール済みのプログラムをアンインストールせずに、インストール対象のプログラムのインストールを行うと、インストール後のプログラムの動作で不具合が発生する可能性がある。
次に、インストーラ47によるセットアップ手順について、フローチャートを参照して説明する。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、PC1のOSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
以下、セットアップ処理の手順について、図2のフローチャートを参照して説明する。このセットアップ処理は、PC1にてインストーラ47が起動されたことを契機に、PC1のCPU11にて実行される。
セットアップ処理では、CPU11は、ユーザによる各種の選択を受け付けるための選択受付画面をユーザIF13に表示させる(S101)。そして、CPU11は、モデルの選択を受け付け(S102)、通信IF14の種類の選択を受け付け(S103)、機能の選択を受け付ける(S104)。S102~S104により、CPU11は、インストール対象のプログラムである対象プログラムを決定する。すなわち、CPU11は、インストール対象のプログラムを含むセットアップファイルを決定する。S102~S104は、プログラム選択処理の一例である。
S102にて受け付けるモデルの選択は、第2選択の一例であり、S102にて選択されたモデルのデバイスは、選択デバイスの一例である。また、S103にて受け付ける通信IF14の種類の選択は、第1選択の一例であり、S103にて選択された通信IF14の種類は、選択インタフェースの一例である。対象プログラムは、S103にて選択された通信IFを用いてS102にて選択されたモデルのデバイスと通信するためのプログラムである。
選択受付画面は、例えば、図3に示すように、モデル、通信IFの種類、機能、のそれぞれの選択を受け付ける各ラジオボタンと、OKボタン511とを含む選択受付画面51である。各ラジオボタンは、その項目の複数の選択肢のうちの1つの選択を受け付けるボタンである。CPU11は、選択受付画面51中のOKボタン511への操作を受け付けた場合、その時点で選択されている内容をユーザの選択として受け付ける。例えば、図3に示すように、モデルとして「モデルX」、通信IFの種類として「LAN」、機能として「プリント」が選択された状態でOKボタン511が操作された場合、CPU11は、プリントXLセット73(図1参照)をインストール対象のプログラムを含むセットアップファイルとして決定する。
プリンタドライバやスキャナドライバは、デバイスのモデルおよび通信IFの種類ごとに設けられる。本形態のインストーラ47は、複数のセットアップファイルを含み、その中からセットアップファイルの選択を受け付けて、選択されたセットアップファイルのインストールを実行するインストーラである。1つのセットアップファイルのみを含むインストーラであれば、インストール対象のプログラムごとに異なるインストーラをPC1に組み込む必要がある。本形態のインストーラ47は、複数のプログラムを選択的にインストール可能な1つのインストールパッケージとして提供されるので、そのようなユーザの手間を軽減できる。
なお、図3では、モデル、通信IFの種類、機能の全てを受け付ける1つの画面の例を示しているが、それぞれの項目ごとに異なる画面で順次受け付けても良い。また、ラジオボタンに限らず、複数のプログラムを選択可能に受け付ける画面であっても良い。例えば、各選択肢にチェックボックスを設け、複数の選択肢を選択する操作を受け付けても良い。複数の選択肢が選択された場合、CPU11は、複数のセットアップファイルをインストール対象として決定し、セットアップファイルごとに以後の処理(図2のS105~S113の処理)を実行する。例えば、モデルX、LAN、プリントとスキャン、が選択された場合、CPU11は、プリントXLセット73の処理を実行し、続けて、スキャンXLセット74の処理を実行する。
CPU11は、対象プログラムを決定した後、選択された対象プログラムがPC1にインストール済みであるか否かを判断する(S105)。S105は、インストール判断処理の一例である。S105では、CPU11は、選択された対象プログラムと同じ名称のプログラムがインストール済みであれば、バージョンの一致/不一致に関わらず、インストール済みであると判断する。CPU11は、例えば、OS41がWindowsであれば、レジストリを参照することで、S105の判断を行う。
対象プログラムがPC1にインストール済みではないと判断した場合(S105:NO)、つまり、バージョン違いプログラムも同バージョンプログラムもどちらもインストール済みではないと判断した場合、CPU11は、対象プログラムのインストールを行う(S106)。S106は、インストール処理の一例である。
例えば、図1の構成では、プリンタドライバXU45とスキャナドライバXU46がインストール済みであることから、プリントXUセット71やスキャンXUセット72が選択された場合には、CPU11は、S105にてインストール済みであると判断する。一方、対象プログラムとして、通信IF14の種類が異なるプリントXLセット73やスキャンXLセット74、または、モデルの異なる複合機用のプリントYLセット75やスキャンYLセット76、が選択された場合、CPU11は、S105にてインストール済みではないと判断する。新規のプログラムをインストールする場合には、インストールによる不具合が発生する可能性は低く、CPU11は、対象プログラムをインストールする。
OS41がインストール機能を有している場合、CPU11は、対象プログラムを含むセットアップファイルを取得し、取得したセットアップファイルをOS41に渡してインストールを指示する。OS41が対象プログラムのインストールを行うことで、インストールに必要なインストーラ47の処理がシンプルになる。
CPU11は、インストールが完了したら、完了を示すメッセージをユーザIF13に表示させて(S107)。OS41のインストール機能を利用した場合、CPU11は、OS41からインストール完了の通知を受け取った後、S107を行う。
一方、対象プログラムがPC1にインストール済みであると判断した場合(S105:YES)、CPU11は、インストール済みのプログラムと対象プログラムとのバージョンが同じであるか否かを判断する(S108)。対象プログラムのバージョン情報は、選択されたセットアップファイルから取得できる。取得したバージョン情報に基づいて、CPU11は、インストール済みのプログラムが、バージョン違いプログラムであるか、同バージョンプログラムであるか、を判断する。例えば、図1の構成で、対象プログラムとしてプリントXUセット71が選択され、プリンタドライバXU711とプリンタドライバXU45とのバージョンが一致している場合、CPU11は、同バージョンプログラムであると判断する。
同バージョンプログラムであると判断した場合(S108:YES)、CPU11は、インストールを実行せず、インストール済みのプログラムが最新であることを示す最新メッセージをユーザIF13に表示させる(S109)。最新メッセージは、例えば、図4に示すように、既に最新のプログラムがインストール済みであって、セットアップを終了させることを報知するメッセージ52である。メッセージ52は、対象プログラムのインストールをしないことを示す通知であり、S109は、通知処理の一例である。
S107またはS109の後、CPU11は、表示させたメッセージを終了させるユーザの操作を受け付けたか否かを判断する(S110)。そして、受け付けていないと判断した場合(S110:NO)、CPU11は、受け付けるまで待機する。受け付けたと判断した場合(S110:YES)、CPU11は、メッセージの表示を終了して、セットアップ処理を終了する。
CPU11は、例えば、図4に示すメッセージ52中のOKボタン521への操作を受け付けた場合、S110にてYESと判断する。同バージョンプログラムがインストール済みの場合には対象プログラムをインストールする必要が無い。単に、インストールしないことを通知することで、ユーザにインストールしていないことが伝わり、また、無駄な処理を行わずに済む。なお、CPU11は、メッセージの表示後、所定の時間が経過してもユーザの操作を受け付けなかった場合、セットアップ処理を終了させても良い。
インストール済みのプログラムと対象プログラムとのバージョンが同じではない、つまり、バージョン違いプログラムであると判断した場合(S108:NO)、CPU11は、更新処理を実行する(S111)。例えば、図1の構成で、インストール対象として、スキャンXUセット72が選択され、スキャナドライバXU721とスキャナドライバXU46とのバージョンが一致していない場合、CPU11は、バージョン違いプログラムであると判断する。更新処理は、インストール済みのバージョン違いプログラムを、対象プログラムによって更新する処理である。更新処理の手順について、図5のフローチャートを参照して説明する。
更新処理では、CPU11は、インストール済みのプログラムをアンインストールする必要があることを報知する要アンインストールメッセージをユーザIF13に表示させる(S201)。前述したように、バージョンアップによってパラメータの形式が変更されている可能性があり、その場合には、旧バージョンをアンインストールせずにインストールを行うことは好ましくない。要アンインストールメッセージは、インストール済みのバージョン違いプログラムをアンインストールする旨を示す通知の一例である。
要アンインストールメッセージは、例えば、図6に示すように、アンインストールを行ってセットアップを継続するか否かをユーザに問い合わせるメッセージ53である。CPU11は、例えば、図6に示すように、メッセージ53として、セットアップ中止ボタン531と、設定保持ボタン532と、設定初期化ボタン533とを表示させ、ユーザの選択を受け付ける。なお、単にアンインストールを行うと、インストール済みのプログラムで受け付けたユーザによる設定は、全て初期化される。そこで、CPU11は、メッセージ53にて、設定を初期化するか否かも合わせて問い合わせている。
そして、CPU11は、セットアップを中止する指示を受け付けたか否かを判断する(S202)。CPU11は、例えば、メッセージ53のセットアップ中止ボタン531への操作、セットアップ処理のウィンドウを閉じる操作、によって、セットアップを中止する指示を受け付ける。セットアップを中止する指示を受け付けたと判断した場合(S202:YES)、CPU11は、対象プログラムをインストールせずに、この更新処理および図2のセットアップ処理を終了させる。
この場合、OS41が対象プログラムのインストールを行う機能を有している場合でも、CPU11は、OS41にセットアップファイルを渡さない。セットアップファイルをOS41に渡さないことで、シンプルな処理で、インストール済みのプログラムをアンインストールせずに対象プログラムをインストールする手順を回避できる。
セットアップを中止する指示を受け付けていないと判断した場合(S202:NO)、CPU11は、クリーンインストールを行う指示を受け付けたか否かを判断する(S203)。S203は、インストール選択処理の一例である。クリーンインストールは、インストール済みのプログラムを単にアンインストールし、その後に対象プログラムをインストールする手順であり、ユーザによる設定は全て初期化される。例えば、メッセージ53の設定初期化ボタン533への操作を受け付けた場合、CPU11は、クリーンインストールを行う指示を受け付けたと判断する。
クリーンインストールを行う指示を受け付けたと判断した場合(S203:YES)、CPU11は、インストール済みのプログラムをアンインストールする(S204)。CPU11は、例えば、プログラムを指定してOS41にアンインストールの指示を渡す。そして、CPU11は、アンインストールに成功したか否かを判断する(S205)。CPU11は、例えば、OS41からアンインストールに成功したことを示す情報を受け取った場合、アンインストールに成功したと判断する。
アンインストールに成功したと判断した場合(S205:YES)、CPU11は、対象プログラムをインストールする(S206)。CPU11は、例えば、対象プログラムを含むセットアップファイルをOS41に渡してインストールを指示する。S204の後にS206を行う手順は、第2更新手順の一例であり、S204とS206とは、クリーンインストール処理の一例である。クリーンインストールの実行を選択できることで、ユーザが自らアンインストールする手間を省くことができる。
アンインストールに成功しなかったと判断した場合(S205:NO)、CPU11は、失敗を報知する(S207)。S206またはS207の後、CPU11は、更新処理を終了して、セットアップ処理に戻る。アンインストールに失敗してバージョン違いプログラムが残ったまま対象プログラムのインストールを指示すると、対象プログラムがバージョン違いプログラムに上書きされる可能性が高い。このようにすると、新たにインストールした対象プログラムの動作で不具合が発生する可能性が高まる。そこで、バージョン違いプログラムのアンインストールが確実に成功したことを契機に対象プログラムをインストールすることで、不具合が発生する可能性を低減できる。
一方、クリーンインストールを行う指示を受け付けていないと判断した場合(S203:NO)、つまり、メッセージ53の設定保持ボタン532への操作を受け付けたと判断した場合、CPU11は、インストール済みのプログラムのパラメータの形式を示す情報と、対象プログラムのパラメータの形式を示す情報とを取得する(S210)。
そして、CPU11は、S210にて取得した情報に基づいて、インストール済みのプログラムのパラメータの形式と対象プログラムのパラメータの形式とが、同じ形式であるか否かを判断する(S211)。CPU11は、例えば、選択されたインストール対象のプログラムにて使用されるパラメータの項目数や選択肢の数が、インストール済みのプログラムと同じであれば、パラメータの形式が同じであると判断する。パラメータの形式が同じであれば、インストール済みのプログラムにて使用されるパラメータを、設定されている選択肢を含めてそのままで、対象プログラムでも使用可能である。S211は、互換性判断処理の一例である。
パラメータの形式を示す情報として、CPU11は、例えば、バージョン情報の特定の桁の数値を取得する。例えば、インストール済みのプログラムのバージョン情報がバージョン1.1.0を示す情報である場合、CPU11は、対象プログラムのバージョン情報が、バージョン1.2.0を示す情報であればパラメータの形式は異なっており、バージョン1.1.1を示す情報であればパラメータの形式は同じであると判断する。この例では、バージョン情報の上から2つめの桁の数値が一致していれば、CPU11は、パラメータの形式は同じであると判断する。
パラメータの形式が同じではないと判断した場合(S211:NO)、CPU11は、インストール済みのプログラムが用いるパラメータを退避する(S212)。S212は、記憶処理の一例である。同じ形式ではない場合、インストール済みのプログラムが用いるパラメータは、第1形式のパラメータの一例であり、対象プログラムが用いるパラメータは、第2形式のパラメータの一例である。
S212では、具体的には、CPU11は、インストール済みのプログラムが用いるパラメータの項目と各項目に選択されている選択肢の情報とをメモリ12から読み出し、読み出した情報を、インストーラ47によって利用可能な領域であって、インストール済みのプログラムが利用する領域以外の領域に、記憶する。インストール済みのプログラムが利用する領域は、第1記憶領域の一例であり、インストーラ47によって利用可能な領域は、第2記憶領域の一例である。
パラメータを退避した後、CPU11は、インストール済みのプログラムをアンインストールする(S213)。S213は、アンインストール処理の一例である。CPU11は、例えば、OS41にアンインストールを指示する。そして、OS41からアンインストールに成功したことを示す情報を取得したか否かを判断する(S214)。
アンインストールに成功したと判断した場合(S214:YES)、CPU11は、対象プログラムをインストールする(S215)。S215は、再インストール処理の一例である。CPU11は、例えば、対象プログラムを含むセットアップファイルをOS41に渡してインストールを指示する。
さらに、CPU11は、S212にて退避したパラメータをインストールした対象プログラムのパラメータの形式に合わせて復元する(S216)。S216は、復元処理の一例である。CPU11は、退避したパラメータの各項目の値を、新たなパラメータの対応する項目の値として、インストールした対象プログラムが利用する領域に書き込む。インストールした対象プログラムが利用する領域は、第3記憶領域の一例である。インストールした対象プログラムが利用する領域は、アンインストールの前にインストール済みのプログラムが利用していた領域と同じ領域を含んでいても良いし、異なっていても良い。
なお、退避したパラメータと対象プログラムのパラメータとで形式が異なる場合には、CPU11は、形式を変換し、変換後のパラメータを書き込む。形式を変更して復元することで、対象プログラムが適切に動作する可能性が高まる。S212~S216の処理は、インストール済みのバージョン違いプログラムをアンインストールしてから、対象プログラムをインストールする処理であり、回避処理の一例である。
例えば、図1の構成で、対象プログラムとして、スキャンXUセット72が選択された場合、スキャナドライバXU46にて選択されていた読取パラメータが退避された後、記憶済みのスキャナドライバXU46が削除される。さらに、新たにスキャナドライバXU721がメモリ12に記憶された後、退避された読取パラメータが、新たに記憶されたスキャナドライバXU721の読取パラメータとして設定される。これにより、以前のプログラムにて使用していた設定が新バージョンのプログラムでも使用できる。
アンインストールに成功しなかったと判断した場合(S214:NO)、CPU11は、失敗を報知する(S217)。S216またはS217の後、S212にて退避したパラメータの情報を削除して(S218)、更新処理を終了し、セットアップ処理に戻る。
一方、インストール済みのプログラムのパラメータの形式と対象プログラムのパラメータの形式とが、同じ形式であると判断した場合(S211:YES)、CPU11は、インストール済みのプログラムをアンインストールすることなく、対象プログラムのインストールをOS41に指示する(S221)。S221は、アップデート処理の一例である。これにより、インストールされた対象プログラムは、インストール済みのプログラムに上書きされる。インストール済みのバージョン違いプログラムをアンインストールせずに、対象プログラムをインストールする手順は、第1更新手順の一例である。バージョンが異なってもパラメータに互換性が有る場合は上書きによるインストールを行っても不具合が生じ難いため、この手順を行うことで、アンインストールの手間を省くことができる。
インストールの後、CPU11は、プリントキューが追加されたか否かを判断する(S222)。対象プログラムがプリンタドライバであって、OS41にインストールを実行させた場合、指定されたデバイスと指定された通信IFの種類とに対応するプリントキューが生成され、OS41に登録される。アンインストールを行わずにインストールした場合、同じデバイスと同じ通信IFに対応する複数のプリントキューが生成されることになる。プリントキューは、デバイスキューの一例である。なお、OS41は、プリンタドライバをアンインストールした場合、対応するプリントキューを削除する。
プリントキューが追加されたと判断した場合(S222:YES)、CPU11は、新たに生成されたプリントキューを削除する(S223)。S223は、削除処理の一例である。重複した無駄なプリントキューを削除することでリソースの有効活用が図られる。S223の後、または、対象プログラムがプリンタドライバではない場合など、プリントキューが追加されていないと判断した場合(S222:NO)、CPU11は、更新処理を終了して、セットアップ処理に戻る。
図2のセットアップ処理の説明に戻る。CPU11は、S111の更新処理の後、更新処理にてインストールを実行したか否かを判断する(S112)。更新処理のS206、S215、S221のいずれかを実行した場合、CPU11は、対象プログラムのインストールを実行したと判断する。インストールを実行したと判断した場合(S112:YES)、CPU11は、更新メッセージをユーザIF13に表示させる(S113)。更新メッセージは、プログラムを最新バージョンに更新した旨を報知するメッセージである。
一方、更新処理にて、S202にてYESと判断した場合やアンインストールに成功しなかった場合には、CPU11は、インストールを実行しなかったと判断する。S113の後、または、インストールを実行しなかったと判断した場合(S112:NO)、CPU11は、セットアップ処理を終了する。
なお、インストーラ47は、アンインストールが必要であると判断した場合、アンインストールを行う代わりに、単にアンインストールが必要であることを報知するメッセージを表示して終了する構成であっても良い。そのようなインストーラ47によるセットアップ処理の手順について、図7のフローチャートを参照して説明する。このセットアップ処理は、PC1にてインストーラ47が起動されたことを契機に、PC1のCPU11にて実行される。図7では、図2と同じ手順については、同じ符号を付して説明を省略する。
図7に示すセットアップ処理では、CPU11は、図2の処理と同様に、選択受付画面をユーザIFに表示させて、ユーザの選択を受け付ける(S101~S104)。さらに、CPU11は、選択された対象プログラムがPC1にインストール済みであるか否かを判断し(S105)、インストール済みであると判断した場合(S105:YES)、バージョンが同じであるか否かを判断する(S108)。インストール済みでないと判断した場合(S105:NO)、または、バージョンが同じであると判断した場合(S108:YES)、CPU11は、図2と同じ手順を実行する(S106~S107、S109~S110)。
一方、バージョンが同じではないと判断した場合(S108:NO)、CPU11は、アンインストールメッセージをユーザIF13に表示させる(S301)。アンインストールメッセージは、例えば、図8に示すように、インストール済みのバージョン違いプログラムのアンインストールが必要であることを報知するメッセージ55である。メッセージ55には、OKボタン551が含まれる。
CPU11は、表示させたメッセージ55中のOKボタン551への操作を受け付けたか否かを判断する(S302)。そして、受け付けていないと判断した場合(S302:NO)、CPU11は、受け付けるまで待機する。受け付けたと判断した場合(S302:YES)、CPU11は、メッセージ55の表示を終了して、セットアップ処理を終了する。なお、CPU11は、メッセージの表示後、所定の時間が経過してもユーザの操作を受け付けなかった場合、セットアップ処理を終了させても良い。この場合、CPU11は、対象プログラムをインストールせず、また、更新処理を実行せず、このセットアップ処理を終了させる。なお、通知は、メッセージ表示の他、例えば音声ガイダンスであってもよい。
このようにしても、メッセージ55によってアンインストールが必要である旨を通知することで、インストール済みのバージョン違いプログラムについてユーザによるアンインストール操作が期待できる。ユーザは、例えば、都合の良いタイミングでインストール済みのプログラムをアンインストールして、再度インストーラ47を起動することができる。アンインストール後に実行されるセットアップ処理では、図7のS105にてNOと判断されることから、対象プログラムが適切にインストールされる。
以上、詳細に説明したように、本形態のインストーラ47によれば、対象プログラムとバージョンが異なるバージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールすることなく対象プログラムをインストールする手順を回避する。バージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールせずに対象プログラムをインストールすると、インストール後の対象プログラムの動作で不具合が発生する可能性が高まる。この手順を回避することで、インストール後の対象プログラムの動作で不具合が生じる可能性を低減できる。
さらに、本形態のインストーラ47では、複数の対象プログラムからインストールする対象プログラムを選択可能であり、さらに、デバイスのモデルや通信IFの種類の選択によって対象プログラムが決定されるので、対象プログラムを選択し易い。
また、本形態では、OS41の機能を利用してインストールを行うことから、OS41にセットアップファイルを渡さないことでインストールを回避できる。従って、インストーラ47の処理がシンプルになる。
また、本形態では、既に最新バージョンがインストール済みである場合、アンインストールが必要である場合、対象プログラムの更新に成功した場合等に、適宜メッセージにてユーザに通知するので、状況が確認できる。
また、本形態では、インストール済みのバージョン違いプログラムとインストール対象の対象プログラムとでパラメータの形式が異なる場合、バージョン違いプログラムのパラメータを退避し、退避したパラメータを、対象プログラムのパラメータの形式に変換して復元する。これにより、バージョン違いプログラムをアンインストールせずに対象プログラムをインストールする手順を回避しつつ、設定済みのパラメータを保持できる。一方、パラメータの形式が同じであれば、そのまま使用できる可能性が高いことから、バージョン違いプログラムをアンインストールせずに対象プログラムをインストールする手順を行うので、退避や復元の処理が不要となる。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、対象プログラムによって制御されるデバイスは、複合機に限らず、プリンタ、スキャナ、FAX装置、ミシン等であっても良い。つまり、インストールの対象となるプログラムは、プリンタドライバ、スキャナドライバに限らず、FAXドライバ、縫製指示プログラム、刺繍指示プログラム、でも良い。また、PCやデバイスの数、各種の表示メッセージの文言等は、いずれも、図示の例に限らない。
また、本形態では、複数の対象プログラムを含むインストーラ47について説明したが、対象プログラムごとに別のインストーラであっても良い。その場合、モデルや通信IFの選択の受け付け(S101~S104)は不要である。また、各種のメッセージの表示は行わなくても良い。
また、本形態では、対象プログラムと同じバーションのプログラムがインストール済みであれば、インストールを行わないとしたが、行っても良い。その場合、CPU11は、対象プログラムのセットアップファイルをOS41に渡し、終了後に、例えば、完了を示すメッセージを表示させるとしても良い。
また、本形態では、パラメータの形式が同じ場合にはアンインストールしないとしたが、アンインストールしても良い。つまり、パラメータの形式に関わらず退避して復元するとしても良い。ただし、パラメータの形式が同じであれば、不具合が発生する可能性は低いことから、上書きによるインストールを行うことで、セットアップに要する時間を短縮できる。
また、本形態では、上書きによるインストールによってプリントキューが生成された場合、生成されたプリントキューを削除するとしたが、削除しなくても良い。ただし、削除すれば、デバイスの選択時におけるユーザの困惑を軽減できるので好ましい。
また、本形態では、OS41の機能を用いてインストールやアンインストールを行うとしたが、インストーラ47自身の機能を用いてインストールやアンインストールを行っても良い。
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
1 PC
2 複合機
11 CPU
12 メモリ
13 ユーザIF
14 通信IF
47 インストーラ

Claims (9)

  1. 情報処理装置のコンピュータに、
    インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
    さらに前記コンピュータに、
    前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順であり、
    さらに前記コンピュータに、
    複数あるインストール可能なプログラムの中から前記対象プログラムを選択するプログラム選択処理を実行させ、
    前記インストール判断処理では、前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムもしくは前記同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断させ、
    前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、前記回避処理を実行させ、
    前記プログラム選択処理では、
    前記情報処理装置がデバイスと通信するための通信インタフェースの種類を選択する第1選択を行い、前記デバイスは、プリント機能とスキャン機能との少なくとも一方を有するデバイスであり、前記複数あるインストール可能なプログラムは、前記デバイスを制御するプログラムであって、前記デバイスのモデルおよび前記通信インタフェースの種類ごとに設けられたプログラムであり、
    さらに前記プログラム選択処理では、
    前記対象プログラムが制御するデバイスのモデルを選択する第2選択を行い、選択インタフェースを用いて選択デバイスと通信するためのプログラムを、前記対象プログラムとして選択し、前記選択インタフェースは、前記第1選択によって選択した種類の前記通信インタフェースであり、前記選択デバイスは、前記第2選択によって選択したモデルのデバイスであり、
    前記インストール判断処理では、
    前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムもしくは前記同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断し、
    前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、前記コンピュータに前記回避処理を実行させ、
    さらに前記コンピュータに、
    前記プログラム選択処理の実行後、前記第1更新手順によって前記対象プログラムをインストールした場合に、前記対象プログラムのインストールによって生成されたデバイスキューを削除する削除処理を実行させ、前記情報処理装置は、前記対象プログラムをインストールした場合、前記選択インタフェースを用いて前記選択デバイスと通信するための前記デバイスキューを生成する、
    ことを特徴とするインストール用のプログラム。
  2. 情報処理装置のコンピュータに、
    インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
    さらに前記コンピュータに、
    前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順であり、
    前記インストール処理では、
    前記対象プログラムに対応するセットアップファイルを取得し、取得した前記セットアップファイルを前記情報処理装置のオペレーティングシステムに渡して前記オペレーティングシステムにインストールを指示し、前記オペレーティングシステムは、前記セットアップファイルに含まれる前記対象プログラムを前記情報処理装置にインストールし、
    前記回避処理では、
    前記セットアップファイルを前記オペレーティングシステムに渡さないことで、前記第1更新手順を回避する、
    ことを特徴とするインストール用のプログラム。
  3. 請求項2に記載するインストール用のプログラムにおいて、
    前記インストール処理では、
    前記対象プログラムと、前記対象プログラムのインストールに用いるインストール情報と、を含む前記セットアップファイルを取得し、前記オペレーティングシステムは、前記セットアップファイルに含まれる前記インストール情報を用いて、前記セットアップファイルに含まれる前記対象プログラムを前記情報処理装置にインストールする、
    ことを特徴とするインストール用のプログラム。
  4. 情報処理装置のコンピュータに、
    インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
    さらに前記コンピュータに、
    前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順であり、
    前記回避処理では、
    インストール済みの前記バージョン違いプログラムをアンインストールする旨を示す通知を出力し、前記対象プログラムを前記情報処理装置にインストールしないことで、前記第1更新手順を回避する、
    ことを特徴とするインストール用のプログラム。
  5. 情報処理装置のコンピュータに、
    インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
    さらに前記コンピュータに、
    前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順であり、
    前記回避処理では、
    インストール済みの前記バージョン違いプログラムが用いる第1形式のパラメータであって前記情報処理装置の第1記憶領域に記憶されている前記パラメータを、前記情報処理装置の前記第1記憶領域と異なる第2記憶領域に記憶する記憶処理と、
    前記記憶処理の後、インストール済みの前記バージョン違いプログラムを前記情報処理装置からアンインストールするアンインストール処理と、
    前記アンインストール処理の後、前記対象プログラムをインストールする再インストール処理と、
    前記再インストール処理の後、前記第2記憶領域に記憶した前記第1形式のパラメータを読み出し、読み出した前記第1形式のパラメータを、前記第1形式と異なる第2形式であって前記対象プログラムが用いる前記第2形式に変換し、変換後の前記第2形式のパラメータを前記第2記憶領域と異なる第3記憶領域であって前記対象プログラムが用いる前記第3記憶領域に書き込む復元処理と、を前記コンピュータに実行させることで、前記第1更新手順を回避する、
    ことを特徴とするインストール用のプログラム。
  6. 請求項5に記載するインストール用のプログラムにおいて、
    前記アンインストール処理では、
    前記情報処理装置のオペレーティングシステムに、インストール済みの前記バージョ
    ン違いプログラムのアンインストールを指示することで、インストール済みの前記バージ
    ョン違いプログラムを前記情報処理装置からアンインストールし、
    前記回避処理では、
    前記オペレーティングシステムからインストール済みの前記バージョン違いプログラ
    ムのアンインストールに成功したことを示す情報を取得した場合に、前記再インストール
    処理を前記コンピュータに実行させる、
    ことを特徴とするインストール用のプログラム。
  7. 情報処理装置のコンピュータに、
    インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
    さらに前記コンピュータに、
    前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順であり、
    さらに前記コンピュータに、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合、前記回避処理を実行する前に、前記対象プログラムが用いるパラメータとインストール済みの前記バージョン違いプログラムが用いるパラメータとに互換性があるか否かを判断する互換性判断処理を実行させ、
    さらに前記コンピュータに、
    前記互換性判断処理にて互換性が無いと判断した場合、前記回避処理を実行させ、
    前記互換性判断処理にて互換性が有ると判断した場合、前記回避処理を実行させず、前記第1更新手順によって前記対象プログラムをインストールするアップデート処理を実行させる、
    ことを特徴とするインストール用のプログラム。
  8. 請求項1から請求項7のいずれか1つに記載するインストール用のプログラムにおいて、
    前記コンピュータに、
    前記同バージョンプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、
    前記対象プログラムのインストールをしないことを示す通知を、前記情報処理装置の出力インタフェースに出力させる通知処理を実行させ、前記インストール処理および前記回避処理を実行させない、
    ことを特徴とするインストール用のプログラム。
  9. 請求項1から請求項8のいずれか1つに記載するインストール用のプログラムにおいて、
    前記コンピュータに、
    前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第2更新手順で前記対象プログラムをインストールするか否かの選択を、前記情報処理装置の入力インタフェースを介して受け付けるインストール選択処理を実行させ、前記第2更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールした後に前記対象プログラムをインストールする手順であり、
    さらに前記コンピュータに、
    前記第2更新手順で前記対象プログラムをインストールすることが前記インストール選択処理にて選択された場合に、
    前記回避処理を実行させず、前記第2更新手順で前記対象プログラムをインストールするクリーンインストール処理を実行させ、
    前記第2更新手順で前記対象プログラムをインストールすることが前記インストール選択処理にて選択されなかった場合に、
    前記回避処理を実行させる、
    ことを特徴とするインストール用のプログラム。
JP2020069066A 2020-04-07 2020-04-07 プログラム Active JP7484356B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020069066A JP7484356B2 (ja) 2020-04-07 2020-04-07 プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020069066A JP7484356B2 (ja) 2020-04-07 2020-04-07 プログラム

Publications (2)

Publication Number Publication Date
JP2021165939A JP2021165939A (ja) 2021-10-14
JP7484356B2 true JP7484356B2 (ja) 2024-05-16

Family

ID=78021831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020069066A Active JP7484356B2 (ja) 2020-04-07 2020-04-07 プログラム

Country Status (1)

Country Link
JP (1) JP7484356B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216378A (ja) 2001-11-15 2003-07-31 Canon Inc 情報処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
JP2005301608A (ja) 2004-04-09 2005-10-27 Fuji Xerox Co Ltd インストールプログラム、インストール装置および周辺機器ドライバのインストール方法
JP2011076227A (ja) 2009-09-29 2011-04-14 Canon Inc 情報処理装置及びその方法
JP2017021647A (ja) 2015-07-13 2017-01-26 株式会社リコー プログラム、情報処理装置、インストールシステムおよびインストール方法
JP2017157044A (ja) 2016-03-02 2017-09-07 キヤノン株式会社 プリンタードライバーソフトウェアのインストール方法
JP2019079111A (ja) 2017-10-20 2019-05-23 富士ゼロックス株式会社 ソフトウエア管理装置、ソフトウエア管理システム及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216378A (ja) 2001-11-15 2003-07-31 Canon Inc 情報処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
JP2005301608A (ja) 2004-04-09 2005-10-27 Fuji Xerox Co Ltd インストールプログラム、インストール装置および周辺機器ドライバのインストール方法
JP2011076227A (ja) 2009-09-29 2011-04-14 Canon Inc 情報処理装置及びその方法
JP2017021647A (ja) 2015-07-13 2017-01-26 株式会社リコー プログラム、情報処理装置、インストールシステムおよびインストール方法
JP2017157044A (ja) 2016-03-02 2017-09-07 キヤノン株式会社 プリンタードライバーソフトウェアのインストール方法
JP2019079111A (ja) 2017-10-20 2019-05-23 富士ゼロックス株式会社 ソフトウエア管理装置、ソフトウエア管理システム及びプログラム

Also Published As

Publication number Publication date
JP2021165939A (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
JP4021407B2 (ja) 情報処理装置
JP6874405B2 (ja) 情報処理装置、プログラム、システム
JP7069826B2 (ja) 情報処理装置、ファームウェア更新方法、プログラム
JP2003084984A (ja) 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体
US20120099135A1 (en) Information processing apparatus, control method, and storage medium
US8582139B2 (en) Driver upgrading
JP4961288B2 (ja) 情報処理装置、情報処理プログラム、記録媒体、印刷装置及びネットワークシステム
US20180131835A1 (en) Printing apparatus, printing apparatus control method, and storage medium
JP4981936B2 (ja) インストーラ及びプリンタドライバのインストール方法
JP4983815B2 (ja) 情報処理装置及び制御プログラム
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
JP7484356B2 (ja) プログラム
JP6213112B2 (ja) 情報処理装置
JP2009110089A (ja) 情報処理装置、アプリケーションソフトウェアのインストール方法、インストール処理プログラム、及びインストール処理プログラムを記録した記録媒体
JP2023130149A (ja) 画像形成システム、及び画像形成装置
JP6987541B2 (ja) 画像形成装置及び画像形成装置の制御方法
JP2006331256A (ja) 情報処理装置、インストール処理方法、記憶媒体およびプログラム
JP2010102542A (ja) ドライバ配信システム、印刷制御装置、ドライバ配信方法、およびドライバアップデートプログラム
US20200150947A1 (en) Information processing apparatus, updating method by information processing apparatus, and recording medium
JP2021117896A (ja) 情報処理装置、情報処理方法およびプログラム
JP2016177351A (ja) プログラム、情報処理装置、画面表示方法
US11132152B2 (en) Firmware update system, electronic apparatus, and non-transitory computer-readable recording medium having stored thereon firmware update program
JP2015177254A (ja) 画像形成装置及びその制御方法
US11909935B2 (en) Image forming apparatus, and control method for controlling image forming apparatus for remotely performing a setting process on or configuration control of a image forming apparatus
JP7423972B2 (ja) インストールプログラム、情報処理装置、および通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240415