[go: up one dir, main page]

JP5699500B2 - インストールプログラム、インストール方法、画像形成装置、及び記録媒体 - Google Patents

インストールプログラム、インストール方法、画像形成装置、及び記録媒体 Download PDF

Info

Publication number
JP5699500B2
JP5699500B2 JP2010208213A JP2010208213A JP5699500B2 JP 5699500 B2 JP5699500 B2 JP 5699500B2 JP 2010208213 A JP2010208213 A JP 2010208213A JP 2010208213 A JP2010208213 A JP 2010208213A JP 5699500 B2 JP5699500 B2 JP 5699500B2
Authority
JP
Japan
Prior art keywords
application
installation
jsdk
program
csdk
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.)
Expired - Fee Related
Application number
JP2010208213A
Other languages
English (en)
Other versions
JP2012064022A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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
Priority to JP2010208213A priority Critical patent/JP5699500B2/ja
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to AU2011303103A priority patent/AU2011303103B2/en
Priority to KR1020137006492A priority patent/KR101516504B1/ko
Priority to CN201180043967.2A priority patent/CN103154888B/zh
Priority to SG2013013867A priority patent/SG188292A1/en
Priority to PCT/JP2011/070910 priority patent/WO2012036174A1/en
Priority to BR112013006419A priority patent/BR112013006419A2/pt
Priority to EP11825174.3A priority patent/EP2616933A4/en
Priority to US13/820,348 priority patent/US9274776B2/en
Publication of JP2012064022A publication Critical patent/JP2012064022A/ja
Application granted granted Critical
Publication of JP5699500B2 publication Critical patent/JP5699500B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、インストールプログラム、インストール方法、画像形成装置、及び記録媒体に関し、特に画像形成装置に対するプログラムのインストールを実行するインストールプログラム、インストール方法、画像形成装置、及び記録媒体に関する。
従来、その出荷後にアプリケーションプログラム等をプラグインとして追加可能な画像形成装置が存在する。例えば、特許文献1に記載された画像形成装置には、C言語によって開発されたアプリケーション(以下、「Cアプリ」という。)と、Java(登録商標)によって開発されたアプリケーション(以下、「Jアプリ」という。)とをインストールすることができる。
但し、Cアプリ用のプラットフォームとJアプリ用のプラットフォームとは異なる。具体的には、Jアプリ用のプラットフォームは、Cアプリ用のプラットフォーム上に、Java(登録商標)用のAPI(Application Program Interface)を備えたプラットフォーム(特許文献1におけるJSDKプラットフォーム)が存在する。
JSDKプラットフォームは、Cアプリ用のプラットフォームに対して機種依存性が著しく低下されている。すなわち、JSDKプラットフォームが有するAPIは、機種に対して平滑化されている。したがって、アプリケーションの開発者からすると、開発対象のアプリケーションをJアプリとして作成する方が有利である。Jアプリは、機種ごとにソースコードを変える必要性が低く、開発コストを削減することができるからである。
しかし、JSDKプラットフォームが提供しているAPIの機能範囲は、Cアプリ用のプラットフォームが提供しているAPIの機能範囲よりも狭い。すなわち、純粋なJアプリが実現可能な機能は、純粋なCアプリによって実現可能な機能よりも少ない。ここで、純粋なJアプリとは、JSDKプラットフォームにおいて動作するプログラムモジュールのみによって構成されるJアプリをいう。
したがって、Jアプリのみでは実現できない機能に関しては、Cアプリとして実装する必要がある。その場合、一つのアプリケーションとして販売されるパッケージの中に、JアプリとしてのモジュールとCアプリとしてのモジュールとが混在することになる。
しかしながら、JアプリとCアプリとが混在したアプリケーションは、ユーザから見れば一つのアプリケーションであるにも拘わらず、斯かる構成のアプリケーションの存在が考慮されていない画像形成装置から見れば、二つのアプリケーションである。したがって、ユーザは、2回分のインストール作業を行わなければならない(インストールの実行指示を2回行わなければならない)という問題がある。
このような画像形成装置に関して、斯かる構成のアプリケーションの存在を考慮してアプリケーションのインストール機構を修正することにより、1回のインストール指示に応じてJアプリのインストール処理と、Cアプリのインストール処理とを実行させることは技術的に可能である。
しかし、JアプリとCアプリとが混在したアプリケーションの存在が考慮されていない画像形成装置は、既に多数販売されており、エンドユーザによって利用されている。これらの画像形成装置に関して、上記修正を適用するのは、多大なコストと労力とを必要とする。
本発明は、上記の点に鑑みてなされたものであって、プログラムのインストール操作を簡便化させることのできるインストールプログラム、インストール方法、画像形成装置、及び記録媒体の提供を目的とする。
そこで上記課題を解決するため、インストールプログラムは、第一のプログラムの起動時に、前記第一のプログラムからの呼び出しを受け付ける呼び出し受付手順と、前記呼び出しに応じ、前記第一のプログラムより利用される第二のプログラムをインストールするインストール手順とを画像形成装置に実行させる。
このようなインストールプログラムでは、プログラムのインストール操作を簡便化させることができる。
本発明によれば、プログラムのインストール操作を簡便化させることができる。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 CSDKアプリとJSDKアプリの管理機構の例を示す図である。 第一の実施の形態においてインストール対象とされるSDKアプリの構成例を示す図である。 第一の実施の形態におけるSDKアプリのインストール処理及びアンインストール処理の処理手順の一例を説明するためのシーケンス図である。 第二の実施の形態においてインストール対象とされるSDKアプリの構成例を示す図である。 代行ライブラリを含むSDKアプリに関するインストール機構を説明するための図である。 第二の実施の形態におけるSDKアプリのインストール処理及びアンインストール処理の処理手順の一例を説明するためのシーケンス図である。 代行ライブラリによるCSDKアプリのインストール処理の処理手順の一例を説明するための図である。 代行属性ファイルに記録されている情報の内容の一例を示す図である。 代行ライブラリによるCSDKアプリのアンインストール処理の処理手順の一例を説明するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。NVRAM115には、各種の設定情報等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ151、SAS152、CSDKアプリ153、JVM154、JSDKプラットフォーム155、JSDKアプリ156、VAS157、コントロールサービス158、及びOS159等を有する。
標準アプリ151は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1511、印刷アプリ1512、コピーアプリ1513、及びFAXアプリ1514が例示されている。スキャンアプリ1511は、スキャンジョブを実行する。印刷アプリ1512は印刷ジョブを実行する。コピーアプリ1513は、コピージョブを実行する。FAXアプリ1514は、FAXの送信ジョブ又は受信ジョブを実行する。
コントロールサービス158は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供したり、画像形成装置10の基盤的な機能等を実行したりするソフトウェアモジュール群である。
VAS157(Virtual Application Service)は、コントロールサービス158のインタフェースをラッピングし、コントロールサービス158のバージョンアップに伴うインタフェースの相違点を吸収する。したがって、VAS157上で動作するプログラム(特に、CSDKアプリ153)に対しては、コントロールサービス158のパージョン間の互換性が保証される。
CSDKアプリ153及びJSDKアプリ156は、それぞれ、SDKアプリの一種である。SDKアプリとは、画像形成装置10に対するプラグインとして、画像形成装置10の機能拡張を図るために開発されるアプリケーションをいう。すなわち、画像形成装置10は、SDKアプリ用の、公開された専用のAPI(Application Program Interface)を備える。一つは、VAS157によって提供されるC言語のAPIである。もう一つは、後述されるJSDKプラットフォーム155によって提供されるJava(登録商標)言語のAPIである。C言語のAPIを利用して作成されるSDKアプリを「CSDKアプリ153」という。Java(登録商標)言語のAPIを利用して作成されるSDKアプリを「JSDKアプリ156」という。なお、同図において、CSDKアプリ153は、一つのブロック(矩形)によって表現されているが、複数のCSDKアプリ153が一台の画像形成装置10にインストールされうる。
JVM154は、いわゆるJava(登録商標)仮想マシン(Java(登録商標) Virtual Machine)であり、Java(登録商標)バイトコードによって定義された命令を解釈して実行する。本実施の形態において、JVM154は、CSDKアプリの一つとして実装されている。
SAS152(SDKアプリケーションサービス)は、CSDKアプリ153のライフサイクルを管理する。例えば、SAS152は、CSDKアプリ153のインストール処理、起動処理、停止処理、及びアンインストール処理等を制御する。
JSDKプラットフォーム155は、JSDKアプリ156の実行環境を提供する。すなわち、JSDKプラットフォーム155は、Java(登録商標)言語によるAPIをJSDKアプリ156に対して提供する。JSDKプラットフォーム155は、また、JSDK管理部1551及びコールバック制御部1552等を有する。JSDK管理部1551は、JSDKアプリ156のライフサイクルを管理する。例えば、JSDK管理部1551は、JSDKアプリ156のインストール処理、起動処理、停止処理、及びアンインストール処理等を制御する。なお、JSDK管理部1551は、一つのJSDKアプリ156として実装されてもよい。コールバック制御部1552は、コールバック処理の制御を行う。コールバックとは、プログラミングにおけるいわゆるコールバックである。すなわち、コールバックとは、イベント(事象)の種別と通知先(コールバック関数)とを予め登録しておくことにより、当該イベントの発生に応じて、当該通知先への呼び出しを発生させるための仕組み又は機構である。
OS159は、いわゆるOS(Operating System)である。画像形成装置10上の各ソフトウェアは、OS159上においてプロセス又はスレッドとして動作する。
図3は、CSDKアプリとJSDKアプリの管理機構の例を示す図である。同図に示されるように、CSDKアプリ153のライフサイクルは、SAS152によって管理される。各CSDKアプリ153は、それぞれ別個のプロセスとして起動される。なお、JVM154もCSDKアプリ153の一つである。したがって、JVM154もSAS152によって一つのプロセスとして起動される。
一方、JSDKアプリ156のライフサイクルは、JSDK管理部1551によって管理される。各JSDKアプリ156は、それぞれ別個のスレッドとしてJVM154のプロセス上で起動される。
このように、CSDKアプリ153とJSDKアプリ156とによってそれぞれ管理機構体が異なるのは、それぞれのアプリケーションの開発言語が異なる点がその理由の一つとして挙げられる。例えば、SAS152によって、JSDKアプリ156の制御を直接行おうとすると、C言語のソースコードの中からJava(登録商標)言語によるインタフェースを呼び出さなければならず、高度なプログラミング技術が必要とされると共に、その処理内容が煩雑となるからである。また、CSDKアプリ153の方はプロセスとして実行され、JSDKアプリ156の方はスレッドとして実行されるといったように、両者の実行形態が異なる点を考慮しても、CSDKアプリ153用のアプリケーション管理機構とJSDKアプリ156用のアプリケーション管理機構とを別個に設けた方が、管理機構の単純化といった観点から有利である。
但し、CSDKアプリ153及びJSDKアプリ156のインストール、アンインストール、起動、又は停止等をユーザに指示させるためのユーザインタフェースは、統合されている。具体的には、当該ユーザインタフェースを提供するアプリ管理画面510は、SAS152によって一元的に操作パネル15に表示される。アプリ管理画面510においてCSDKアプリ153が操作対象とされた場合、SAS152は、自らが直接的に操作指示に応じた処理(インストール、アンインストール、起動、又は停止等)を実行する。一方、アプリ管理画面510においてJSDKアプリ156が操作対象とされた場合、SAS152は、操作指示をJSDK管理部1551に通知する。JSDK管理部1551は、SAS152からの通知に応じ、当該操作指示に応じた処理(インストール、アンインストール、起動、又は停止等)を実行する。
なお、SAS152とJSDK管理部1551との間のやり取りは、HTTP(HyperText Transfer Protocol)やSOAP(Simple Object Access Protocol)等、開発言語の別を問わず簡便に利用できるプロトコルを用いるとよい。そうすることによって、C言語のソースコードの中からJava(登録商標)言語によるインタフェースを呼び出す必要がなくなり、処理内容の煩雑さが解消される。
第一の実施の形態においてインストール対象とされるSDKアプリの構成例について説明する。第一の実施の形態では、CSDKアプリ153とJSDKアプリ156とが単純に混在したSDKアプリがインストール対象とされる。ここで、「単純に」とは、CSDKアプリ153とJSDKアプリ156とが混在したSDKアプリを、一つのSDKアプリとしてインストール等させるための工夫がされていないことをいう。
図4は、第一の実施の形態においてインストール対象とされるSDKアプリの構成例を示す図である。
同図において、SDKアプリA1は、JSDKファイル156Fa及びCSDKファイル153Fbを含む。JSDKファイル156Faは、JSDKアプリ156a及びJSDK属性ファイル156Pa等を含む一つの書庫ファイル(例えば、JAR(Java(登録商標) Archive)ファイル)である。JSDKアプリaは、SDKアプリA1における、JSDKアプリ156の実体である。JSDK属性ファイル156Pは、JSDKファイル156Faの構成情報やJSDKアプリ156aに関する属性情報(識例えば、JSDKアプリ156aの識別子(アプリ識別子)等)を含むファイルである。
CSDKファイル153Faは、CSDKアプリ153a及びCSDK属性ファイル153Pa等を含む一つの書庫ファイルである。CSDKアプリ153aは、SDKアプリA1における、CSDKアプリ153の実体である。CSDK属性ファイル153Pは、CSDKファイル153Faの構成情報やCSDKアプリ153aに関する属性情報(例えば、CSDKアプリ153aのアプリ識別子等)を含むファイルである。
なお、JSDKアプリ156aは、CSDKアプリ153aを利用して所定の機能を実現するJSDKアプリ156である。すなわち、SDKアプリA1において、CSDKアプリ153aは、一つのプログラムモジュールとして位置付けられる。なお、JSDKアプリ156aによるCSDKアプリ153aのメソッドの呼び出しは、例えば、JNI(Java(登録商標) Native Interface)を利用して実現される。
同図には、SDKアプリA1がSDカード80aに記録された状態が示されている。この場合、JSDKファイル156FaとCSDKファイル153Faとはそれぞれ独立したファイルとして、SDカード80aに記録される。すなわち、同図において、SDKアプリA1を示す破線の矩形は、一つのSDKアプリA1の論理的又は概念的な範囲を示すものである。
以下、図4に示されるSDKアプリA1に関する画像形成装置10へのインストール及びアンインストールの処理手順について説明する。
図5は、第一の実施の形態におけるSDKアプリのインストール処理及びアンインストール処理の処理手順の一例を説明するためのシーケンス図である。同図の処理の開始前において、図4に示されるSDカード80aがSDカードスロット17に挿入さている。また、アプリ管理画面510の一つであるメイン画面がSAS152によって操作パネル15に表示されている。
メイン画面において、インストールの実行が選択されると、SAS152は、SDカード80a内のJSDKファイル156Faに含まれているJSDK属性ファイル156Pa及びCSDKファイル153Faに含まれているCSDK属性ファイル153Paに基づいて、JSDKアプリ156a及びCSDKアプリ153aのそれぞれを別個の行とするSDKアプリの選択リストを含むインストール画面を操作パネルに表示させる。なお、インストール画面は、アプリ管理画面510の一つである。
ステップS101において、ユーザは、インストール画面に含まれているJSDKアプリ156aの行を選択状態として、インストールの実行指示をインストール画面を介して入力する。当該インストールの実行指示は、SAS152を介してJSDK管理部1551に通知される。なお、図5において、SAS152の経由は省略されている。
続いて、JSDK管理部1551は、JSDKアプリ156aのインストール処理を実行する(S102)。具体的には、SDカード80aよりJSDKファイル156Faが読み込まれ、展開される。また、JSDKプラットフォーム155が所定の記憶媒体を用いて管理するJSDKアプリ156のインストール情報(インストールされているJSDKアプリ156の一覧情報)に、JSDKアプリ156aのアプリ識別子等を含むエントリが追加される。更に、JSDKアプリ156a及びJSDK属性ファイル156Paが所定の記憶領域(以下、「JSDKインストール領域」という。)にコピーされる。インストール処理が終了すると、JSDK管理部1551は、SAS152に対してインストール処理が終了したことを応答する。当該応答に応じて、インストール処理が終了したことが、SAS152によってインストール画面を介してユーザに通知される(S103)。
続いて、ユーザが、メイン画面において起動の実行を選択すると、SAS152は、NVRAM115を用いて管理されているCSDKアプリ153のインストール情報(インストールされているCSDKアプリ153の一覧情報)、又はJSDKアプリ156のインストール情報に含まれているCSDKアプリ153及びJSDKアプリ156の一覧を含む起動画面を操作パネル15に表示させる。SAS152は、JSDK管理部1551に問い合わせることにより、JSDKアプリ156のインストール情報を取得する。なお、起動画面は、アプリ管理画面510の一つである。
ユーザは、起動画面に含まれているJSDKアプリ156aの行を選択状態として、起動指示を起動画面を介して入力する(S104)。当該起動指示は、SAS152を介してJSDK管理部1551に通知される。
続いて、JSDK管理部1551は、JSDKアプリ156aに対して起動要求を入力する(S105)。当該起動要求に応じ、JSDKアプリ156aは、JVM154上においてスレッドとして起動される(S106)。
続いて、ユーザによる指示に応じて、SAS152は、インストール画面を再度表示させる。ユーザは、インストール画面に含まれているCSDKアプリ153aの行を選択状態として、インストールの実行指示をインストール画面を介して入力する(S111)。続いて、SAS152は、CSDKアプリ153aのインストール処理を実行する(S112)。具体的には、SDカード80aよりCSDKファイル153Faが読み込まれ、展開される。また、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報に、CSDKアプリ153aのアプリ識別子等を含むエントリが追加される。更に、CSDKアプリ153a及びCSDK属性ファイル153Paが、所定の記憶領域(以下、「CSDKインストール領域」という。)にコピーされる。
インストールが終了すると、SAS152は、インストールが終了したことを、インストール画面を介してユーザに通知する(S113)。
その後、SDKアプリA1が不要となった場合、ユーザは、メイン画面においてアンインストールの実行を選択する。SAS152は、CSDKアプリ153のインストール情報又はJSDKアプリ156のインストール情報に含まれているCSDKアプリ153及びJSDKアプリ156の一覧を含むアンインストール画面を操作パネル15に表示させる。なお、アンインストール画面は、アプリ管理画面510の一つである。
ユーザは、アンインストール画面に含まれているJSDKアプリ156aの行を選択状態として、アンインストール指示をアンインストール画面を介して入力する(S121)。当該アンインストール指示は、SAS152を介してJSDK管理部1551に通知される。
アンインストール指示に応じ、JSDK管理部1551は、JSDKアプリ156aに対して停止要求を入力する(S122)。当該停止要求に応じ、JSDKアプリ156aに係るスレッドは終了する(S123)。続いて、JSDK管理部1551は、JSDKアプリ156aのアンインストール処理を実行する(S124)。例えば、JSDKプラットフォーム155によって管理されている、JSDKアプリ156のインストール情報より、JSDKアプリ156aのエントリが削除される。また、JSDKインストール領域にコピーされていたJSDKアプリ156a及びJSDK属性ファイル156Paが削除される。
続いて、ユーザは、アンインストール画面に含まれているCSDKアプリ153aの行を選択状態として、アンインストール指示をアンインストール画面を介して入力する(S131)。アンインストール指示に応じ、SAS152は、CSDKアプリ153aのアンインストール処理を実行する(S132)。例えば、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報より、CSDKアプリ153aに関するエントリが削除される。また、CSDKインストール領域にコピーされていたCSDKアプリ153a及びCSDK属性ファイル153Paが削除される。
以上のように、第一の実施の形態では、一つのSDKアプリA1であるにも拘わらず、インストール操作及びアンインストール操作のそれぞれについて、2回の操作(ステップS101及びS111とステップS121及びS131)が必要とされる。
このような不都合を是正するため、第二の実施の形態では、図6に示されるようにSDKアプリが構成される。
図6は、第二の実施の形態においてインストール対象とされるSDKアプリの構成例を示す図である。
同図に示されるSDカード80bには、SDKアプリB1として、一つのJSDKファイル156Fbが記録されている。JSDKファイル156Fbは、JSDKアプリ156b、JSDK属性ファイル156Pb、CSDKファイル153Fb、代行ライブラリ211、及び代行属性ファイル211P等を含む書庫ファイル(例えば、JARファイル)である。JSDKアプリ156bは、SDKアプリA1における、JSDKアプリ156の実体である。JSDK属性ファイル156Pは、JSDKファイル156Fbの構成情報やJSDKアプリ156bに関する属性情報(例えば、JSDKアプリ156bのアプリ識別子等)を含むファイルである。
CSDKファイル153Fbは、図4におけるCSDKファイル153Faと同様の構成を有する書庫ファイルである。すなわち、CSDKファイル153Fbには、SDKアプリA1における、CSDKアプリ153の実体であるCSDKアプリ153bと、CSDKファイル153Fbの構成情報やCSDKアプリ153bに関する属性情報(例えば、CSDKアプリ153bのアプリ識別子等)を含むCSDK属性ファイル153Pbと等が含まれる。
このように、第二の実施の形態では、CSDKアプリ153bは、JSDKアプリ156aのJARファイル内に格納されている。
なお、第二の実施の形態において、JSDKアプリ156bとCSDKアプリ153bとの依存関係は、第一の実施の形態におけるJSDKアプリ156aとCSDKアプリ153aとの依存関係と同様である。すなわち、JSDKアプリ156bは、CSDKアプリ153bを一つのプログラムモジュールとして利用する。
代行ライブラリ211は、CSDKアプリ153bのインストール処理及びアンインストール処理を実行するプログラムモジュール(ライブラリ)である。同図に示されるように、代行ライブラリ211は、Java(登録商標)層211jとネイティブ層211cとを有する。Java(登録商標)層211jは、JSDKアプリ156bに対するインタフェース(メソッド等)を提供する層であり、Java(登録商標)言語によって実装されている。Native層は、インストール処理及びアンインストール処理のアルゴリズムがC言語によって実装されている層である。すなわち、代行ライブラリ211において、本質的な機能はC言語によって実装され、C言語によって実装された部分は、Java(登録商標)言語によってラッピングされている。代行ライブラリ211の本質的な機能がC言語によって実装されているのは、代行ライブラリ211は、NVRAM115等にアクセスする必要があるところ、NVRAM115へのアクセスをJava(登録商標)言語によって実装するのは困難だからである。また、代行ライブラリ211がJava(登録商標)層211jを有するのは、JSDKアプリ156bによる代行ライブラリ211の利用(呼び出し)を容易なものとするためのである。なお、代行ライブラリ211は、例えば、一つのJARファイルとしてJSDKアプリ156bに含まれている。
代行属性ファイル211Pは、代行ライブラリ211によるCSDKアプリ153bのインストール等に必要な情報が含まれているファイルである。
代行ライブラリ211を含むSDKアプリに関して、画像形成装置10におけるインストールの機構(仕組み)について説明する。図7は、代行ライブラリを含むSDKアプリに関するインストール機構を説明するための図である。
同図に示されるように、JSDKアプリ156bのインストールに関しては、第一の実施の形態と同様に行われる。すなわち、アプリ管理画面510に対して入力された指示が、SAS152からJSDK管理部1551に通知される。JSDK管理部1551は、通知され指示に応じてJSDKアプリ156bのインストール又はアンインストールを実行する。
インストールされたJSDKアプリ156bは、起動時に代行ライブラリ211を呼び出す。代行ライブラリ211は、呼び出しに応じ、CSDKアプリ153bのインストール処理を、SAS152に代わって実行する。
また、JSDKアプリ156bがアンインストールされると、その旨がコールバック制御部1552により代行ライブラリ211にコールバックされる(通知される)。代行ライブラリ211は、コールバックに基づいてJSDKアプリ156bのアンインストールを検知する。代行ライブラリ211は、当該アンインストールの検知に応じ、CSDKアプリ153bのアンインストール処理を、SAS152に代わって実行する。
このように、代行ライブラリ211を含むSDKアプリB1においては、CSDKアプリ153bのインストール処理及びアンインストール処理が、代行ライブラリ211によって代行される。
以下、図6に示されるSDKアプリB1に関する画像形成装置10へのインストール及びアンインストールの処理手順について説明する。
図8は、第二の実施の形態におけるSDKアプリのインストール処理及びアンインストール処理の処理手順の一例を説明するためのシーケンス図である。同図の処理の開始前において、図6に示されるSDカード80bがSDカードスロット17に挿入さている。また、アプリ管理画面510の一つであるメイン画面がSAS152によって操作パネル15に表示されている。
メイン画面においてインストールの実行が選択されると、SAS152は、SDカード80b内のJSDKファイル156Fbに含まれているJSDK属性ファイル156Pbに基づいて、JSDKアプリ156bの行を選択候補として含むインストール画面を操作パネル15に表示させる。
ステップS201において、ユーザは、インストール画面に含まれているJSDKアプリ156bの行を選択状態として、インストールの実行指示をインストール画面を介して入力する。当該インストールの実行指示は、SAS152を介してJSDK管理部1551に通知される。なお、図8において、SAS152の経由は省略されている。
続いて、JSDK管理部1551は、JSDKアプリ156bのインストール処理を実行する(S202)。具体的には、SDカード80bよりJSDKファイル156Fbが読み込まれ、展開される。また、JSDKプラットフォーム155が所定の記憶媒体を用いて管理するJSDKアプリ156のインストール情報に、JSDKアプリ156bのアプリ識別子等を含むエントリが追加される。更に、JSDKファイル156Fbに含まれている、JSDKアプリ156b、JSDK属性ファイル156Pb、CSDKファイル153Fb、代行ライブラリ211、及び代行属性ファイル211PがJSDKインストール領域にコピーされる。なお、CSDKファイル153Fb、代行ライブラリ211、及び代行属性ファイル211P等は、JSDK管理部1551にとっては、JSDKアプリ156bのリソースファイルとして見える。したがって、JSDK管理部1551は、CSDKファイル153Fb、代行ライブラリ211、及び代行属性ファイル211Pについて特別な処理を実行することはない。但し、代行ライブラリ211については、JSDKアプリ156bのリソースファイルとして保存されることにより、そのインストールは完了する。すなわち、代行ライブラリは、JSDKアプリ156bのインストールに付随して(JSDKアプリ156bと共に)インストールされる。
インストール処理が終了すると、JSDK管理部1551は、SAS152に対してインストールが終了したことを応答する。当該応答に応じて、インストールが終了したことが、SAS152によってインストール画面を介してユーザに通知される(S203)。
続いて、ユーザが、メイン画面において起動の実行を選択すると、SAS152は、CSDKアプリ153のインストール情報、又はJSDKアプリ156のインストール情報に含まれているCSDKアプリ153及びJSDKアプリ156の一覧を含む起動画面を操作パネル15に表示させる。
ユーザは、起動画面に含まれているJSDKアプリ156bの行を選択状態として、起動指示を起動画面を介して入力する(S204)。当該起動指示は、SAS152を介してJSDK管理部1551に通知される。
続いて、JSDK管理部1551は、JSDKアプリ156aに対して起動要求を入力する(S205)。当該起動要求に応じ、JSDKアプリ156aは、JVM154上においてスレッドとして起動される(S206)。続いて、JSDKアプリ156aは、代行ライブラリ211をRAM112にロードし、ロードされた代行ライブラリ211のJava(登録商標)層211jにおける所定のメソッド(又は関数)を呼び出す(S207)。すなわち、代行ライブラリ211は、JSDKアプリ156aからの呼び出しを受け付ける。なお、代行ライブラリ211のロードに応じ、代行属性ファイル211PもRAM112にロードされる。
代行ライブラリ211は、呼び出しに応じ、JSDKアプリ156bのアンインストールを代行ライブラリ211に対して通知させるためのコールバック情報をJSDKプラットフォーム155のコールバック制御部1552に登録する(S208)。すなわち、イベントとして、「JSDKアプリ156bのアンインストール」が指定され、通知先(コールバック関数)として代行ライブラリ211の所定のメソッドが指定されたコールバック情報の登録が要求される。コールバック制御部1552は、当該コールバック情報を、例えば、RAM112を用いて記憶し、コールバック情報が登録されたことを代行ライブラリ211に応答する(S209)。
続いて、代行ライブラリ211のネイティブ層211cは、CSDKファイル153Fbに基づいて、CSDKアプリ153bのインストール処理を実行する(S210)。当該インストール処理の詳細については後述する。インストール処理の終了後、代行ライブラリ211のJava(登録商標)層211jは、インストール処理の結果を、呼び出し元のJSDKアプリ156bに応答する(S211)。続いて、JSDKアプリ156bは、処理の制御をJSDK管理部1551に戻す(S212)。JSDK管理部1551は、JSDKアプリ156bが起動されたことをSAS152に通知する。SAS152は、当該通知に応じて、JSDKアプリ156bが起動されたことを、起動画面に表示させる(S213)。
このように、第二の実施の形態では、JSDKアプリ156bの起動に応じて、代行ライブラリ211によってCSDKアプリ153bのインストールが自動的に実行される。
その後、SDKアプリA1が不要となった場合、ユーザは、メイン画面においてアンインストールの実行を選択する。SAS152は、CSDKアプリ153のインストール情報又はJSDKアプリ156のインストール情報に含まれているCSDKアプリ153及びJSDKアプリ156の一覧を含むアンインストール画面を操作パネル15に表示させる。
ユーザは、アンインストール画面に含まれているJSDKアプリ156bの行を選択状態として、アンインストール指示をアンインストール画面を介して入力する(S221)。当該アンインストール指示は、SAS152を介してJSDK管理部1551に通知される。
アンインストール指示に応じ、JSDK管理部1551は、JSDKアプリ156bに対して停止要求を入力する(S222)。当該停止要求に応じ、JSDKアプリ156bに係るスレッドは終了する(S223)。続いて、JSDK管理部1551は、JSDKアプリ156bのアンインストール処理を実行する(S224)。例えば、JSDKプラットフォーム155によって管理されている、JSDKアプリ156のインストール情報より、JSDKアプリ156bのエントリが削除される。また、JSDKインストール領域にコピーされていたJSDKアプリ156b、JSDK属性ファイル156Pb、CSDKファイル153Fb、代行ライブラリ211、及び代行属性ファイル211Pが削除される。
続いて、JSDKプラットフォーム155のコールバック制御部1552は、JSDKアプリ156bのアンインストールに応じ、ステップS208において登録されていたコールバック情報に指定されているコールバック関数を呼び出す(S225)。当該コールバック関数は、代行ライブラリ211のJava(登録商標)層211jの所定のメソッドである。したがって、当該所定のメソッドが呼び出される。その結果、JSDKアプリ156bがアンインストールされたことが、代行ライブラリ211に通知される。なお、ステップS224において、代行ライブラリ211のモジュールファイルは削除されているが、当該モジュールファイル及び代行属性ファイル211Pの内容は、RAM112にロードされている。したがって、代行ライブラリ211は、継続して処理を実行することができる。続いて、代行ライブラリ211のネイティブ層211cは、CSDKアプリ153bのアンインストール処理を実行する(S226)。
アンインストール処理の終了後、代行ライブラリ211のJava(登録商標)層211jは、処理の制御を、呼び出し元のコールバック制御部1552に戻す(S227)。続いて、JSDK管理部1551は、JSDKアプリ156bがアンインストールされたことをSAS152に通知する。SAS152は、当該通知に応じて、JSDKアプリ156bがアンインストールされたことを、アンインストール画面に表示させる(S228)。
このように、第二の実施の形態では、JSDKアプリ156bのアンインストールに応じて、代行ライブラリ211によってCSDKアプリ153bのアンインストールが自動的に実行される。
続いて、図8のステップS210の詳細について説明する。図9は、代行ライブラリによるCSDKアプリのインストール処理の処理手順の一例を説明するための図である。同図の説明において、「代行ライブラリ211」とは、代行ライブラリ211のネイティブ層211cを意味する。
ステップS301において、代行ライブラリ211は、インストール対象のCSDKアプリ153bが、画像形成装置10に既にインストール済みであるか否かを判定する。当該判定は、代行属性ファイル211Pと、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報とを比較又は照合することにより行われる。
図10は、代行属性ファイルに記録されている情報の内容の一例を示す図である。同図に示されるように、代行属性ファイル211Pbには、CSDKアプリ153bが対応可能な画像形成装置10の機種ごとに、機種名、アプリ識別子、及びCSDKファイル名等が記録されている。
機種名は、画像形成装置10の機種の名前(モデル名)である。アプリ識別子は、CSDKアプリ153bの識別子である。同一の機能を実現するCSDKアプリ153bであっても、機種によってファイルの内容が異なる場合は、異なるアプリ識別子が付与される。CSDKファイル名は、CSDKファイル153Fbの名前である。同図では、各機種に対して、共通のCSDKファイル153Fbが適用可能な例が示されている。したがって、各機種名に対応するアプリ識別子も共通している。
機種に応じて、適用すべきCSDKファイル153Fbが異なる場合、各アプリ識別子及び各CSDKファイル名は異なる。この場合、JSDKファイル156Fbには、複数のCSDKファイル153Fbが含まれる。
ステップS301では、インストール先の画像形成装置10の機種名に対して代行属性ファイル211Pにおいて対応付けられているアプリ識別子と同一のアプリ識別子が、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報に含まれているか否かが判定される。該当するアプリ識別子が、CSDKアプリ153のインストール情報に含まれている場合、代行ライブラリ211は、CSDKアプリ153bについてインストール済みであると判定し、図9の処理を正常終了させる。したがって、この場合、CSDKアプリ153bのインストールは実行されない。
該当するアプリ識別子が、CSDKアプリ153のインストール情報に含まれていない場合、代行ライブラリ211は、CSDKアプリ153bについて未インストールであると判定する。続いて、代行ライブラリ211は、代行属性ファイル211Pに基づいて、インストール先の画像形成装置10の機種名に対応するCSDKファイル名を判定する(S302)。
インストール先の画像形成装置10の機種名に対するCSDKファイル名が代行属性ファイル211Pに記録されていない場合、代行ライブラリ211は、図9の処理を異常終了させる(S305)。異常終了とは、インストールに失敗したことをJSDKアプリ156bに返却することをいう。
インストール先の画像形成装置10の機種名に対するCSDKファイル名が代行属性ファイル211Pに記録されている場合、代行ライブラリ211は、CSDKアプリ153bのインストールの可否を判定する(S304)。例えば、インストール可能なCSDKアプリ153の数に上限が有る場合や、他の制限がある場合には、CSDKアプリ153bのインストールが、これらの上限又は制限を超えるものでないか否かに基づいて、インストールの可否が判定される。
インストールが不可能であると判定された場合、代行ライブラリ211は、図9の処理を異常終了させる(S305)。インストールが可能であると判定された場合、代行ライブラリ211は、ステップS302において判定されたCSDKファイル名に係るCSDKファイル153Fbに基づいて、CSDKアプリ153bのインストール処理を実行する(S306)。具体的には、図8のステップS202においてJSDKインストール領域に保存されたCSDKファイル153Fbが展開され、CSDKアプリ153b及びCSDK属性ファイル153Pbが、CSDKインストール領域に保存される。また、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報に、CSDKアプリ153bのアプリ識別子等を含むエントリが追加される。
インストール処理に失敗した場合、例えば、CSDKインストール領域へのCSDKアプリ153b等の保存又はインストール情報の追加等に失敗した場合、代行ライブラリ211は、図9の処理を異常終了させる。
続いて、図8のステップS226の詳細について説明する。図11は、代行ライブラリによるCSDKアプリのアンインストール処理の処理手順の一例を説明するための図である。同図の説明において、「代行ライブラリ211」とは、代行ライブラリ211のネイティブ層211cを意味する。
ステップS401において、代行ライブラリ211は、CSDKアプリ153bのアンインストールの要否を判定する。具体的には、例えば、ステップS225において呼び出されたコールバック関数の引数に指定されているアンインストール対象のCSDKアプリ153bのアプリ識別子が、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報に含まれているか否かが判定される。すなわち、CSDKアプリ153bがインストールされているか否かに基づいて、アンインストールの要否が判定される。
アンインストールは不要であると判定される場合(CSDKアプリ153bはインストールされていない場合)、代行ライブラリ211は、図11の処理を異常終了させる(S403)。アンインストールは必要であると判定される場合(CSDKアプリ153bはインストールされている場合)、代行ライブラリ211は、CSDKアプリ153bのアンインストール処理を実行する(S402)。例えば、NVRAM115を用いて管理されている、CSDKアプリ153のインストール情報より、CSDKアプリ153bに関するエントリが削除される。また、CSDKインストール領域にコピーされていたCSDKアプリ153b及びCSDK属性ファイル153Pbが削除される。
アンインストール処理に失敗した場合、例えば、インストール情報からのエントリの削除又はCSDKアプリ153b等の削除に失敗した場合、代行ライブラリ211は、図11の処理を異常終了させる(S403)。
上述したように、本実施の形態によれば、JSDKアプリ156bの起動時において、代行ライブラリ211によって自動的にCSDKアプリ153bのインストールが実行される。また、JSDKアプリ156bのアンインストール時において、代行ライブラリ211によって自動的にCSDKアプリ153bのアンインストールが実行される。
したがって、ユーザは、CSDKアプリ153bについてインストール操作を行う必要はない。
また、CSDKアプリ153bのインストール又はアンインストールのためのロジックは、JSDKアプリ156bと共に配布される(JSDKアプリ156bの一部としてJSDKファイル156Fb含まれている)代行ライブラリ211に実装されている。換言すれば、当該ロジックは、画像形成装置10のインストール機構の既存部分(SAS152やJSDK管理部1551等)に実装される必要はない。したがって、画像形成装置10のインストール機構の既存部分に対する修正を要することはない。
また、CSDKアプリ153b(CSDKファイル153Fb)は、JSDKアプリ156bの一部としてJSDKファイル156Fbに含まれている。したがって、SAS152は、インストール対象を一つのJSDKアプリ156bとして、インストール画面に表示させることができる。また、JSDK管理部1551は、図5において説明したJSDKアプリ156aのインストール処理と同様の処理によって、CSDKアプリ153b(CSDKファイル153Fb)を画像形成装置10内に取り込む(保存する)ことができる。
なお、本実施の形態では、JSDKアプリ156とCSDKアプリ153とのインストールを簡便化する例について説明したが、組み合わされるプログラムのプログラミング言語は、必ずしも異なっていなくてもよい。また、3つ以上のプログラムの組み合わせに関して、本実施の形態が適用されてもよい。具体的には、JSDKファイル156Fbに、二種類以上のJSDKアプリ156や二種類以上のCSDKアプリ153等が含まれていてもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
151 標準アプリ
152 SAS
153 CSDKアプリ
153Fa、153Fb CSDKファイル
153Pa、153Fb CSDK属性ファイル
154 JVM
155 JSDKプラットフォーム
156 JSDKアプリ
156Fa、156Fb JSDKファイル
156Pa、156Pb JSDK属性ファイル
157 VAS
158 コントロールサービス
159 OS
211 代行ライブラリ
211P 代行属性ファイル
211j Java(登録商標)層
211c ネイティブ層
1511 スキャンアプリ
1512 印刷アプリ
1513 コピーアプリ
1514 FAXアプリ
1551 JSDK管理部
1552 コールバック制御部
特開2007−49677号公報

Claims (10)

  1. 第一のプログラムからの呼び出しを受け付ける呼び出し受付手順と、
    前記呼び出しに応じ、前記第一のプログラムより利用される第二のプログラムをインストールするインストール手順とを画像形成装置に実行させ、
    前記第一のプログラムに付随して前記画像形成装置にインストールされるインストールプログラム。
  2. 前記呼び出し受付手順は、前記第一のプログラムの起動時に、前記第一のプログラムからの前記呼び出しを受け付ける請求項1記載のインストールプログラム。
  3. 前記第一のプログラムのアンインストールの検知に応じ、前記第二のプログラムをアンインストールするアンインストール手順を前記画像形成装置に実行させる請求項1又は2記載のインストールプログラム。
  4. 前記インストール手順は、前記呼び出しに応じ、前記第一のプログラムのアンインストールを当該インストールプログラムに対して通知させるためのコールバック情報を前記画像形成装置に設定し、
    前記アンインストール手順は、前記コールバック情報に基づく前記第一のプログラムのアンインストールの通知に応じ、前記第二のプログラムをアンインストールする請求項3記載のインストールプログラム。
  5. 第一のプログラムからの呼び出しを受け付ける呼び出し受付手順と、
    前記呼び出しに応じ、前記第一のプログラムより利用される第二のプログラムをインストールするインストール手順とを画像形成装置が実行し、
    前記呼び出し受付手順及び前記インストール手順を前記画像形成装置に実行させるインストールプログラムは、前記第一のプログラムに付随して前記画像形成装置にインストールされるインストール方法。
  6. 前記呼び出し受付手順は、前記第一のプログラムの起動時に、前記第一のプログラムからの前記呼び出しを受け付ける請求項5記載のインストール方法
  7. 前記第一のプログラムのアンインストールの検知に応じ、前記第二のプログラムをアンインストールするアンインストール手順を前記画像形成装置が実行する請求項5又は6記載のインストール方法。
  8. 前記インストール手順は、前記呼び出しに応じ、前記第一のプログラムのアンインストールを通知させるためのコールバック情報を前記画像形成装置に設定し、
    前記アンインストール手順は、前記コールバック情報に基づく前記第一のプログラムのアンインストールの検知に応じ、前記第二のプログラムをアンインストールする請求項7記載のインストール方法。
  9. 画像形成装置であって、
    第一のプログラムからの呼び出しを受け付ける呼び出し受付手段と、
    前記呼び出しに応じ、前記第一のプログラムより利用される第二のプログラムをインストールするインストール手段とを有し、
    前記呼び出し受付手段及び前記インストール手段として当該画像形成装置を機能させるインストールプログラムは、前記第一のプログラムに付随して当該画像形成装置にインストールされる画像形成装置。
  10. 請求項1乃至4いずれか一項記載のインストールプログラムを記録したコンピュータ読取可能な記録媒体。
JP2010208213A 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体 Expired - Fee Related JP5699500B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2010208213A JP5699500B2 (ja) 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体
KR1020137006492A KR101516504B1 (ko) 2010-09-16 2011-09-07 인스톨 방법 및 장치
CN201180043967.2A CN103154888B (zh) 2010-09-16 2011-09-07 安装方法和装置
SG2013013867A SG188292A1 (en) 2010-09-16 2011-09-07 Install method, apparatus
AU2011303103A AU2011303103B2 (en) 2010-09-16 2011-09-07 Install method, apparatus
PCT/JP2011/070910 WO2012036174A1 (en) 2010-09-16 2011-09-07 Install method, apparatus
BR112013006419A BR112013006419A2 (pt) 2010-09-16 2011-09-07 aparelho, método de instalação
EP11825174.3A EP2616933A4 (en) 2010-09-16 2011-09-07 INSTALLATION PROCESS AND DEVICE
US13/820,348 US9274776B2 (en) 2010-09-16 2011-09-07 Product, method, and apparatus for installing a second program based on a call from a first program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010208213A JP5699500B2 (ja) 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012064022A JP2012064022A (ja) 2012-03-29
JP5699500B2 true JP5699500B2 (ja) 2015-04-08

Family

ID=45831632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010208213A Expired - Fee Related JP5699500B2 (ja) 2010-09-16 2010-09-16 インストールプログラム、インストール方法、画像形成装置、及び記録媒体

Country Status (9)

Country Link
US (1) US9274776B2 (ja)
EP (1) EP2616933A4 (ja)
JP (1) JP5699500B2 (ja)
KR (1) KR101516504B1 (ja)
CN (1) CN103154888B (ja)
AU (1) AU2011303103B2 (ja)
BR (1) BR112013006419A2 (ja)
SG (1) SG188292A1 (ja)
WO (1) WO2012036174A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786535B2 (ja) * 2011-08-08 2015-09-30 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
CN106104476B (zh) * 2014-05-30 2019-08-13 京瓷办公信息系统株式会社 图像形成装置及图像形成方法
JP6435902B2 (ja) * 2015-02-10 2018-12-12 コニカミノルタ株式会社 ランチャ提供装置、画像形成装置、ランチャ提供方法、およびコンピュータプログラム
EP3142035B1 (en) 2015-09-14 2021-08-25 Ricoh Company, Ltd. Information processing system, information processing apparatus, information processing method, and recording medium
CN105808291B (zh) * 2016-03-03 2019-11-05 腾讯科技(深圳)有限公司 终端的应用连接方法和装置
JP2018015947A (ja) 2016-07-26 2018-02-01 キヤノン株式会社 画像形成装置、画像形成方法、およびプログラム
JP6881028B2 (ja) 2017-05-24 2021-06-02 株式会社リコー 画像形成装置、システムおよび制御方法
US10365910B2 (en) * 2017-07-06 2019-07-30 Citrix Systems, Inc. Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted
US10630857B2 (en) 2017-12-21 2020-04-21 Ricoh Company, Ltd. Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
JP7069969B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
JP7087685B2 (ja) 2018-05-31 2022-06-21 株式会社リコー 情報処理システムおよび情報処理方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721824A (en) * 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US20020083430A1 (en) * 2000-12-26 2002-06-27 Tadao Kusuda Uninstall control apparatus which controls uninstallation of device control software
US7185335B2 (en) * 2002-09-19 2007-02-27 International Business Machines Corporation Programmatic application installation diagnosis and cleaning
JP2004118237A (ja) 2002-09-20 2004-04-15 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
US8432562B2 (en) 2004-02-17 2013-04-30 Ricoh Company, Ltd. Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions
JP4625343B2 (ja) 2004-02-17 2011-02-02 株式会社リコー 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
US20050193389A1 (en) 2004-02-26 2005-09-01 Murphy Robert J. System and method for a user-configurable, removable media-based, multi-package installer
US7716663B2 (en) * 2004-02-26 2010-05-11 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20060020937A1 (en) 2004-07-21 2006-01-26 Softricity, Inc. System and method for extraction and creation of application meta-information within a software application repository
GB2421323B (en) * 2004-12-15 2009-07-22 Symbian Software Ltd A method of maintaining applications in a computing device
JP2007048270A (ja) 2005-07-11 2007-02-22 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
US8264717B2 (en) 2005-07-11 2012-09-11 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus, information processing method, information processing program and storage medium
JP4843386B2 (ja) * 2005-07-11 2011-12-21 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP5025193B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
US9141374B2 (en) 2005-09-16 2015-09-22 Ricoh Company, Ltd. Image forming device, information processing method, information processing program, and recording medium
JP5025192B2 (ja) 2005-09-16 2012-09-12 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
JP4844205B2 (ja) * 2006-04-05 2011-12-28 富士ゼロックス株式会社 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機
JP2006271005A (ja) 2006-06-06 2006-10-05 Ricoh Co Ltd 画像形成装置およびアプリケーションインストール方法
JP4512565B2 (ja) 2006-06-06 2010-07-28 株式会社リコー 画像形成装置およびアプリケーションインストール方法
US8185889B2 (en) 2007-06-19 2012-05-22 Red Hat, Inc. Methods and systems for porting software packages from one format to another
US20090172657A1 (en) * 2007-12-28 2009-07-02 Nokia, Inc. System, Method, Apparatus, Mobile Terminal and Computer Program Product for Providing Secure Mixed-Language Components to a System Dynamically
US8046779B2 (en) * 2008-02-27 2011-10-25 Sap Ag Dynamic resolution of dependent components
US8239855B2 (en) * 2008-03-27 2012-08-07 Oracle International Corporation Component-based software installation
JP5599557B2 (ja) 2008-08-29 2014-10-01 株式会社リコー 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
JP5206263B2 (ja) 2008-09-12 2013-06-12 株式会社リコー 情報処理装置、ライセンス判定方法、及びプログラム
GB2466220A (en) 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
US8607224B2 (en) * 2009-05-28 2013-12-10 Yahoo! Inc. System for packaging native program extensions together with virtual machine applications
JP5263070B2 (ja) 2009-08-13 2013-08-14 株式会社リコー プログラム導入支援装置、プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム
JP5391937B2 (ja) 2009-09-03 2014-01-15 株式会社リコー 画像形成装置、ライセンス処理方法、及びライセンス処理プログラム
JP5428685B2 (ja) 2009-09-11 2014-02-26 株式会社リコー ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラム
JP2011060237A (ja) 2009-09-14 2011-03-24 Ricoh Co Ltd プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
JP5413078B2 (ja) 2009-09-14 2014-02-12 株式会社リコー 機器管理システム、機器管理装置、仲介装置、機器管理方法、及び機器管理プログラム
EP2383645B1 (en) * 2010-04-30 2015-03-04 BlackBerry Limited Method and device for application installation to multiple memory components
US20110288932A1 (en) * 2010-05-21 2011-11-24 Inedible Software, LLC, a Wyoming Limited Liability Company Apparatuses, systems and methods for determining installed software applications on a computing device

Also Published As

Publication number Publication date
BR112013006419A2 (pt) 2016-07-26
CN103154888B (zh) 2016-10-12
CN103154888A (zh) 2013-06-12
WO2012036174A1 (en) 2012-03-22
AU2011303103B2 (en) 2014-06-05
KR20130045392A (ko) 2013-05-03
JP2012064022A (ja) 2012-03-29
US20130174141A1 (en) 2013-07-04
EP2616933A4 (en) 2014-03-26
KR101516504B1 (ko) 2015-05-04
SG188292A1 (en) 2013-04-30
AU2011303103A1 (en) 2013-03-14
US9274776B2 (en) 2016-03-01
EP2616933A1 (en) 2013-07-24

Similar Documents

Publication Publication Date Title
JP5699500B2 (ja) インストールプログラム、インストール方法、画像形成装置、及び記録媒体
US9141374B2 (en) Image forming device, information processing method, information processing program, and recording medium
JP5786535B2 (ja) 機器、情報処理方法、情報処理プログラム、及び記録媒体
JP2012043118A (ja) 情報処理装置、電子機器、更新処理支援方法、更新処理支援プログラム、及び更新処理支援システム
JP2011123842A (ja) 画像形成装置、機能追加方法、及びプログラム
JP6295563B2 (ja) 情報処理システム、機器、情報処理方法、及び情報処理プログラム
JP4597834B2 (ja) 画像形成装置、情報処理方法、情報処理プログラム及び記録媒体
JP2014170515A (ja) 機器、情報記録プログラム、及び情報記録方法
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
CN109660688B (zh) 信息处理装置及其控制方法
US8464273B2 (en) Information processing apparatus, information processing method, and computer-readable program
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP2009137165A (ja) 画像形成装置、情報処理方法及びプログラム
JP4459033B2 (ja) 画像形成装置、端末装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2005269439A (ja) 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体
JP2012181690A (ja) 画像形成装置、更新方法、更新プログラム、及び記録媒体
JP6330933B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2010218469A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP6308526B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2023166076A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2005267447A (ja) 画像形成装置及び画像形成方法
JP2008217136A (ja) システム
JP2015091095A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R151 Written notification of patent or utility model registration

Ref document number: 5699500

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees