JP2007280274A - 構成変更プログラム、および情報処理装置 - Google Patents

構成変更プログラム、および情報処理装置 Download PDF

Info

Publication number
JP2007280274A
JP2007280274A JP2006108795A JP2006108795A JP2007280274A JP 2007280274 A JP2007280274 A JP 2007280274A JP 2006108795 A JP2006108795 A JP 2006108795A JP 2006108795 A JP2006108795 A JP 2006108795A JP 2007280274 A JP2007280274 A JP 2007280274A
Authority
JP
Japan
Prior art keywords
program
old version
version
processing apparatus
information processing
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
JP2006108795A
Other languages
English (en)
Other versions
JP4946141B2 (ja
Inventor
Hajime Inada
肇 稲田
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 JP2006108795A priority Critical patent/JP4946141B2/ja
Priority to US11/733,765 priority patent/US9250933B2/en
Publication of JP2007280274A publication Critical patent/JP2007280274A/ja
Application granted granted Critical
Publication of JP4946141B2 publication Critical patent/JP4946141B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】イベントの発生を検出した際に旧版プログラムを起動する構成とされた情報処理装置において、旧版プログラムを最新版プログラムに変更する作業や旧版プログラムに戻す作業を、より簡単に実施可能とすること。
【解決手段】PC1は、レジストリから最新バージョン格納フォルダを取得できた場合(S301:YES)、最新バージョン格納フォルダのApli2.exeを実行し(S303)、最新バージョン格納フォルダを取得できなかった場合(S301:NO)、本処理を実行しているApri.exeの格納フォルダフォルダにあるApli2.exeを実行する(S321)。最新バージョン格納フォルダのApli2.exeは、最新バージョンのアプリケーションのメインプログラムであり、一方、本処理を実行しているApri.exeの格納フォルダフォルダにあるApli2.exeは、旧バージョンのメインプログラムに相当するApri.exeを、S315の処理によりリネームしたものである。
【選択図】図6

Description

本発明は、情報処理装置に情報処理装置の構成を変更する処理を実行させるための構成変更プログラムと、情報処理装置の構成を変更する処理を実行する情報処理装置に関する。
従来、バージョンが異なる複数のプログラムを備えた情報処理装置において、最新バージョンのプログラムや1つ前のバージョンのプログラムを選択的に起動可能とする技術は、既に提案されていた(例えば、特許文献1参照)。
この技術によれば、あらかじめ決められた特定のプログラム起動キーの操作を利用者が行った場合に、最新バージョンのプログラムを起動することができた。
特開平7−295796号公報
ところで、パーソナルコンピュータ(以下、PCと称する。)に代表される各種情報処理装置においては、上記のようなプログラム起動キーに対する操作以外にも、様々なイベントの発生を契機として各種プログラムが起動されるようになっている。
例えば、情報処理装置が備えるOS(Operating System)の起動時には、このOSの起動を契機として所定のプログラムが起動されることがある。また、プログラムを起動するために用意されたメニューの中から所定のプログラムを選択する操作を利用者が行ったことを契機として、そのプログラムが起動されることもある。さらに、情報処理装置と通信可能な外部装置から所定の信号が到来した時に、その信号の受信を契機として所定のプログラムが起動されることもある。こうした様々なイベントが発生した場合に、どのプログラムを起動すべきかは、各イベント毎に決められてOSの管理する記憶領域等に登録されるのが一般的である。
しかし、あるイベントの発生を契機として起動されるプログラムを、旧バージョンから新バージョンに変更したい場合、旧バージョンのプログラムが複数のイベントに対応付けられていると、各イベント毎に登録された情報のすべてを、新バージョン対応に書き換えなければならず、その処理に多大な手間がかかる、という問題があった。
また、新バージョンに変更した後、旧バージョンに戻したい場合にも、同じように多大な手間がかかる、という問題があった。
本発明は、上記問題を解決するためになされたものであり、その目的は、イベントの発生を検出した際に旧版プログラムを起動する構成となっている情報処理装置において、旧版プログラムを最新版プログラムに変更する作業や旧版プログラムに戻す作業を、より簡単に実施可能な構成変更プログラム、および情報処理装置を提供することにある。
以下、本発明において採用した特徴的構成について説明する。
本発明の構成変更プログラムは、同じソフトウェアの旧版プログラムと最新版プログラムが組み込まれた情報処理装置を、所定の旧版起動イベントの発生を検出した際に前記旧版プログラムを起動する構成から、前記旧版起動イベントの発生を検出した際に前記最新版プログラムを起動する構成に変更する処理を、前記情報処理装置に実行させるための構成変更プログラムであり、前記情報処理装置を、前記情報処理装置に組み込まれた前記旧版プログラムを検出する旧版検出手段と、前記旧版検出手段によって前記旧版プログラムが検出された場合に、前記旧版プログラムが格納されたファイルのパス名を、第1パス名から第2パス名に変更するパス名変更手段と、前記情報処理装置に組み込まれた前記最新版プログラムを検出できた場合には、前記最新版プログラムを起動する一方、前記最新版プログラムを検出できなかった場合には、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する処理を、前記情報処理装置に実行させるための起動プログラムが格納されたファイルを、前記パス名変更手段によるパス名の変更後に、前記第1パス名を持つファイルとして生成する起動プログラムファイル生成手段として機能させることを特徴とする。
この構成変更プログラムに基づいて情報処理装置で機能することになる上記各手段の内、起動プログラムファイル生成手段は、起動プログラムが格納されたファイルを生成する手段であるが、ここでいう生成には、様々な具体的態様が含まれ得る。例えば、起動プログラムが格納されたファイルが、情報処理装置の備えるハードディスク装置内にあらかじめ存在するような場合は、そのファイルをコピー元、第1パス名を持つファイルをコピー先として、ファイルのコピーを行うことで、所期のファイルを生成することができる。また、起動プログラムが格納されたファイルが、圧縮ファイルのような形態で情報処理装置の備えるハードディスク装置内あるいは情報処理装置が読み取り可能なリムーバブルメディアに格納されているような場合は、その圧縮ファイルを展開して第1パス名を持つファイルとすれば、所期のファイルを生成することができる。さらに、構成変更プログラムが利用するために用意された内部データに基づいて、起動プログラムが格納されたファイルを創り出すように構成しても、第1パス名を持つ所期のファイルを生成することができる。
このように構成変更プログラムに基づいて、情報処理装置を上記各手段として機能させれば、旧版プログラムが起動プログラムに置き換えられる。そのため、情報処理装置が旧版起動イベントの発生を検出した際に起動プログラムが起動される構成に変更されることになり、最新版プログラムが起動可能な場合には、起動プログラムから最新版プログラムが起動される。したがって、旧版起動イベントの発生を検出した場合に第1パス名を持つファイルに格納されたプログラムを起動する仕組み自体には何ら手を加えることなく、情報処理装置の構成を旧版プログラムを起動する構成から最新版プログラムを起動する構成に変更することができる。
しかも、最新版プログラムを起動する構成に変更した後、再び旧版プログラムを起動する構成に戻す際には、単に最新版プログラムを検出不能とする(例えば削除する)だけで、第1パス名を持つファイルに格納された起動プログラムについてはそのまま残せばよい。したがって、第2パス名に変更されたファイルのパス名も変更前のパス名である第1パス名に戻さなくてもよいので、面倒な手間をかけることなく旧版プログラムを起動する構成に戻すことができる。
ところで、本発明の構成変更プログラムにおいて、前記旧版検出手段は、前記旧版プログラムを前記情報処理装置に組み込んだときに前記情報処理装置が備える管理用記憶領域に登録される旧版プログラムの格納フォルダに関する情報が、前記管理用記憶領域内に存在する場合に、前記管理用記憶領域内の情報に基づいて、前記情報処理装置に組み込まれた前記旧版プログラムを検出するとよい。
このように構成された構成変更プログラムに基づいて、情報処理装置を上記各手段として機能させれば、管理用記憶領域内の情報に基づいて、情報処理装置に組み込まれた旧版プログラムを適切に検出することができる。
また、本発明の構成変更プログラムにおいて、前記旧版検出手段は、前記第1のパス名を持つファイルに格納されたプログラムが前記起動プログラムではない場合に、前記第1のパス名を持つファイルに格納されたプログラムを前記旧版プログラムとして検出するとよい。
このように構成された構成変更プログラムに基づいて、情報処理装置を上記各手段として機能させれば、第1のパス名を持つファイルが存在する場合でも、そのファイルが起動プログラムファイル生成手段によって生成されたファイルであれば、あらためてファイルを生成することはないので、情報処理装置に無駄な負荷がかかってしまうのを未然に防止できる。
また、本発明の構成変更プログラムは、前記情報処理装置を、さらに、前記旧版プログラムが既に起動済みか否かを判定する旧版起動状態判定手段と、前記旧版起動状態判定手段によって前記旧版プログラムが既に起動済みであると判定された場合に、起動済みの前記旧版プログラムを終了させる終了制御手段として機能させるように構成されているとよい。
このように構成された構成変更プログラムに基づいて、情報処理装置を上記各手段として機能させれば、旧版プログラムが起動している場合でも、旧版プログラムを終了させることができるので、パス名変更手段によるパス名の変更などを適切に実施できる。
また、本発明の構成変更プログラムは、前記情報処理装置を、さらに、前記情報処理装置に組み込まれた前記最新版プログラムを検出する最新版検出手段と、前記最新版検出手段によって前記最新版プログラムが検出された場合に、検出された前記最新版プログラムを起動する最新版プログラム起動手段と、前記最新版検出手段によって前記最新版プログラムが検出されなかった場合に、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する旧版プログラム起動手段として機能させる構成を備えることにより、前記起動プログラムとして構成されているとよい。
このように構成された構成変更プログラムであれば、起動プログラムとして構成されているので、起動プログラムに従った処理を実行する機会があれば、構成変更プログラムに従った処理も実行される。
また、本発明の構成変更プログラムは、前記情報処理装置を、さらに、前記情報処理装置に前記最新版プログラムを組み込むための処理を実行する最新版インストール手段として機能させる構成を備えることにより、最新版インストールプログラムとして構成されていてもよい。
このように構成された構成変更プログラムであれば、最新版インストールプログラムとして構成されているので、最新版インストール手段によって最新版プログラムが組み込まれた場合に、直ちに構成変更プログラムに従った処理も実行され、旧版起動イベントの発生を検出した際に新版プログラムを起動する構成にすることができる。
次に、本発明の情報処理装置は、同じソフトウェアの旧版プログラムと最新版プログラムが組み込まれ、所定の旧版起動イベントの発生を検出した際に前記旧版プログラムを起動する構成から、前記旧版起動イベントの発生を検出した際に前記最新版プログラムを起動する構成に変更する処理を実行する情報処理装置であり、前記情報処理装置に組み込まれた前記旧版プログラムを検出する旧版検出手段と、前記旧版検出手段によって前記旧版プログラムが検出された場合に、前記旧版プログラムが格納されたファイルのパス名を、第1パス名から第2パス名に変更するパス名変更手段と、前記情報処理装置に組み込まれた前記最新版プログラムを検出できた場合には、前記最新版プログラムを起動する一方、前記最新版プログラムを検出できなかった場合には、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する処理を、前記情報処理装置に実行させるための起動プログラムが格納されたファイルを、前記パス名変更手段によるパス名の変更後に、前記第1パス名を持つファイルとして生成する起動プログラムファイル生成手段を備えることを特徴とする。
このように構成された情報処理装置は、請求項1に記載の構成変更プログラムが情報処理装置上で機能させる各手段に相当する構成を備えている。したがって、請求項1に記載の発明と同様の作用、効果を奏するものとなる。
なお、本発明の情報処理装置は、請求項2〜請求項6の各請求項に記載の構成変更プログラムに基づいて情報処理装置上で機能することになる各手段と等価な構成を備えていていてもよく、その場合、請求項2〜請求項6の各請求項に記載の発明と同様の作用、効果を奏するものとなる。
次に、本発明の実施形態について一例を挙げて説明する。
(1)第1実施形態
[PCおよび複合機の構成]
図1は、本発明でいう情報処理装置の一例に相当するパーソナルコンピュータ1(以下、PC1という)と、PC1に接続された複合機3の概略構成を示したブロック図である。
図1に示した機器の内、PC1は、CPU11、ROM12、RAM13、ハードディスク装置15(以下、HDD15という)、操作部16、表示部17、USBインターフェース18(以下、USB I/F18という)などを備えている。
CPU11は、ROM12やRAM13に記憶されたプログラムに従って、PC1各部に対する制御および各種演算を実行する装置で、後述するOS(Operating System)としての処理、インストーラとしての処理、およびアプリケーションとしての処理などは、それぞれCPU11によって実行される。
ROM12は、PC1の電源スイッチを切っても記憶内容を保持可能な記憶装置で、BIOS(Basic Input Output System)や通常であれば更新されない読み出し用のデータ等を記憶している。
RAM13は、CPU11から直接アクセスされるメインメモリ等として利用される記憶装置である。このRAM13には、OS(Operating System)や各種アプリケーションなどのソフトウェアがHDD15から読み込まれ、また、CPU11による各種演算の結果やHDD15から読み込まれたデータもRAM13に記憶されるようになっている。後述するOS、インストーラ、およびアプリケーションとしての各処理をCPU11が実行する際には、各処理をCPU11に実行させるためのプログラムがHDD15からRAM13に読み込まれ、RAM13に記憶されたプログラムに従って、CPU11が各処理を実行することになる。
HDD15は、各種プログラムおよび各種データファイルを保存しておくための装置で、上記OS、インストーラ、およびアプリケーションを機能させるためのプログラムもHDD15に保存されている。
操作部16は、利用者からの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス(例えば、マウス)等によって構成される。
表示部17(本発明でいう表示装置の一例に相当)は、各種情報を利用者に提示するための出力装置であり、例えば、カラー画像を表示可能な液晶ディスプレイ等によって構成される。
USB I/F18は、USB(Universal Serial Bus)規格準拠のシリアルインターフェースである。このUSB I/F18には、様々なデバイス(例えば、プリンタ、キーボード、マウス、スキャナ、スピーカー、各種ストレージデバイスなど)を接続することができるが、本実施形態においては、複合機3が接続されている。
また、PC1には、上記のようなハードウェア群を制御するためのOSとして、マルチタスク機能を備えたOSが搭載されている。このOSのマルチタスク機能により、PC1は、複数のソフトウェアに基づく処理を時分割で並列に実行することができ、これにより、後述するインストーラやアプリケーションが、PC1上で機能するようになっている。このようなマルチタスク機能を備えたOSとしては、例えば、MacOS(登録商標)、Windows(登録商標)、Linux(登録商標)などを挙げることができる。なお、マルチタスク機能など、OSによって提供される各種機能そのものは公知なので、ここでの詳細な説明は省略するが、以下の説明においては、PC1がWindows(登録商標)によって提供される各種機能を有するとの前提で説明を続ける。
一方、複合機3は、本実施形態においては、後述する処理の中でスキャナとして利用されるデバイスであるが、イメージスキャナ機能の他に、プリンタ機能、コピー機能、ファクシミリ機能、および電話機能等を兼ね備えている。
この複合機3は、CPU31、ROM32、RAM33、ハードディスク装置35(以下、HDD35という)、操作部36、表示部37、USB I/F38、印刷部41、読取部42、およびモデム43などを備えている。
CPU31は、ROM32に記憶されている制御プログラムに従って複合機3各部の制御および各種演算を実行する装置である。
ROM32は、複合機3の電源スイッチを切っても記憶内容を保持可能な記憶装置で、上記制御プログラムの他、通常であれば更新されない読み出し用の各種データを記憶している。
RAM33は、CPU31から直接アクセスされるメインメモリ等として利用される記憶装置で、CPU31が処理中に算出する各種データなどが一時的にRAM33に記憶されるようになっている。
HDD35は、ファクシミリ機能により送受信する画像、イメージスキャナ機能により読み取った画像、プリンタ機能により印刷する画像など、比較的サイズが大きい画像データを記憶する装置である。
操作部36は、利用者がマニュアル操作で複合機3に対して指令を与える場合に操作する入力装置である。
表示部37は、小型液晶ディスプレイによって構成された装置で、複合機3の設定や状態などの情報を表示できるようになっている。
USB I/F38は、USB規格準拠のシリアルインターフェースで、このUSB I/F38を利用して、PC1との間でデータ通信を実行できるようになっている。
印刷部41は、シート状の媒体(例えば記録用紙)に対する印刷を実行可能な装置で、プリンタ機能による印刷データの印刷、ファクシミリ機能による受信画像の印刷、コピー機能によるコピー画像の印刷等を行う際に作動する。
読取部42は、自動原稿送り装置(図示略)にセットされた原稿またはフラットベッドのコンタクトガラス上に置かれた原稿から画像を読み取り可能な装置で、イメージスキャナ機能による画像の読み取り、ファクシミリ機能による送信画像の読み取り等を行う際に作動する。
モデム43は、複合機3側で作成されたディジタルデータを音声信号に変換して公衆回線側に送信したり、公衆回線側から受信した音声信号をディジタルデータに変換して複合機3側で処理できるようにするための装置で、ファクシミリ機能による画像の送受信、電話機能による通話を行う際に作動する。
[インストーラおよびアプリケーションの概要]
次に、PC1上で機能するインストーラと、このインストーラによってインストールされるソフトウェアについて説明する。
インストーラは、PC1から複合機3のスキャナ機構を利用する際に必要となるソフトウェアを、PC1に導入するためのソフトウェアである。PC1で初めて複合機3のスキャナ機構を利用する際には、複合機3のスキャナ機構の利用に先だって少なくとも1度はインストーラによる処理(以下、インストール処理という)を実行する必要があり、これにより、PC1において複合機3のスキャナ機構を利用するために必要な設定等が行われる。インストール処理の具体的な内容については後述する。
インストーラのプログラムは、例えば、複合機3の付属品として添付されたリムーバブルメディア(CD−ROM等)に格納されて提供される。この場合、PC1において、プログラムをリムーバブルメディアからRAM13に読み込むことにより、インストーラを機能させることができる。PC1側およびリムーバブルメディア側の設定によっては、リムーバブルメディアをPC1が備えるドライブ装置にマウントするだけで、自動的にプログラムをRAM13に読み込ませるように構成することもできる。また、インストーラのプログラムは、インターネットなどのネットワークを介してサーバーから提供されることもある。この場合は、PC1において、ネットワークを介してダウンロードしたプログラムをHDD15等に一旦格納し、HDD15等からRAM13にプログラムを読み込むことにより、インストーラを機能させることができる。
また、このインストーラにより、PC1には、スキャナドライバやアプリケーションなどのソフトウェアがインストールされる。これらのソフトウェアの内、アプリケーションは、複合機3の各種機能を制御するためのメインプログラムと、複合機3側で所定の操作が行われたことをOSが検出した際、OSによって起動され、上述のメインプログラム等を起動する起動プログラムなどがインストールされる。
ところで、インストーラによってインストールされるアプリケーションには、バージョンが異なるプログラムがいくつかあり、インストーラは、アプリケーションの最新版プログラムをPC1にインストールする。一方、PC1には、アプリケーションの旧版プログラムに相当するものが既にインストールされている。
アプリケーションの旧版プログラムは、新版プログラム同様、複合機3の各種機能を制御するためのプログラムであり、この旧版プログラムのみがインストールされたPC1は、複合機3側で所定の操作が行われた際に旧版プログラムを起動する構成になっている。しかし、インストーラによってアプリケーションの最新版プログラムをインストールした場合、以降、PC1は、複合機3側で所定の操作が行われた際に、最新版プログラムを起動する構成に変更されることになる。
なお、旧版プログラムには、最新版プログラムの一つ前の版に相当するプログラム、二つ前の版に相当するプログラムなど、版が異なる2以上のプログラムが存在する可能性があるが、本実施形態においては、同じソフトウェアの最新版プログラム以外のものであれば、いずれも旧版プログラムと称することにする。また、これら版が異なる2以上の旧版プログラムは、択一的にPC1にインストールされるとは限らず、PC1上で共存している可能性もあるが、この場合、共存している2以上のプログラムすべてが旧版プログラムに該当する。
[インストール処理]
次に、PC1上で機能するインストーラが実行するインストール処理について、図2に基づいて説明する。
PC1においてインストール処理が開始されると、PC1は、まず、スキャナドライバをインストールする(S101)。このS101の処理では、スキャナドライバのプログラムファイルやスキャナドライバが利用する設定ファイルなどが、あらかじめ決められたフォルダ(例えば、OSのシステムフォルダ等)に生成される。より具体的には、例えば、CD−ROMのようなリムーバブルメディアからのインストールを行っている場合、リムーバブルメディア内に圧縮ファイルとして格納されたプログラムファイルや設定ファイルがRAM13上で展開(解凍)され、展開された内容があらかじめ決められたフォルダ内のファイルとして書き出されることにより、所期のファイルが生成される。また、圧縮ファイルを利用するか否かは任意であり、圧縮されていない通常のファイルを、あらかじめ決められたフォルダ内に単にコピーするようにしても、所期のファイルを生成することができる。
こうしてスキャナドライバのインストールを終えたら、続いて、PC1は、アプリケーションプログラムをインストールする(S103)。S103の処理でも、上記S101の処理の場合と同様の手法で、アプリケーションプログラムのプログラムファイルや各種設定ファイル等が、あらかじめ決められたフォルダに生成される。より具体的には、本実施形態では、S103の処理により、アプリケーションプログラムのプログラムファイルや各種設定ファイル等が、アプリケーションの最新バージョン格納フォルダである「C:\Program Files\Br\Apri3.0」内に生成され、アプリケーションのプログラムファイルとしては、Apri.exeおよびApri2.exeが生成される。Apri.exeは、先に説明した起動プログラムが格納されたファイルであり、Apri2.exeは先に説明したメインプログラムが格納されたファイルである。
これら各ファイルのインストールを終えたら、続いて、PC1は、アプリケーションプログラムのバージョン情報とインストールフォルダをレジストリに書き込む(S105)。レジストリは、OSが各種プログラムを管理する上で必要となる情報を記憶するための管理用記憶領域であり、S105の処理により、レジストリには、図3(a)に示すような情報が登録されることになる。なお、本実施形態において、PC1には、アプリケーションの旧版プログラムがインストール済みになっているため、図3(a)に示したレジストリには、旧版プログラムの情報(図3(a)中に「2.0」という情報が付属している情報)が既に登録された状態になっている。S105の処理が実行された場合、レジストリ内にある旧版プログラムの情報はそのまま残され、最新版プログラムの情報(図3(a)中に「3.0」という情報が付属している情報)が追加登録されることになる。
続いて、PC1は、アプリケーションプログラムをRUNレジストリに登録する(S107)。RUNレジストリは、OSの起動時に起動すべきアプリケーションに関する情報を記憶するための管理用記憶領域であり、S107の処理により、レジストリには、図3(b)に示すような情報が登録されることになる。なお、本実施形態において、PC1には、アプリケーションの旧版プログラムがインストール済みになっているため、図3(b)に示したRUNレジストリには、旧版プログラムの情報(図3(b)中に「Apri2.0」という情報が付属している情報)が既に登録された状態になっている。S107の処理が実行された場合、レジストリ内にある旧版プログラムの情報はそのまま残され、最新版プログラムの情報(図3(b)中に「Apri3.0」という情報が付属している情報)が追加登録されることになる。
続いて、PC1は、アプリケーションプログラムをスタートメニューに登録する(S109)。スタートメニューは、Windows(登録商標)において、利用者がアプリケーションを起動するために利用する標準的なユーザーインターフェースとなるメニューである。S109の処理によって、アプリケーションプログラムをスタートメニューに登録すると、以降は、利用者はスタートメニューを使ってアプリケーションを起動できるようになる。具体的には、例えば、利用者がマウス等のポインティングデバイスを使って、表示部17に表示されたタスクバー51(図3(c)参照)の端にあるスタートボタン53をクリックし、階層構造を持つメニュー55を表示させると、このメニュー55内にアプリケーションプログラムへのショートカット57,59が表示される。ここで、利用者がショートカット57,59のいずれかを選択すれば、アプリケーションを起動することができる。なお、ショートカット57は、旧版プログラムのインストール時に作成されたものであり、ショートカット59は、上記S109の処理により作成されたものであるが、本実施形態においては、後述する処理により、ショートカット57,59のいずれを選択しても、最新版プログラムが起動されるようにPC1の構成が変更される。この点については、後から詳しく説明する。
さて、S109の処理を終えたら、PC1は、スキャナドライバにアプリケーションプログラムを関連付ける(S111)。具体的には、レジストリ内にあるスキャナドライバ用の記憶領域内に、図3(d)に示すような情報を登録する。なお、本実施形態において、PC1には、アプリケーションの旧版プログラムがインストール済みになっているため、図3(d)に示したレジストリには、旧版プログラムの情報(図3(d)中に「OldDevice」という情報が付属している情報)が既に登録された状態になっている。S111の処理が実行された場合、レジストリ内にある旧版プログラムの情報はそのまま残され、最新版プログラムの情報(図3(d)中に「NewDevice」という情報が付属している情報)が追加登録されることになる。
ちなみに、図3(d)に示した情報は、関連づけが行われたスキャナのプロパティを見ることにより確認することができる。例えば、図4(a)に示すように、旧版プログラムが関連付けられたスキャナのプロパティを表示すると、ダイアログボックス61には、Eventsタブを持つサブページ63が表示され、その中にあるイベント選択欄65、プログラム選択欄67が表示される。このEvent選択欄65、プログラム選択欄67に表示される内容が、図3(d)に示した情報中にある「OldDevice」に対応する内容となる。また、図4(b)に示すように、最新版プログラムが関連付けられたスキャナ(本実施形態の場合は、複合機3)のプロパティを表示すると、ダイアログボックス71には、Eventsタブを持つサブページ73が表示され、その中にあるイベント選択欄75、プログラム選択欄77が表示される。このEvent選択欄75、プログラム選択欄77に表示される内容が、図3(d)に示した情報中にある「NewDevice」に対応する内容となる。
こうしてS111の処理を終えたら、PC1は、インストール処理を終了する。なお、本実施形態においては、インストール処理を終了した場合、必ずOSの再起動を要求する。そして、OSが再起動された場合には、上記S107の処理によってRUNレジストリに登録された情報に基づいて、アプリケーションが起動されることになる。
[リクエスト監視処理]
次に、OSおよびスキャナドライバが協働して実行するリクエスト監視処理について、図5に基づいて説明する。このリクエスト監視処理は、複合機3において所定の操作が行われた場合に、複合機3から送信されてくる信号を検出して、アプリケーションを起動する処理である。
リクエスト監視処理を開始すると、PC1は、スキャナデバイス(本実施形態の場合は、複合機3)からのリクエストを監視し(S201)、リクエストを受信したか否かを判断する(S203)。ここで、リクエストを受信していなければ(S203:NO)、複合機3において所定の操作が行われていないことになるので、S201の処理へと戻ることにより、リクエストの監視を継続する状態になる。
一方、S203の処理において、リクエストを受信したと判断した場合は(S203:YES)、関連付けられたアプリケーションを起動する(S205)。S205の処理では、上記S111の処理によってレジストリに登録された情報が参照され、アプリケーションが起動されることになる。なお、S205の処理を終えた後は、S201の処理へと戻ることにより、再びリクエストの監視を継続する状態になる。
[アプリケーション処理]
次に、アプリケーションが実行するアプリケーション処理について、図6に基づいて説明する。なお、既に説明した通り、本実施形態において、アプリケーションは、先に説明したメインプログラムおよび起動プログラムによって構成されている。ただし、本発明の実施形態に相当する構成変更処理は、起動プログラム中に含まれているので、図6には起動プログラムのフローチャートを示し、この起動プログラムに基づく処理の中で起動されるメインプログラムのフローチャートについては、図示を省略する。
アプリケーション処理を開始すると、PC1は、レジストリから最新バージョン格納フォルダを取得できたか否かを判断する(S301)。このS301の処理においては、バージョンの情報がレジストリ(図3(a)のVersion)に記憶される仕様になっている(Ver3.0以降の)バージョンのみがインストールされている場合、およびバージョンの情報がレジストリ(図3(a)のVersion)に記憶される仕様になっている(Ver3.0以降の)バージョンとバージョンの情報がレジストリに記憶される仕様になっていない(Ver2.0以前の)旧バージョンの双方がインストールされている場合に、レジストリに記憶されているバージョン情報のうち最新のバージョンが取得できるので、最新バージョン格納フォルダを取得できたとの肯定判断がなされる。一方、旧バージョンのみがインストールされている場合には、最新バージョン格納フォルダを取得できないとの否定判断がなされる。
S301の処理で肯定判断がなされた場合(S301:YES)、PC1は、最新バージョン格納フォルダのApri2.exeを実行する(S303)。Apri2.exeは、アプリケーションのメインプログラムの最新バージョンが格納されたファイルで、本実施形態においては、最新バージョン格納フォルダである「C:\Program Files\Br\Apri3.0」内に、Apri2.exeが格納されているので、S303の処理では、「C:\Program Files\Br\Apri3.0\Apri2.exe」を起動することになる。
次に、PC1は、最新バージョンのメインプログラムよりも旧い、旧バージョンのメインプログラムが起動しているか否かを判断する(S305)。ここで、旧バージョンのメインプログラムが起動している場合(S305:YES)、PC1は、旧バージョンのメインプログラムを終了させる(S307)。一方、旧バージョンのメインプログラムが起動していない場合は(S305:NO)、S307の処理をスキップする。
続いて、PC1は、レジストリの中から旧バージョンのメインプログラムを格納する旧バージョン格納フォルダを検索する(S309)。ここで、最新バージョンと旧バージョンの双方がインストールされている場合、および旧バージョンのみがインストールされている場合には、S309の処理では、旧バージョン格納フォルダが検出されることになる。一方、最新バージョンのみがインストールされている場合には、旧バージョン格納フォルダが検出されないことになる。
そこで、PC1は、旧バージョン格納フォルダを見つけたか否かを判断し(S311)、旧バージョン格納フォルダを見つけた場合は(S311:YES)、旧バージョン格納フォルダに新バージョンの(すなわち、レジストリ(図3(a)のVersion)に記憶されているバージョン情報から最新バージョンであると判別されるメインプログラムを起動する仕様となっている)起動プログラムであるApri.exeが組み込まれているか否かを判断する(S313)。この判断は、Apri.exeが旧バージョンのメインプログラムでないか否かの判断でもある。
S313の処理で、旧バージョン格納フォルダに新バージョンのApri.exeが組み込まれていないと判断された場合(S313:NO)、PC1は、旧バージョンのApri.exeをApri2.exeにリネームし(S315)、新バージョンのApri.exeを旧バージョン格納フォルダに書き込む(S317)。これらS315およびS317の処理により、旧バージョン格納フォルダに新バージョンのApri.exeが組み込まれることになる。なお、S315の処理を実行する前の段階で、旧バージョン格納フォルダである「C:\Program Files\Br\Apri2.0」の内容を表示すると、図7(a)に示すように、旧バージョンのApri.exeが存在しているが、S315の処理を実行した直後は、図7(b)に示すように、旧バージョンのApri.exeがApri2.exeにリネームされた状態になる。そして、さらにS317の処理を実行した後は、図7(c)に示すように、新バージョンのApri.exeが旧バージョン格納フォルダに書き込まれ、旧バージョン格納フォルダ内には、新バージョンのApri.exeと旧バージョンのApri.exeに相当するプログラムが格納されたApri2.exeが存在する状態になる。
一方、過去にS315およびS317の処理(または、S315およびS317と同等な処理)が実行されている場合、既に旧バージョン格納フォルダに新バージョンのApri.exeが組み込み済みとなっている。そのため、この場合は、S313の処理で、旧バージョン格納フォルダに新バージョンのApri.exeが組み込まれていると判断され(S313:YES)、S315およびS317の処理はスキップされる。
また、S311の処理において、旧バージョン格納フォルダが見つからないと判断された場合も(S311:NO)、S315およびS317の処理はスキップされる。
こうしてS315およびS317の処理を実行するかスキップしたら、PC1は、この起動プログラムに基づく処理を終了する。以降は、S303の処理で起動されたメインプログラムのプロセスが、アプリケーションとして機能することになる。
さて、以上がS301の処理で肯定判断がなされた場合の処理となるが、S301の処理では否定判断がなされることもある。このような否定判断がなされるケースは、例えば、過去に最新バージョンのアプリケーションが実行され、その結果、上記S317の処理により、新バージョンのApri.exeが旧バージョン格納フォルダに書き込まれ、その後、最新バージョンのアプリケーションがアンインストールされたような環境下で発生する。すなわち、このような環境下で、上記旧バージョン格納フォルダに書き込まれたApri.exe(=このアプリケーション処理を実行するプログラム)が実行されると、旧バージョン格納フォルダに書き込まれたApri.exeが実行されるものの、最新バージョンの情報はアンインストールに伴ってレジストリから消されているため、S301の処理で否定判断がなされることになる。
S301の処理で否定判断がなされた場合(S301:NO)、PC1は、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにある旧バージョンのApri2.exeを実行する(S321)。ここで、S321の処理によって起動されるApri2.exeは、S303の処理で起動されるApri2.exeとは相違するものであり、S315の処理によってリネームされたものに相当する。すなわち、S303の処理で起動されるApri2.exeは、アプリケーションの旧バージョンのメインプログラムファイルで、本実施形態においては、旧バージョン格納フォルダである「C:\Program Files\Br\Apri2.0」内に、リネームされたApri2.exeが格納されているので、S321の処理では、「C:\Program Files\Br\Apri2.0\Apri2.exe」を起動することになる。
なお、S321の処理を終えた後は、S309の処理へと進むが、S309以降の処理については既に説明したので、重ねての説明は省略する。
[第1実施形態の効果]
以上説明したPC1によれば、旧バージョン格納フォルダである「C:\Program Files\Br\Apri2.0」内にある旧版プログラムであるApri.exeが、最新バージョンのアプリケーションを起動するための起動プログラムであるApri.exeに置き換えられる。そのため、PC1が、旧版プログラムを起動すべきイベントの発生を検出した際に、旧バージョン格納フォルダ内にあるApri.exeを起動する仕組み自体には何ら手を加えることなく、PC1の構成を旧版プログラムであるApri.exeを起動する構成から、最新バージョンのアプリケーションを起動するための起動プログラムApri.exeを起動し、S303の処理によって最新版プログラムを起動する構成に変更することができる。
しかも、このような最新版プログラムを起動する構成に変更した後、再び旧版プログラムを起動する構成に戻す際には、単に最新版プログラムを検出不能とする(例えば、レジストリ内の情報を削除する、あるいは、最新版プログラムを格納したファイルを削除する)だけで、S301の処理で否定判断がなされ、S321の処理により、旧版プログラムを起動できる。したがって、S315の処理でリネームされたパス名を元に戻したり、S317の処理で書き込んだファイルを削除したりする必要はないので、面倒な手間をかけることなく旧版プログラムを起動する構成に簡単に戻すことができる。
また、S313の処理では、旧バージョン格納フォルダ内にあるApri.exeが、既に新バージョンのApri.exeと置き換わっていれば、S315,S317をスキップすることにより、あらためてApri.exeファイルを生成しないように制御するので、PC1に無駄な負荷がかかってしまうのを未然に防止できる。
また、S305〜S307の処理では、旧版プログラムが起動している場合でも、旧版プログラムを終了させることができるので、S315の処理によるパス名の変更を適切に実施できる。
また、第1実施形態においては、S311〜S317の構成変更処理を、OSの起動に連動して起動されるアプリケーションの起動プログラムに組み込んだので、OSを起動する機会があれば、S311〜S317の構成変更処理も実行される。したがって、例えば、最新版のアプリケーションをインストールした後に、何らかの事情で再び旧版のアプリケーションがインストールされたような場合でも、OSの再起動等に伴って最新版のアプリケーションが一度でも実行されれば、再びインストールされた旧版のアプリケーションを最新版に戻すことができる。
(2)第2実施形態
次に、上記第1実施形態とは別の実施形態について説明する。ただし、以下に説明する実施形態は、第1実施形態と一部のみが異なる実施形態となるので、第1実施形態と相違する部分についてのみ詳述し、第1実施形態と相違しない部分についての説明は省略する。
第2実施形態においては、インストーラによるインストール処理が第1実施形態とは相違し、具体的には、図8および図9に示すように、インストーラが、S101〜S111の処理を実行した後、引き続いて、S307〜S317の処理を実行するように構成されている。
S101〜S111の処理は、第1実施形態においてもインストーラが実行していた処理であるが、S307〜S317の処理は、第1実施形態ではアプリケーションの起動プログラム内に組み込まれていた処理に相当する。なお、S101〜S111の処理、およびS307〜S317の処理自体は、それぞれ第1実施形態で説明した各処理と同様なので、ここでの説明は省略する。
以上のように構成されたインストーラによれば、インストーラによってPC1に最新版プログラムが組み込まれた場合に、直ちにS311〜S317に従った処理も実行される。したがって、旧バージョン格納フォルダ内にあるApri.exeを起動する仕組み自体には何ら手を加えることなく、PC1の構成を旧版プログラムであるApri.exeを起動する構成から、最新バージョンのアプリケーションを起動するための起動プログラムApri.exeを起動する構成に変更できる。
(3)第3実施形態
第3実施形態は、第1実施形態で示した起動プログラムの機能とメインプログラムの機能を統合した単一のプログラムを、最新バージョンのアプリケーションとして使用する例である。すなわち、第3実施形態は、最新バージョンのアプリケーションを、起動プログラムとメインプログラムに分けない点で、第1実施形態とは相違する。より具体的には、第3実施形態のアプリケーションは、自身が備える処理を実行した場合に、最新バージョンのアプリケーションとして機能するものであり、この点では、第1実施形態で示したメインプログラム相当の機能を備えている。また、第3実施形態のアプリケーションは、旧バージョンのアプリケーションを起動する機能を備えており、この点では、第1実施形態で示した起動プログラム相当の機能を備えている。
以下、第3実施形態としてのアプリケーション処理について、図10および図11に基づいて説明する。
アプリケーション処理を開始すると、PC1は、レジストリから最新バージョン格納フォルダを取得できたか否かを判断する(S401)。このS401の処理においては、最新バージョンのみがインストールされている場合、および最新バージョンと旧バージョンの双方がインストールされている場合に、最新バージョン格納フォルダを取得できたとの肯定判断がなされる。一方、旧バージョンのみがインストールされている場合には、最新バージョン格納フォルダを取得できないとの否定判断がなされる。
S401の処理で肯定判断がなされた場合(S401:YES)、PC1は、レジストリから取得した最新バージョン格納フォルダは本アプリケーション処理を実行しているApri.exeが格納されているフォルダか否かを判断する(S403)。このS401の処理においては、最新バージョン格納フォルダに格納されたApri.exeが起動されている場合には、レジストリから取得した最新バージョン格納フォルダは本アプリケーション処理を実行しているApri.exeが格納されているフォルダであるとの肯定判断がなされる。一方、後述するS431の処理により、旧バージョン格納フォルダに格納されたApri.exeが起動されている場合には、レジストリから取得した最新バージョン格納フォルダは本アプリケーション処理を実行しているApri.exeが格納されているフォルダではないとの否定判断がなされる。
S403の処理で肯定判断がなされた場合(S403:YES)、PC1は、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにApri2.exeがあるか否かを判断する(S405)。ここで、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにApri2.exeがない場合は(S405:NO)、本アプリケーション処理を実行しているApri.exeがアプリケーションの最新版プログラムに該当することを意味するので、この場合は、本アプリケーション処理を実行しているApri.exeが備える処理を実行することにより、最新版のアプリケーションとして機能する(S407)。なお、S407の処理は、最新版のアプリケーションとしての機能を、別スレッドで起動する処理となるが、この別スレッド内での具体的な処理自体は、本発明の要部ではないので詳細な説明については省略する。
一方、S403の処理で否定判断がなされた場合(S403:YES)、PC1は、最新バージョン格納フォルダのApri.exeを実行する(S409)。
こうしてS407またはS409の処理が実行された場合は、どちらの場合とも、最新バージョン格納フォルダに格納された最新版のアプリケーションが機能することになる。そこで、PC1は、旧バージョンが起動しているか否かを判断し(S411)、旧バージョンが起動している場合は(S411:YES)、旧バージョンを終了させ(S413)、一方、旧バージョンが起動していない場合は(S411:NO)、S413の処理をスキップする。
さて、S401の処理では、旧バージョンのみがインストールされている場合に、最新バージョン格納フォルダを取得できないとの否定判断がなされることがある(S401:NO)。このような否定判断は、例えば、過去に最新バージョンのアプリケーションが実行され、その結果、後述するS429の処理により、旧バージョンのApri.exeがApri2.exeにリネームされ、S431の処理により、新バージョンのApri.exeが旧バージョン格納フォルダに書き込まれ、その後、最新バージョンのアプリケーションがアンインストールされ、かつ、アンインストールされていないバージョンのアプリケーションがバージョンの情報をレジストリ(図3(a)のVersion)に記憶される仕様になっていない(旧バージョンのアプリケーションの設計時にはバージョンの管理を考慮に入れていなかったり、アプリケーションの大きなバージョンアップがあったときにバージョンの管理方法を設計変更することはままある)ような環境下で発生する。すなわち、このような環境下で、上記旧バージョン格納フォルダに書き込まれたApri.exe(=このアプリケーション処理を実行するプログラム)が実行されると、旧バージョン格納フォルダに書き込まれたApri.exeが実行されるものの、最新バージョンの情報はアンインストールに伴ってレジストリから消されている。そのため、S401の処理で否定判断がなされることになり、この場合、最新バージョンと認識すべきプログラムは、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにあるApri2.exeとなる。
また、S405の処理では、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにApri2.exeがあるとの肯定判断がなされることがある(S405:YES)。このような肯定判断は、例えば、過去に最新バージョンのアプリケーションが実行され、その結果、後述するS429の処理により、旧バージョンのApri.exeがApri2.exeにリネームされ、S431の処理により、新バージョンのApri.exeが旧バージョンフォルダに書き込まれ、その後、最新バージョンのアプリケーションがアンインストールされ、かつ、アンインストールされていないバージョンのアプリケーションがバージョンの情報をレジストリに記憶される仕様であるような環境下で発生する。すなわち、このような環境下で、上記旧バージョン格納フォルダに書き込まれたApri.exe(=このアプリケーション処理を実行するプログラム)が実行されると、旧バージョン格納フォルダに書き込まれたApri.exeが実行されるものの、自身より新しいバージョンの情報はアンインストールに伴ってレジストリから消され、自身が最新バージョンとして機能する状態になる。そのため、S401およびS403の処理でそれぞれ肯定判断がなされることになる。この場合、Apri.exe最新バージョンと認識すべきプログラムは、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにあるApri2.exeとなる。
そこで、S401の処理で否定判断がなされた場合(S401:NO)、あるいはS405の処理で肯定判断がなされた場合(S405:YES)、PC1は、本アプリケーション処理を実行しているApri.exeが格納されているフォルダにあるApri2.exeを実行する(S415)。なお、S415の処理を実行した場合は、最新バージョンが新たにインストールされた直後ではないため、S411およびS413の処理は実行されない。
以上のようにしてS401〜S415の処理を終えたら、続いて、PC1は、レジストリの中から旧バージョンを格納フォルダを検索する(S421)。ここで、最新バージョンと旧バージョンの双方がインストールされている場合、および旧バージョンのみがインストールされている場合には、S421の処理では、旧バージョンを格納フォルダが検出されることになる。一方、最新バージョンのみがインストールされている場合には、旧バージョンを格納フォルダが検出されないことになる。
そこで、PC1は、旧バージョン格納フォルダを見つけたか否かを判断し(S423)、旧バージョン格納フォルダを見つけた場合は(S423:YES)、本アプリケーション処理を実行しているApri.exeが備える処理を実行することにより、最新版のアプリケーションとして機能しているか(すなわち、S407が実施されているか)を確認する(S424)。本アプリケーション処理を実行しているApri.exeが備える処理を実行することにより、最新版のアプリケーションとして機能している(S424:YES)ならば、旧バージョン格納フォルダに本アプリケーション処理を実行しているApri.exeが組み込まれているか否かを判断する(S425)。この判断は、Apri.exeが本アプリケーション処理を備えていない旧バージョンのメインプログラムや、最新版でないアプリケーションのメインプログラムでないか否かの判断でもある。
S425の処理で、旧バージョン格納フォルダに本アプリケーション処理を実行しているApri.exeが組み込まれていないと判断された場合(S425:NO)、PC1は、さらに、旧バージョン格納フォルダにApri2.exeがあるか否かを判断する(S427)。ここで、旧バージョン格納フォルダにApri2.exeがない場合は(S427:NO)、後述するS429の処理が過去に実行されていない場合に相当するので、旧バージョンのApri.exeをApri2.exeにリネームし(S429)、新バージョンのApri.exeを旧バージョン格納フォルダに書き込む(S431)。これらS429およびS431の処理により、旧バージョン格納フォルダに新バージョンのApri.exeが組み込まれることになる。S427の判断があることで、旧バージョンをインストールしたときにフォルダに格納された(オリジナルの)Apri.exeがS429の処理でApri2.exeにリネームされ、S431の処理で新しいバージョンのApri.exeがフォルダに格納された後、さらに新しいバージョンのアプリケーションがインストールされても、Apri2.exeにリネームされていた(オリジナルの)Apri.exeが失われずに済む。
なお、旧バージョン格納フォルダが見つからなかった場合(S423:NO)、本アプリケーション処理を実行しているApri.exeが備える処理を実行せず、本アプリケーション処理を実行しているApri.exeは最新版のアプリケーションとして機能していない場合(S424:NO)、旧バージョン格納フォルダに本アプリケーション処理を実行しているApri.exeが組み込まれていると判断された場合(S425:YES)、旧バージョン格納フォルダにApri2.exeがあると判断された場合は(S427:YES)、いずれの場合とも、S429およびS431の処理はスキップされる。
こうしてS429およびS431の処理を実行するかスキップしたら、PC1は、このプログラムに基づく処理を終了する。以降は、S407の処理で別スレッドで実行されたアプリケーションとしての機能、もしくは、S409またはS415の処理により、別プロセスとして起動されたアプリケーションとしての機能が、PC1上において機能し続けることになる。
(4)その他の実施形態
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記第1,3実施形態では、アプリケーションの起動プログラムの中に本発明の構成変更プログラムを組み込んだ例を示し、上記第2実施形態では、インストールプログラムの中に本発明の構成変更プログラムを組み込んだ例を示したが、これらはいずれか一方を択一的に採用するだけでなく、両方を採用する構成にしてもよい。
情報処理装置の一例に相当するPCと、PCに接続された複合機の概略構成を示したブロック図。 第1実施形態におけるインストール処理のフローチャート。 (a)はアプリケーションプログラムのバージョン情報とインストールフォルダを示す説明図、(b)はOSの起動時に起動すべきアプリケーションに関する情報を示す説明図、(c)はスタートメニューに登録されたアプリケーションへのショートカットを示す説明図、(d)はスキャナドライバとアプリケーションプログラムとを関連付けるための情報を示す説明図。 (a)は旧版プログラムが関連付けられたスキャナのプロパティを表示するためのダイアログボックスを示す説明図、(b)は最新版プログラムが関連付けられたスキャナのプロパティを表示するためのダイアログボックスを示す説明図。 リクエスト監視処理のフローチャート。 第1実施形態におけるアプリケーション処理のフローチャート。 旧バージョン格納フォルダ内にあるファイルの変遷を示すための説明図。 第2実施形態におけるインストール処理(その1)のフローチャート。 第2実施形態におけるインストール処理(その2)のフローチャート。 第3実施形態におけるアプリケーション処理(その1)のフローチャート。 第3実施形態におけるアプリケーション処理(その2)のフローチャート。
符号の説明
1・・・パーソナルコンピュータ(PC)、3・・・複合機、11,31・・・CPU、12,32・・・ROM、13,33・・・RAM、15,35・・・ハードディスク装置(HDD)、16,36・・・操作部、17,37・・・表示部、18,38・・・USBインターフェース(USB I/F)、41・・・印刷部、42・・・読取部、43・・・モデム、51・・・タスクバー、53・・・スタートボタン、55・・・メニュー、57,59・・・ショートカット、61,71・・・ダイアログボックス、63,73・・・サブページ、65,75・・・イベント選択欄、67,77・・・プログラム選択欄。

Claims (7)

  1. 同じソフトウェアの旧版プログラムと最新版プログラムが組み込まれた情報処理装置を、所定の旧版起動イベントの発生を検出した際に前記旧版プログラムを起動する構成から、前記旧版起動イベントの発生を検出した際に前記最新版プログラムを起動する構成に変更する処理を、前記情報処理装置に実行させるための構成変更プログラムであり、
    前記情報処理装置を、
    前記情報処理装置に組み込まれた前記旧版プログラムを検出する旧版検出手段と、
    前記旧版検出手段によって前記旧版プログラムが検出された場合に、前記旧版プログラムが格納されたファイルのパス名を、第1パス名から第2パス名に変更するパス名変更手段と、
    前記情報処理装置に組み込まれた前記最新版プログラムを検出できた場合には、前記最新版プログラムを起動する一方、前記最新版プログラムを検出できなかった場合には、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する処理を、前記情報処理装置に実行させるための起動プログラムが格納されたファイルを、前記パス名変更手段によるパス名の変更後に、前記第1パス名を持つファイルとして生成する起動プログラムファイル生成手段
    として機能させることを特徴とする構成変更プログラム。
  2. 前記旧版検出手段は、前記旧版プログラムを前記情報処理装置に組み込んだときに前記情報処理装置が備える管理用記憶領域に登録される旧版プログラムの格納フォルダに関する情報が、前記管理用記憶領域内に存在する場合に、前記管理用記憶領域内の情報に基づいて、前記情報処理装置に組み込まれた前記旧版プログラムを検出する
    ことを特徴とする請求項1に記載の構成変更プログラム。
  3. 前記旧版検出手段は、前記第1のパス名を持つファイルに格納されたプログラムが前記起動プログラムではない場合に、前記第1のパス名を持つファイルに格納されたプログラムを前記旧版プログラムとして検出する
    ことを特徴とする請求項1または請求項2に記載の構成変更プログラム。
  4. 前記情報処理装置を、さらに、
    前記旧版プログラムが既に起動済みか否かを判定する旧版起動状態判定手段と、
    前記旧版起動状態判定手段によって前記旧版プログラムが既に起動済みであると判定された場合に、起動済みの前記旧版プログラムを終了させる終了制御手段
    として機能させることを特徴とする請求項1〜請求項3のいずれかに記載の構成変更プログラム。
  5. 前記情報処理装置を、さらに、
    前記情報処理装置に組み込まれた前記最新版プログラムを検出する最新版検出手段と、
    前記最新版検出手段によって前記最新版プログラムが検出された場合に、検出された前記最新版プログラムを起動する最新版プログラム起動手段と、
    前記最新版検出手段によって前記最新版プログラムが検出されなかった場合に、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する旧版プログラム起動手段
    として機能させる構成を備えることにより、前記起動プログラムとして構成されている
    ことを特徴とする請求項1〜請求項4のいずれかに記載の構成変更プログラム。
  6. 前記情報処理装置を、さらに、
    前記情報処理装置に前記最新版プログラムを組み込むための処理を実行する最新版インストール手段として機能させる構成を備えることにより、最新版インストールプログラムとして構成されている
    ことを特徴とする請求項1〜請求項4のいずれかに記載の構成変更プログラム。
  7. 同じソフトウェアの旧版プログラムと最新版プログラムが組み込まれ、所定の旧版起動イベントの発生を検出した際に前記旧版プログラムを起動する構成から、前記旧版起動イベントの発生を検出した際に前記最新版プログラムを起動する構成に変更する処理を実行する情報処理装置であり、
    前記情報処理装置に組み込まれた前記旧版プログラムを検出する旧版検出手段と、
    前記旧版検出手段によって前記旧版プログラムが検出された場合に、前記旧版プログラムが格納されたファイルのパス名を、第1パス名から第2パス名に変更するパス名変更手段と、
    前記情報処理装置に組み込まれた前記最新版プログラムを検出できた場合には、前記最新版プログラムを起動する一方、前記最新版プログラムを検出できなかった場合には、前記第2パス名を持つファイルに格納された前記旧版プログラムを起動する処理を、前記情報処理装置に実行させるための起動プログラムが格納されたファイルを、前記パス名変更手段によるパス名の変更後に、前記第1パス名を持つファイルとして生成する起動プログラムファイル生成手段
    を備えることを特徴とする情報処理装置。
JP2006108795A 2006-04-11 2006-04-11 構成変更プログラム、および情報処理装置 Expired - Fee Related JP4946141B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006108795A JP4946141B2 (ja) 2006-04-11 2006-04-11 構成変更プログラム、および情報処理装置
US11/733,765 US9250933B2 (en) 2006-04-11 2007-04-11 Information processor with configuration modification function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006108795A JP4946141B2 (ja) 2006-04-11 2006-04-11 構成変更プログラム、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2007280274A true JP2007280274A (ja) 2007-10-25
JP4946141B2 JP4946141B2 (ja) 2012-06-06

Family

ID=38577071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006108795A Expired - Fee Related JP4946141B2 (ja) 2006-04-11 2006-04-11 構成変更プログラム、および情報処理装置

Country Status (2)

Country Link
US (1) US9250933B2 (ja)
JP (1) JP4946141B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146122A (ja) * 2007-12-13 2009-07-02 Nec Infrontia Corp インストーリング方法、インストーラ及びインストーリング用プログラム
JP2012049996A (ja) * 2010-08-30 2012-03-08 Ricoh Co Ltd 画像処理システム、画像処理装置、画像処理方法及び画像処理プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315996B2 (en) * 2008-08-13 2012-11-20 International Business Machines Corporation Efficient management of customized functionality within shared data objects
US8321843B2 (en) * 2009-02-09 2012-11-27 Tranxition Corporation Automatic analysis of an application's run-time settings
US8464242B2 (en) * 2009-07-08 2013-06-11 Tranxition Corporation Virtualization of configuration settings
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
US9436455B2 (en) 2014-01-06 2016-09-06 Apple Inc. Logging operating system updates of a secure element of an electronic device
US9483249B2 (en) 2014-01-06 2016-11-01 Apple Inc. On-board applet migration
US9934014B2 (en) 2014-08-22 2018-04-03 Apple Inc. Automatic purposed-application creation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03164934A (ja) * 1989-11-24 1991-07-16 Hitachi Ltd モジュール管理方法
JPH09222998A (ja) * 1996-02-15 1997-08-26 Fuji Facom Corp 計算機システムのモジュール管理装置
JP2000207178A (ja) * 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末におけるプログラムのダウンロ―ド後の新旧バ―ジョン切り替え方式

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
JPH07295796A (ja) 1994-04-20 1995-11-10 Casio Comput Co Ltd プログラム起動装置
US5740359A (en) * 1994-12-27 1998-04-14 Kabushiki Kaisha Toshiba Program execution system having a plurality of program versions
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
JP2006134214A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd ファイルのバージョン管理方法および計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03164934A (ja) * 1989-11-24 1991-07-16 Hitachi Ltd モジュール管理方法
JPH09222998A (ja) * 1996-02-15 1997-08-26 Fuji Facom Corp 計算機システムのモジュール管理装置
JP2000207178A (ja) * 1999-01-18 2000-07-28 Fujitsu Ten Ltd 車載端末におけるプログラムのダウンロ―ド後の新旧バ―ジョン切り替え方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146122A (ja) * 2007-12-13 2009-07-02 Nec Infrontia Corp インストーリング方法、インストーラ及びインストーリング用プログラム
US8584116B2 (en) 2007-12-13 2013-11-12 Nec Infrontia Corporation Installing method, installer, and installing program
JP2012049996A (ja) * 2010-08-30 2012-03-08 Ricoh Co Ltd 画像処理システム、画像処理装置、画像処理方法及び画像処理プログラム

Also Published As

Publication number Publication date
JP4946141B2 (ja) 2012-06-06
US20070240148A1 (en) 2007-10-11
US9250933B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
JP4946141B2 (ja) 構成変更プログラム、および情報処理装置
KR100531063B1 (ko) 정보 처리 장치, 정보 처리 장치를 제어하는 방법, 및상기 방법을 구현하기 위한 프로그램을 저장한 기억 매체
JP2008084304A (ja) 画像形成装置、プログラム更新方法及びプログラム
JP2005135389A (ja) プリンタコントローラの自動プリンタドライバ構成
JP5487962B2 (ja) 操作抑制システム、画像形成装置、操作抑制情報提供装置、及び操作抑制方法
US8711412B2 (en) Information processing apparatus, including updating of program and program information, and method of updating program of the information processing apparatus
CN108984192B (zh) 信息处理设备、计算机可读介质和程序管理方法
JP2008003815A (ja) コンピュータシステム、ネットワークブートシステム、osイメージ切替方法、osイメージ切替プログラム
JP4661939B2 (ja) 情報処理装置
US10089102B2 (en) Information processing apparatus, method, and program
JP4448953B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
JP4983815B2 (ja) 情報処理装置及び制御プログラム
JP7229293B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2008059238A (ja) 通信システム及びそれに使用するプリンタ
JP4792744B2 (ja) 画像処理装置
JP2016173771A (ja) プログラム、情報処理装置、情報処理方法、記憶媒体
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
JP4802607B2 (ja) 画像処理装置
JP2007066132A (ja) プログラムシステム
JP2011180856A (ja) 画像形成装置及びプログラム
JP5169718B2 (ja) 情報処理装置、表示画面起動方法、及びプログラム
JP6572683B2 (ja) スキャナ、スキャナの制御プログラム、および通信システム
JP5338610B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2006129362A (ja) デジタル複合機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4946141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees