JP2010113476A - Information processing apparatus, installation method, program, and storage medium - Google Patents

Information processing apparatus, installation method, program, and storage medium Download PDF

Info

Publication number
JP2010113476A
JP2010113476A JP2008284687A JP2008284687A JP2010113476A JP 2010113476 A JP2010113476 A JP 2010113476A JP 2008284687 A JP2008284687 A JP 2008284687A JP 2008284687 A JP2008284687 A JP 2008284687A JP 2010113476 A JP2010113476 A JP 2010113476A
Authority
JP
Japan
Prior art keywords
package
sales
function
program
information
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
JP2008284687A
Other languages
Japanese (ja)
Other versions
JP5239755B2 (en
Inventor
Shunichi Maeda
俊一 前田
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
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008284687A priority Critical patent/JP5239755B2/en
Publication of JP2010113476A publication Critical patent/JP2010113476A/en
Application granted granted Critical
Publication of JP5239755B2 publication Critical patent/JP5239755B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an installation method or the like properly managing the use of a module depending on the dependency relationship between the module and functions even in an environment unconnectable to a network. <P>SOLUTION: An information processing apparatus, which installs one or more program components (PC) included in one package in a storage device in package units, includes an installation means for installing only PCs yet to be installed, by reading a list of PCs registered in a setting file from a storage medium storing the setting file (inf file) attached to a package to be installed, and checking the list against a list stored in a package information storage means 74; and a program information update means for registering the installed PCs in a program information storage means 75 along with the number of installations, and increasing by one the number of installed PCs which are detected to overlap. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、プログラムを情報処理装置にインストールする情報処理装置等に関し、特に、1つのパッケージに含まれる1以上のプログラムコンポーネントを、パッケージ単位でインストールする情報処理装置、インストール方法、プログラム及び記憶媒体に関する。   The present invention relates to an information processing apparatus that installs a program in an information processing apparatus, and more particularly to an information processing apparatus, an installation method, a program, and a storage medium that install one or more program components included in one package in units of packages. .

プログラムを実行して種々の機能を実現する情報処理装置では、インストールするプログラムの増減に応じて機能を増減させることができ、ユーザは情報処理装置を購入した後でも、必要な機能を提供するプログラムを購入してインストールすることで、その機能を利用できるようになる。   In an information processing apparatus that executes a program to realize various functions, the function can be increased or decreased according to the increase or decrease in the number of programs to be installed, and the user can provide the necessary functions even after purchasing the information processing apparatus. By purchasing and installing, you can use its features.

プログラムの不正利用を防止する観点から、インストールされているプログラムを使用する権限を与えるライセンス情報を利用する技術が考えられている(例えば、特許文献1参照。)。特許文献1には、着脱可能な記録媒体に記憶しておき、記録媒体を情報処理装置に装着した場合に使用を認める情報処理装置において、さらに記録媒体の認証情報を情報処理装置に記憶しておく技術が開示されている。   From the viewpoint of preventing unauthorized use of a program, a technique of using license information that gives authority to use an installed program has been considered (for example, see Patent Document 1). In Patent Document 1, an information processing apparatus that stores information in a removable recording medium and permits use when the recording medium is attached to the information processing apparatus, further stores authentication information of the recording medium in the information processing apparatus. Techniques are disclosed.

ところで、このようなプログラムでは複数のモジュールが協調して1以上の機能を実現する構成を採用して、コンピュータや組み込み機器に実装する場合がある。例えば、Aという機能は、モジュールa1,a2、a3が協調することで実現されるような場合、Aという機能のためモジュールa1〜a3をインストールする。また、他の機能Bを実現したければ、機能Bに必要な1以上のモジュールb1等をインストールすればよく、ユーザは必要な場合に必要な機能を使用することができる。   By the way, such a program may adopt a configuration in which a plurality of modules cooperate to realize one or more functions, and may be mounted on a computer or an embedded device. For example, when the function A is realized by cooperation of the modules a1, a2, and a3, the modules a1 to a3 are installed for the function A. If another function B is to be realized, one or more modules b1 necessary for the function B may be installed, and the user can use the necessary function when necessary.

しかしながら、機能とモジュールの間に複雑な関係が生じることも少なくなく、必要な機能を実現するためにインストールすべきモジュールをユーザが把握することは困難である。この点について、サーバがプログラムモジュール間の依存関係を考慮して、組み込みソフトウェアの更新に必要なモジュール群をクライアントである電子機器に送信するプログラムの実装方法が開示されている(例えば、特許文献2参照。)。
特開2006−279935号公報 特開2005−13587号公報
However, a complicated relationship often occurs between a function and a module, and it is difficult for a user to grasp a module to be installed in order to realize a necessary function. With respect to this point, a method for implementing a program in which a server transmits a group of modules necessary for updating embedded software to an electronic device as a client in consideration of the dependency relationship between program modules is disclosed (for example, Patent Document 2). reference.).
JP 2006-279935 A Japanese Patent Laid-Open No. 2005-13587

しかしながら、特許文献2記載の電子機器はサーバと通信できなければ、換言するとスタンドアローンの状態では新たな機能をインストールできないという問題がある。というのは、通信できない環境でも新たな機能を利用できるようにしておくには、予め、必要となると考えられるモジュール群を電子機器に記憶しておく必要があるが、予め記憶しておくとユーザが自由に使用できたり不正利用したりするおそれがある。このため、予め、モジュール群を電子機器に記憶しておく方法を採用するには、インストールしておいても、権限のないユーザが使用できず権限のあるユーザであれば使用可能となる仕組みが必要となる。   However, if the electronic device described in Patent Document 2 cannot communicate with the server, in other words, there is a problem that a new function cannot be installed in a stand-alone state. This is because in order to be able to use a new function even in an environment where communication is not possible, it is necessary to store in advance the module group considered to be necessary in the electronic device. May be freely used or misused. For this reason, in order to adopt the method of storing the module group in the electronic device in advance, there is a mechanism that even if it is installed, an unauthorized user cannot use it and an authorized user can use it. Necessary.

本発明は、上記課題に鑑み、ネットワークに接続できない環境でも、モジュールと機能の依存関係に応じて適正にモジュールの使用を管理できる情報処理装置、インストール方法、プログラム及び記憶媒体を提供することを目的とする。   An object of the present invention is to provide an information processing apparatus, an installation method, a program, and a storage medium that can appropriately manage the use of a module according to the dependency relationship between the module and the function even in an environment that cannot be connected to a network. And

上記課題に鑑み、本発明は、1つのパッケージに含まれる1以上のプログラムコンポーネントを、パッケージ単位で記憶装置にインストールする情報処理装置であって、記憶装置に既にインストールされているパッケージに含まれるプログラムコンポーネントのリストを記憶したパッケージ情報記憶手段と、インストールされているプログラムコンポーネント毎にインストール数を記憶したプログラム情報記憶手段と、インストール対象のパッケージに添付された設定ファイルを記憶する記憶媒体から、前記設定ファイルに登録されたプログラムコンポーネントのリストを読み出し、前記パッケージ情報記憶手段に記憶されたリストと突合し、既にインストールされているプログラムコンポーネントを検出する重複プログラム検出手段と、既にインストールされていないプログラムコンポーネントのみをインストールするインストール手段と、インストールしたプログラムコンポーネントをインストール数と共に前記プログラム情報記憶手段に登録し、重複していることが検出されたプログラムコンポーネントのインストール数を1つ増加させるプログラム情報更新手段と、を有することを特徴とする。   In view of the above problems, the present invention is an information processing apparatus that installs one or more program components included in one package into a storage device in units of packages, and is a program included in a package that is already installed in the storage device Package information storage means for storing a list of components, program information storage means for storing the number of installations for each installed program component, and a storage medium for storing a setting file attached to a package to be installed, the setting A duplicate program detection means for reading a list of program components registered in the file, matching the list stored in the package information storage means, and detecting program components already installed; An installation unit that installs only program components that are not installed, and the installed program component are registered in the program information storage unit together with the number of installations, and the installation number of program components that are detected to be duplicated is increased by one. And a program information updating unit.

ネットワークに接続できない環境でも、モジュールと機能の依存関係に応じて適正にモジュールの使用を管理できる情報処理装置、インストール方法、プログラム及び記憶媒体を提供することができる。   It is possible to provide an information processing apparatus, an installation method, a program, and a storage medium that can appropriately manage the use of a module according to the dependency relationship between the module and the function even in an environment that cannot be connected to the network.

以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
まず、本願の画像形成装置100におけるプログラムの実装態様(インストール態様)について説明する。本実施形態では、情報処理装置を備えた画像形成装置100を例にして説明するが、情報処理装置を備えた電子機器、及び、パソコンのような情報処理装置そのものに好適に適用できる。
The best mode for carrying out the present invention will be described below with reference to the drawings.
First, a program implementation mode (installation mode) in the image forming apparatus 100 of the present application will be described. In the present embodiment, the image forming apparatus 100 including the information processing apparatus will be described as an example. However, the image forming apparatus 100 can be preferably applied to an electronic apparatus including the information processing apparatus and an information processing apparatus itself such as a personal computer.

図1は、本実施形態の画像形成装置100におけるインストールの概要を模式的に説明する図の一例である。まず、言葉の定義について説明する。本実施形態では、プログラムの実装にインストール、アクティベーション、有効化という概念を用いる。インストールとは、プログラムコンポーネントを画像形成装置100の記憶装置(後述のHDD15)に記憶することをいう。また、アクティベーションとは、その画像形成装置100でそのプログラムを使用する権限を与えることをいい、原則的にアクティベーションによりインストールされたプログラムコンポーネントが有効化される(起動可能にする)。有効化とは、起動すること又はユーザの起動操作があればいつでもプログラムコンポーネントを起動可能とすることをいう。   FIG. 1 is an example of a diagram for schematically explaining an outline of installation in the image forming apparatus 100 of the present embodiment. First, the definition of words will be explained. In this embodiment, the concept of installation, activation, and validation is used for program implementation. Installation refers to storing a program component in a storage device (HDD 15 described later) of the image forming apparatus 100. Activation means giving an authority to use the program in the image forming apparatus 100. In principle, a program component installed by activation is validated (makes it startable). The activation means that the program component can be activated at any time when it is activated or when there is a user's activation operation.

なお、販売パッケージは、インストールした後にアクティベーションする必要がある場合と、インストールすることで自動的にアクティベーションされる場合がある。アクティベーションが必要か否かは販売パッケージの属性により定まる(infファイルに規定されている)。インストールした後にアクティベーションが必要な販売パッケージでは、アクティベーションしなければ有効化されずプログラムコンポーネントを起動できない。この場合、アクティベーションすることで同時に有効化もされる。   A sales package may be activated after being installed, or may be automatically activated upon installation. Whether or not activation is necessary is determined by the attribute of the sales package (specified in the inf file). Sales packages that require activation after installation cannot be activated and program components cannot be launched without activation. In this case, it is also activated simultaneously by activation.

以上から、アクティベーションと有効化には次の関係がある。
・インストール時に自動的にアクティベーションされる販売パッケージ
インストールにより、アクティベーションかつ有効化
・インストール後にアクティベーションが必要な販売パッケージ
インストール後、アクティベーションすることで同時に有効化
・アクティベーションと有効化が別のプロセスの販売パッケージ
有効化により有効、無効化により無効
図1に基づき説明する。販売パッケージAには2つの機能パッケージ1,2が含まれている。販売パッケージとは販売単位であり、1以上の機能パッケージが含まれている。機能パッケージは、インストールの最小単位でありプログラムコンポーネントと1対1に対応する(以下、原則的にプログラムコンポーネントを機能パッケージと称する)。
From the above, there is the following relationship between activation and activation.
・ Activation and activation by sales package installation that is automatically activated at the time of installation ・ Activation after activation after installation of sales package that requires activation after installation ・ Activation and activation are different Process sales package Validated by validation, invalidated by invalidation Referring to FIG. The sales package A includes two function packages 1 and 2. The sales package is a sales unit and includes one or more function packages. A function package is a minimum unit of installation and corresponds to a program component on a one-to-one basis (hereinafter, in principle, a program component is referred to as a function package).

本実施形態のプログラムの実装を実現するため、画像形成装置100は販売パッケージ情報74と機能パッケージ情報75を記憶している。図示するように、販売パッケージAをインストールするまでは、販売パッケージ情報74と機能パッケージ情報75には何の情報も登録されていないか、販売パッケージ情報74及び機能パッケージ情報75そのものが記憶されていない。すなわち、販売パッケージ情報74は、その画像形成装置100に販売された販売パッケージを登録するファイルで、機能パッケージ情報75は、販売された販売パッケージに含まれる機能パッケージを登録するファイルである。したがって、販売パッケージ情報74及び機能パッケージ情報75を参照することで、既に販売されている販売パッケージと機能パッケージを検出できる。   In order to realize the implementation of the program of the present embodiment, the image forming apparatus 100 stores sales package information 74 and functional package information 75. As shown in the figure, until the sales package A is installed, no information is registered in the sales package information 74 and the function package information 75, or the sales package information 74 and the function package information 75 themselves are not stored. . That is, the sales package information 74 is a file for registering a sales package sold to the image forming apparatus 100, and the function package information 75 is a file for registering a function package included in the sold sales package. Therefore, by referring to the sales package information 74 and the function package information 75, it is possible to detect a sales package and a function package that have already been sold.

なお、販売パッケージの「名前」はユーザの管理しやすい名称、「ID」は固有の識別情報、「アクティベーション」は「○」「×」のいずれか状態を取り、「有効」は「○」「×」のいずれか状態を取り、「機能IDリスト」はその販売パッケージが含む機能パッケージのIDが登録される。同様に、機能パッケージ情報75の「名前」はユーザの管理しやすい名称、「ID」は固有の識別情報、「販売数」は販売された数、「有効販売数」は販売数のうち有効な機能パッケージの数、「有効」は「○」「×」のいずれかの状態を取る。   Note that the “name” of the sales package is a name that can be easily managed by the user, “ID” is unique identification information, “activation” is either “○” or “×”, and “valid” is “○” One of the states “X” is taken, and the ID of the function package included in the sales package is registered in the “function ID list”. Similarly, “name” of the function package information 75 is a name that can be easily managed by the user, “ID” is unique identification information, “number of sales” is the number sold, and “effective number of sales” is the effective number of sales. The number of function packages, “valid”, takes either “O” or “×”.

販売パッケージ情報74と機能パッケージ情報75に何も情報が登録されていない状況で、販売パッケージAがインストールされるものとする。後述するプラグイン管理部71は、販売パッケージ情報74を参照して(記憶されていないことを確認して)、販売パッケージAに含まれる機能パッケージ1,2をインストールする。   Assume that the sales package A is installed in a situation where no information is registered in the sales package information 74 and the function package information 75. The plug-in management unit 71 described later refers to the sales package information 74 (confirms that it is not stored), and installs the function packages 1 and 2 included in the sales package A.

なお、販売パッケージAに含まれる機能パッケージが何であるか(図1では機能パッケージ1,2)は、その販売パッケージに含まれるプログラムコンポーネントであるので明らかであるが、各販売パッケージにはinfファイルが添付されているので、infファイルを参照して含まれる各機能パッケージを特定できる。なお、infファイルには、販売パッケージの名前、ID、機能IDリスト、販売パッケージのバージョン、販売パッケージが含む各機能パッケージのバージョン、さらにアクティベーションが必要か否か、等が登録されている。   Note that what is the functional package included in the sales package A (functional packages 1 and 2 in FIG. 1) is a program component included in the sales package, but an inf file is included in each sales package. Since it is attached, each function package included by referring to the inf file can be specified. In the inf file, the name of the sales package, the ID, the function ID list, the version of the sales package, the version of each function package included in the sales package, whether activation is necessary, and the like are registered.

インストール後の販売パッケージ情報74には、販売パッケージAの情報として、名前「dist1」、ID「1111」、アクティベーション「○」、有効「○」、機能IDリスト「2111,2222」が登録される。   In the post-installation sales package information 74, the name “dist1”, the ID “1111”, the activation “◯”, the valid “O”, and the function ID list “2111, 2222” are registered as information about the sales package A. .

アクティベーションするか否かは販売パッケージの属性として定められており、例えば販売時に定まるものである。図1はアクティベーションする販売パッケージを示すものであるため、アクティベーションの欄が「○」になっている。また、有効の欄はアクティベーションされると(有効になると)「○」になる。   Whether or not to activate is determined as an attribute of the sales package, and is determined at the time of sales, for example. Since FIG. 1 shows the sales package to be activated, the activation column is “◯”. Also, the valid column becomes “◯” when activated (when activated).

機能パッケージ情報75には、販売パッケージAのインストールに伴いインストールされる機能パッケージの情報が登録される。したがって、名前「func1」「func2」、ID「2111」「2222」、販売数「1」「1」、有効販売数「1」「1」、有効「○」「○」が、それぞれ登録されている。販売数は各機能パッケージの販売数を、有効販売数はそのうち有効化されている機能パッケージの数を示す。これは同じ機能パッケージが複数販売されることがあるためである。販売パッケージAには、1つの機能パッケージ1,1つの機能パッケージ2が含まれているので販売数は1つずつ増え、それぞれアクティベーションされるので有効販売数も1つずつ増える。また、有効の欄は、有効販売数が1つでもあれば「○」になる。   In the function package information 75, information on function packages that are installed when the sales package A is installed is registered. Therefore, the names “func1” “func2”, IDs “2111” “2222”, sales numbers “1” “1”, valid sales numbers “1” “1”, valid “O” and “O” are registered. Yes. The number of sales indicates the number of sales of each function package, and the number of effective sales indicates the number of function packages activated. This is because a plurality of the same function packages may be sold. Since the sales package A includes one function package 1 and one function package 2, the number of sales increases by one, and since each is activated, the number of effective sales also increases by one. The valid column is “◯” if there is even one valid sale.

次に、インストールされてもアクティベーションされない販売パッケージのインストールについて図2に基づき説明する。なお、インストール対象は図1と同じである。販売パッケージAのインストールに対応して、機能パッケージ1、2がインストールされるが、販売パッケージAはアクティベーションされない。このため、インストール後の販売パッケージ情報74のアクティベーションの欄は「×」であり、この結果、有効の欄も「×」である。   Next, installation of a sales package that is installed but not activated will be described with reference to FIG. The installation target is the same as in FIG. Corresponding to the installation of the sales package A, the function packages 1 and 2 are installed, but the sales package A is not activated. For this reason, the activation column of the sales package information 74 after installation is “x”, and as a result, the valid column is also “x”.

同様に、機能パッケージ情報75では、機能パッケージ1,2がそれぞれ販売されたため販売数は「1」「1」となるが、アクティベーションされないので、有効の欄はそれぞれ「×」「×」となる。   Similarly, in the function package information 75, since the function packages 1 and 2 are sold, the number of sales is “1” and “1”, but since the activation is not performed, the valid columns are “x” and “x”, respectively. .

以上のように、販売パッケージ単位で複数の機能パッケージをインストールする際、機能パッケージの重複、バージョン、アクティベーションの要・不要等に応じて、プログラムの実装形態が異なる。本実施例の画像形成装置100は、このような状況に応じて適切にプログラムを実装する。   As described above, when a plurality of function packages are installed on a sales package basis, the program implementation form differs depending on the duplication of function packages, version, necessity / unnecessity of activation, and the like. The image forming apparatus 100 according to the present exemplary embodiment appropriately mounts a program according to such a situation.

インストール単位を販売パッケージの単位とすることにより、機能単位でインストールするユーザは、開発単位であるプログラムコンポーネントの単位を意識する必要がない。また販売パッケージの単位をユーザにとって価値のある単位とすることにより、ユーザにとって使いやすい情報処理装置とすることができる。   By setting the installation unit as the unit of the sales package, the user who installs in the function unit does not need to be aware of the unit of the program component which is the development unit. Further, by setting the unit of the sales package as a unit valuable to the user, an information processing apparatus that is easy to use for the user can be obtained.

〔画像形成装置100〕
画像形成装置100について簡単に説明する。図3は、画像形成装置100のハードウェア構成図の一例を示す。画像形成装置100は、コントローラ50と、プロッタ27、スキャナ28、ファックス制御ユニット26、及びその他ハードウェアリソース29とがPCIバス、PCI−Xバス又はPCI−Express等のシリアルインターバスで接続された構成となる。また、コントローラ50には操作部24が接続されている。なお、インストール管理プログラム20を記憶する記憶媒体(メモリーカード30)を示した。
[Image forming apparatus 100]
The image forming apparatus 100 will be briefly described. FIG. 3 shows an example of a hardware configuration diagram of the image forming apparatus 100. The image forming apparatus 100 includes a controller 50, a plotter 27, a scanner 28, a fax control unit 26, and other hardware resources 29 connected by a serial interbus such as a PCI bus, a PCI-X bus, or a PCI-Express. It becomes. The controller 50 is connected to the operation unit 24. A storage medium (memory card 30) for storing the installation management program 20 is shown.

コントローラ50は、画像形成装置100全体の制御、すなわち、ファックス制御ユニット26、プロッタ27,スキャナ28及びその他ハードウェアリソース29を用いて、原稿の読み取り、印刷、ファクシミリ送受信、操作部24からの入力等を処理する制御部である。   The controller 50 controls the entire image forming apparatus 100, that is, uses the fax control unit 26, the plotter 27, the scanner 28, and other hardware resources 29 to read a document, print, send / receive a facsimile, input from the operation unit 24, etc. It is a control part which processes.

プロッタ27は、白黒プロッタ及び/又は1ドラムカラープロッタであり、印刷ジョブデータやスキャナ28が読み取った画像データに基づき、1ページ毎の画像を形成し、用紙に転写する。例えば、レーザービームを用いた電子写真プロセスを使って、感光ドラム等に形成したトナー画像を用紙に転写し、定着装置により熱と圧力により定着して出力する。   The plotter 27 is a black-and-white plotter and / or a one-drum color plotter, and forms an image for each page based on print job data and image data read by the scanner 28 and transfers the image onto a sheet. For example, a toner image formed on a photosensitive drum or the like is transferred onto a sheet using an electrophotographic process using a laser beam, and is fixed by a fixing device with heat and pressure and output.

また、スキャナ28は、コンタクトガラスに載置された原稿を光学的に走査して、その反射光をA/D変換して誤差拡散やガンマ変換などの画像処理を施し所定の解像度のデジタルデータに変換し画像データを生成する。   The scanner 28 optically scans the document placed on the contact glass, A / D converts the reflected light, performs image processing such as error diffusion and gamma conversion, and converts the digital data into a predetermined resolution. Convert to generate image data.

ファックス制御ユニット26は、NCU(Network Control Unit)を介して公衆通信網に接続し、例えばG3、G4規格のファクシミリに対応した通信手順(通信プロトコル)等に従いファクシミリの送受信を行う。ファックス制御ユニット26は、画像データにデータ圧縮や変調等の信号処理を施して送信すると共に、相手先から受信した画像データにデータの伸長やエラー訂正等を施し画像データを復元する。   The fax control unit 26 is connected to a public communication network via an NCU (Network Control Unit), and performs facsimile transmission / reception according to a communication procedure (communication protocol) corresponding to, for example, a G3 or G4 standard facsimile. The fax control unit 26 performs signal processing such as data compression and modulation on the image data and transmits it, and decompresses the image data received from the other party and corrects the error to restore the image data.

コントローラ50は、CPU11と、ノースブリッジ (以下、NB13という)と、システムメモリ(以下、MEM−P12という)と、サウスブリッジ (以下、SBという)と、ローカルメモリ(以下、MEM−C14という)と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(以下、HDD15という)と、ワイヤレスUSBホスト17と、NIC(Network Interface Card)18と、無線LANI/F19と、USBホスト22と、メモリカードI/F23と、を有する。なお、ASIC16とNB13の間はAGP(Accelerated GraphicsPort)で接続されている。   The controller 50 includes a CPU 11, a north bridge (hereinafter referred to as NB13), a system memory (hereinafter referred to as MEM-P12), a south bridge (hereinafter referred to as SB), and a local memory (hereinafter referred to as MEM-C14). , An ASIC (Application Specific Integrated Circuit) 16, a hard disk drive (hereinafter referred to as HDD 15), a wireless USB host 17, a NIC (Network Interface Card) 18, a wireless LAN I / F 19, a USB host 22, and a memory card I / F23. The ASIC 16 and the NB 13 are connected by an AGP (Accelerated Graphics Port).

CPU11は、MEM−P12、ASIC16、及び、ワイヤレスUSBホスト17等を結ぶバスに流通するデータの送信制御を行うNB13を介して、画像形成装置100の全体を制御する。   The CPU 11 controls the entire image forming apparatus 100 via the NB 13 that controls transmission of data distributed to a bus connecting the MEM-P 12, the ASIC 16, the wireless USB host 17, and the like.

NB13は、CPU11とMEM−P12、AGPとを接続するためのブリッジICであり、MEM−P12は、画像形成装置100の描画用メモリなどとして用いるシステムメモリである。   The NB 13 is a bridge IC for connecting the CPU 11 to the MEM-P 12 and AGP. The MEM-P 12 is a system memory used as a drawing memory of the image forming apparatus 100.

MEM−C14は、コピー用画像バッファ、符号バッファとして用いられるローカルメモリであり、ASIC16は、多数のレジスタや論理回路を備え、各モータドライバの制御部の他、ヘッドパルス生成部等として機能する。また、ASIC16は、AGP、HDD15およびMEM−C14をそれぞれ接続するブリッジの役割も果たす。   The MEM-C 14 is a local memory used as a copy image buffer and a code buffer, and the ASIC 16 includes a large number of registers and logic circuits, and functions as a head pulse generation unit in addition to a control unit of each motor driver. The ASIC 16 also serves as a bridge for connecting the AGP, HDD 15 and MEM-C 14 respectively.

操作部24は、ユーザからの入力操作の受け付け並びにユーザに向けた表示をおこなう操作部であり、キーボードの他にタッチパネルを入力手段として有し、LCD(液晶ディスプレイ)等の表示部と兼用されている。   The operation unit 24 is an operation unit that receives an input operation from a user and performs display for the user. The operation unit 24 has a touch panel as an input unit in addition to a keyboard, and is also used as a display unit such as an LCD (liquid crystal display). Yes.

HDD15は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うための記憶手段であるが、フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)など不揮発メモリなどでもよい。本実施形態ではHDD15に、アクティベーションを管理するインストール管理プログラム20、販売パッケージ情報74,機能パッケージ情報75、起動情報77、プラグインコンポーネント73が記憶されている。   The HDD 15 is a storage unit for storing image data, programs, font data, and forms, but may be a non-volatile memory such as a flash memory or an MRAM (Magnetoresistive Random Access Memory). In this embodiment, the HDD 15 stores an installation management program 20 for managing activation, sales package information 74, function package information 75, activation information 77, and a plug-in component 73.

AGPは、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードの処理を高速化する。   AGP is a bus interface for graphics accelerator cards that has been proposed to speed up graphics processing, and speeds up processing of graphics accelerator cards by directly accessing system memory with high throughput.

NIC18は、例えばイーサネット(登録商標)カードであり、OSI基本参照モデルの物理層、データリンク層に規定されたプロトコルに従う処理を実行する。これに後述のメールアプリがSMTPやPOP3等の上位のプロトコルを実行して電子メールを送受信したり、WebアプリがFTP、HTTPなどのプロトコルを実行してライセンスファイルをライセンスサーバ200や画像形成装置100の間で送受信する。   The NIC 18 is, for example, an Ethernet (registered trademark) card, and executes processing according to a protocol defined in the physical layer and data link layer of the OSI basic reference model. A mail application described later executes an upper protocol such as SMTP or POP3 to send / receive e-mail, or a Web application executes a protocol such as FTP or HTTP to transfer a license file to the license server 200 or the image forming apparatus 100. Send and receive between.

無線LANI/F19は、例えばIEEE 802.11a/b/g等の通信規格に準拠し、アクセスポイントに介してLAN等のネットワークに接続する。   The wireless LAN I / F 19 conforms to a communication standard such as IEEE 802.11a / b / g, and connects to a network such as a LAN via an access point.

IEEE1394I/F21は、IEEE1394の通信規格を備えた機器と通信するインターフェイスであり、複数台の機器をデイジーチェーン接続することができる。動画などのサイズの大きなデータを送信するのに適しており、接続される機器は、例えばデジタルカメラやビデオカメラ等である。   The IEEE 1394 I / F 21 is an interface that communicates with a device having the IEEE 1394 communication standard, and a plurality of devices can be connected in a daisy chain. It is suitable for transmitting large-sized data such as a moving image, and a connected device is, for example, a digital camera or a video camera.

USBホスト22はUSBコントローラと呼ばれるICで、これをCPU11が実行するデバイスドライバ(ドライバソフトウェア)が制御してUSBI/Fを構成し、接続された例えばUSBメモリ31と通信する。同様に、メモリカードI/F23は、メモリカード30からデータを読み出しまた記録媒体にデータを書き込むインターフェイスである。メモリカード30は、例えばSDカード、マルチメディアカード、xDカード等である
〔ソフトウェアモジュール〕
図4は、画像形成装置100のソフトウェアモジュールの一例を示す図である。ソフトウェアモジュールは、上記のプロッタ27、スキャナ28、その他ハードウェアリソース29とHW(Hard Ware) I/Fを介して接続された構成となり、主に、プラットホーム80とアプリケーション70とから構成される。
The USB host 22 is an IC called a USB controller, which is controlled by a device driver (driver software) executed by the CPU 11 to configure a USB I / F and communicate with, for example, a connected USB memory 31. Similarly, the memory card I / F 23 is an interface that reads data from the memory card 30 and writes data to a recording medium. The memory card 30 is, for example, an SD card, a multimedia card, an xD card, etc. [Software module]
FIG. 4 is a diagram illustrating an example of a software module of the image forming apparatus 100. The software module is configured to be connected to the above-described plotter 27, scanner 28, and other hardware resources 29 via a hardware hardware (HW) I / F, and mainly includes a platform 80 and an application 70.

プラットホーム80は、アプリケーション70からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス55と、1以上のハードウェア資源の管理を行い、コントロールサービス55からの獲得要求を調停するシステムリソースマネージャ(SRM63)と、OS(Operating System)64と、インストール管理部60と、を有する。   The platform 80 interprets a processing request from the application 70 and generates a hardware resource acquisition request, and a system that manages one or more hardware resources and arbitrates the acquisition request from the control service 55. It includes a resource manager (SRM 63), an OS (Operating System) 64, and an installation management unit 60.

コントロールサービス55は、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)62と、ECS(エンジンコントロールサービス)56と、MCS(メモリコントロールサービス)57と、OCS(オペレーションパネルコントロールサービス)58と、FCS(ファックスコントロールサービス)59と、NCS(ネットワークコントロールサービス)61とから構成される。なお、プラットホーム80は、あらかじめ定義されたプログラムによりアプリケーション70から処理要求を受け取るAPI(プリケーションプログラムインタフェース)を有する。   The control service 55 is formed of a plurality of service modules, and includes an SCS (system control service) 62, an ECS (engine control service) 56, an MCS (memory control service) 57, an OCS (operation panel control service) 58, An FCS (fax control service) 59 and an NCS (network control service) 61 are included. The platform 80 has an API (Application Program Interface) that receives a processing request from the application 70 by a predefined program.

OS64は、LINUX(登録商標)やUNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム80及びアプリケーション70の各ソフトウェアをそれぞれプロセスとして並列に実行することができる。OS64は、NIC18、無線LANI/F19、IEEE1394I/F21、USBホスト22、及び、メモリカードI/F23と通信する各種のデバイスドライバを有する。   The OS 64 is a general-purpose operating system such as LINUX (registered trademark) or UNIX (registered trademark), and can execute each software of the platform 80 and the application 70 in parallel as processes. The OS 64 includes various device drivers that communicate with the NIC 18, the wireless LAN I / F 19, the IEEE 1394 I / F 21, the USB host 22, and the memory card I / F 23.

SRM63は、SCS62とともにシステムの制御およびリソースの管理を行う。SRM63のプロセスは、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、ハードウェアリソースによる動作を制御する。   The SRM 63 controls the system and manages resources together with the SCS 62. The process of the SRM 63 performs use scheduling of hardware resources in response to a request from an upper layer, and controls operations based on the hardware resources.

SCS62は、アプリ管理、操作部24の制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御等を行う。ECS56は、ハードウェアリソースのエンジンの制御を行う。   The SCS 62 performs application management, control of the operation unit 24, system screen display, LED display, resource management, interrupt application control, and the like. The ECS 56 controls the hardware resource engine.

MCS57は、画像メモリの取得および解放、HDD15の利用、画像データの圧縮および伸張などを行う。FCS59は、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、バックアップSRAMに記憶されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。   The MCS 57 acquires and releases an image memory, uses the HDD 15, compresses and decompresses image data, and the like. The FCS 59 has APIs for performing facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data stored in the backup SRAM, facsimile reading, facsimile reception printing, and fusion transmission / reception. provide.

NCS61は、ネットワークI/Oを必要とするアプリケーション70に対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション70に振り分けたり、アプリケーション70からデータをネットワーク側に送信する際の仲介を行う。具体的には、FTP等のプロトコルの各種デーモンや、同プロトコルのクライアント機能などを有している。   The NCS 61 is a process for providing a service that can be commonly used for the applications 70 that require network I / O. The NCS 61 distributes the data received from the network side according to each protocol to each application 70, or from the application 70. Mediates when sending data to the network side. Specifically, it has various daemons for protocols such as FTP, and client functions for the same protocol.

OCS58は、ユーザAと本体制御間の情報伝達手段となる操作部(オペレーションパネル)24の制御を行う。OCS58は、操作部24からキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS62に送信する部分と、アプリケーション70またはコントロールサービス55からの要求により表示部25に各種画面を描画出力する描画関数やその他操作部に対する制御を行う関数などがあらかじめ登録されたOCS関数ライブラリの部分とから構成される。   The OCS 58 controls the operation unit (operation panel) 24 serving as information transmission means between the user A and the main body control. The OCS 58 acquires a key press from the operation unit 24 as a key event, transmits a key event function corresponding to the acquired key to the SCS 62, and displays various screens on the display unit 25 in response to a request from the application 70 or the control service 55. A drawing function for drawing output, a function for controlling the operation unit, and the like are configured from a portion of the OCS function library registered in advance.

アプリケーション70は、電子メールを送受信するメールアプリ49、プリンタ用のプリンタアプリ51と、コピー用のコピーアプリ52と、ファクシミリ用のファックスアプリ53と、スキャナ28用のスキャナアプリ54と、を有している。   The application 70 includes a mail application 49 for sending and receiving electronic mail, a printer application 51 for printer, a copy application 52 for copying, a fax application 53 for facsimile, and a scanner application 54 for the scanner 28. Yes.

コントロールサービス55には、インストール管理部60が設けられる。インストール管理部60は、コントロールサービス55でプロセスとして動作し、機能パッケージを構成する各種のプラグインコンポーネント73、アクティベーション、ディアクティベーション、有効化/無効化等の種々の処理を実行する。   The control service 55 is provided with an installation management unit 60. The installation management unit 60 operates as a process in the control service 55, and executes various processes such as various plug-in components 73 constituting the function package, activation, deactivation, and activation / inactivation.

〔インストール管理部60〕
図5は、インストール管理部60の機能ブロック図の一例を示す。インストール管理部60は、CPU11がインストール管理プログラム20を実行するか所定の演算回路により実現される、プラグイン管理部71及びプラグインスタータ72を有する。
[Installation Management Unit 60]
FIG. 5 shows an example of a functional block diagram of the installation management unit 60. The installation management unit 60 includes a plug-in management unit 71 and a plug-in starter 72 that are executed by the CPU 11 executing the installation management program 20 or by a predetermined arithmetic circuit.

プラグイン管理部71は、各種プラグインコンポーネント73のインストール/アンインストール、アクティベーション/ディアクティベーション、有効化/無効化などの処理を実行する。プラグインスタータ72は、起動情報77を参照し、画像形成装置100のシステムの起動時に、各プラグインコンポーネント73の起動処理を実行する。すなわち、プラグインスタータ72は、起動情報77に登録されているプラグインコンポーネント73を起動する。   The plug-in management unit 71 executes processes such as installation / uninstallation, activation / deactivation, activation / inactivation of various plug-in components 73. The plug-in starter 72 refers to the activation information 77 and executes activation processing of each plug-in component 73 when the system of the image forming apparatus 100 is activated. That is, the plug-in starter 72 activates the plug-in component 73 registered in the activation information 77.

プラグインコンポーネント73、販売パッケージ情報74及び機能パッケージ情報75は、例えばHDD15に記憶される。プラグインコンポーネント73は、画像形成装置100にインストールされる各種のプログラムをいい、プラグイン管理部71が管理する機能パッケージと1対1で対応するものである。   The plug-in component 73, the sales package information 74, and the function package information 75 are stored in the HDD 15, for example. The plug-in component 73 refers to various programs installed in the image forming apparatus 100 and corresponds to the function package managed by the plug-in management unit 71 on a one-to-one basis.

〔プラグイン管理部71の機能ブロック図〕
図6は、プラグイン管理部71の機能ブロック図の一例を示す。インストール部81は、例えば、メモリーカード30に記憶された販売パッケージをHDD15にインストールする。具体的には販売パッケージ毎に、販売パッケージが含む機能パッケージ(プラグインコンポーネント73)をインストールする。
[Functional Block Diagram of Plug-in Manager 71]
FIG. 6 shows an example of a functional block diagram of the plug-in management unit 71. For example, the installation unit 81 installs the sales package stored in the memory card 30 in the HDD 15. Specifically, the function package (plug-in component 73) included in the sales package is installed for each sales package.

アクティベーション部82は、その販売パッケージの属性又はユーザの指示に応じて、販売パッケージと販売パッケージに含まれる機能パッケージをアクティベーションする。有効化部83は、機能パッケージを有効化する。インストールはアクティベーションを、アクティベーションは有効化を含む場合があるので図示するように上位の機能は下位の機能を備える。   The activation unit 82 activates the sales package and the function package included in the sales package in accordance with the attribute of the sales package or a user instruction. The validation unit 83 validates the function package. Since installation may include activation, and activation may include activation, the upper function includes the lower function as illustrated.

同様に、HDD15から機能パッケージを削除するアンインストール部87、ディアクティベーションするディアクティベーション部88、無効化する無効化部89を備える。詳細は後述する。処理内容決定部91は、アンインストール時に、機能パッケージをアンインストールするか、無効化するか、何もしないかの処理内容を決定する。   Similarly, an uninstall unit 87 that deletes the function package from the HDD 15, a deactivation unit 88 that performs deactivation, and an invalidation unit 89 that invalidates the function package are provided. Details will be described later. The processing content determination unit 91 determines the processing content for uninstalling, invalidating, or doing nothing at the time of uninstallation.

また、販売パッケージ情報更新部93は、販売パッケージ情報74を更新し、機能パッケージ情報更新部92は機能パッケージ情報75を更新する。重複機能検出部84は、infファイルを参照しこれからインストールする販売パッケージに含まれる機能パッケージのうち、既にインストールされている機能パッケージと重複するものを検出する。バージョン判定部85は、重複した機能パッケージについて、どちらのバージョンが新しいかを判定する。削除部86は、アップデートにより販売パッケージに含まれなくなった機能パッケージを削除する。以下、これらの機能ブロックを用いた本実施形態のプログラムの実装を詳細に説明する。   In addition, the sales package information update unit 93 updates the sales package information 74, and the functional package information update unit 92 updates the functional package information 75. The duplicate function detection unit 84 refers to the inf file, and detects a duplicate of the already installed function package among the function packages included in the sales package to be installed. The version determination unit 85 determines which version is newer about the duplicate function package. The deletion unit 86 deletes function packages that are no longer included in the sales package due to the update. Hereinafter, implementation of the program of this embodiment using these functional blocks will be described in detail.

〔プログラムの種々の実装態様〕
以下、インストールされている販売パッケージの有無、インストール時のアクティベーションの有無等に応じた種々のプログラムの種々の実装態様について説明する。
<インストール・アクティベーション不要>
インストール時にアクティベーションされるプログラムの実装態様について図7に基づき説明する。すでに画像形成装置100には販売パッケージBがインストールされている。このため、販売パッケージ情報74には、販売パッケージBの情報が登録されている。図示するように販売パッケージBはアクティベーションされておらず有効の欄は「×」となっている。
[Various implementations of the program]
Hereinafter, various implementation modes of various programs according to the presence / absence of an installed sales package, the presence / absence of activation at the time of installation, and the like will be described.
<No installation or activation>
The implementation mode of the program activated at the time of installation will be described with reference to FIG. The sales package B is already installed in the image forming apparatus 100. For this reason, the information on the sales package B is registered in the sales package information 74. As shown in the drawing, the sales package B is not activated and the valid column is “x”.

販売パッケージBには、2つの機能パッケージ2,3が含まれる。このため、機能パッケージ情報75には機能パッケージ2,3の情報がそれぞれ登録されているが、販売パッケージBがアクティベーションされていないので、機能パッケージ2,3の有効販売数はそれぞれ「0」「0」となっている。   The sales package B includes two function packages 2 and 3. For this reason, information on the function packages 2 and 3 is registered in the function package information 75 respectively, but since the sales package B is not activated, the number of effective sales of the function packages 2 and 3 is “0” and “3”, respectively. 0 ”.

この状態でアクティベーションの不要な販売パッケージAを販売した場合、インストール管理部は、必要な機能パッケージのみをインストールする。重複機能検出部84は、これからインストールする販売パッケージに含まれる機能パッケージのうち、既にインストールされている機能パッケージと重複するものを検出する。販売パッケージAには、機能パッケージ1,2が含まれ、既にインストールされている販売パッケージには機能パッケージ2、3が含まれる。したがって、重複機能検出部84は機能パッケージ2が重複していることを検出する。インストール部81は、検出された機能パッケージ2をインストールしない。   When the sales package A that does not require activation is sold in this state, the installation management unit installs only the necessary function package. The duplicate function detection unit 84 detects a duplicate of a function package already installed among the function packages included in the sales package to be installed. The sales package A includes function packages 1 and 2, and the already installed sales package includes function packages 2 and 3. Therefore, the duplicate function detection unit 84 detects that the function packages 2 are duplicated. The installation unit 81 does not install the detected function package 2.

したがって、インストール部81は、機能パッケージ1のみをインストールする。また、アクティベーション部82は、infファイルを参照しインストール時にアクティベーションされる販売パッケージであることを検出して、インストールした機能パッケージ1をアクティベーションし、有効化部は機能パッケージ1を有効化する。なお、販売パッケージBは有効化されていないままである。   Therefore, the installation unit 81 installs only the function package 1. Also, the activation unit 82 refers to the inf file to detect that the sales package is activated at the time of installation, activates the installed function package 1, and the activation unit activates the function package 1. . Note that the sales package B remains inactive.

販売パッケージ情報更新部93は、販売パッケージ情報74に機能パッケージ1の情報を登録し、登録の際、有効の欄を「○」とする。また、機能パッケージ情報更新部92は、機能パッケージ情報75に新たにインストールされた機能パッケージ1の情報を登録する。機能パッケージ1は、それまで機能パッケージ情報75に登録されていなかったので、新たに名前等が登録される。販売数は「1」で、販売パッケージAはアクティベーションされたので有効販売数は「1」となる。   The sales package information update unit 93 registers the information of the function package 1 in the sales package information 74, and sets the valid column to “◯” at the time of registration. Further, the function package information update unit 92 registers information on the newly installed function package 1 in the function package information 75. Since the function package 1 has not been registered in the function package information 75 until then, a new name or the like is registered. The number of sales is “1”, and since the sales package A is activated, the number of effective sales is “1”.

一方、機能パッケージ2はすでに機能パッケージ情報75に登録されているため、販売数が1つ増え「2」となる。これに対し、既にインストールされていた機能パッケージ2はアクティベーションされず、新たにインストールされた機能パッケージ2のみがアクティベーションされたので、有効販売数は「1」のままである。   On the other hand, since the function package 2 is already registered in the function package information 75, the number of sales is increased by one to “2”. On the other hand, the function package 2 that has already been installed is not activated, and only the newly installed function package 2 is activated, so the number of effective sales remains “1”.

以上説明したように、既にインストールされている機能パッケージはインストールされず、機能パッケージ情報75の販売数だけが増大する点が、本実施形態の画像形成装置100の特徴の1つである。   As described above, one of the features of the image forming apparatus 100 of the present embodiment is that the already installed function package is not installed, and only the number of sales of the function package information 75 increases.

<インストール・アクティベーション必要>
インストール時にアクティベーションされないプログラムの実装態様について図8に基づき説明する。アクティベーションは、使用権限を認めること、使用権限を認めたことを示すアクティベーション情報を生成すること、等をいう。アクティベーション情報は、例えば、プログラムコンポーネントのシリアル番号と、画像形成装置100又はユーザの識別情報を関連付けた認証情報である。アクティベーション情報により、プログラムコンポーネントだけをコピーしても他の情報処理装置では利用を困難にすることができる。
<Installation / activation required>
An implementation mode of a program that is not activated at the time of installation will be described with reference to FIG. Activation refers to authorizing use authority, generating activation information indicating that use authority has been authorized, and the like. The activation information is, for example, authentication information in which the serial number of the program component is associated with the image forming apparatus 100 or user identification information. With the activation information, even if only the program component is copied, it can be made difficult to use in other information processing apparatuses.

図8では、図7と同様にすでに販売パッケージBがインストールされた状態で、販売パッケージAをインストールするが、図8では販売パッケージAはアクティベーションされない。販売パッケージAがインストールされる前の販売パッケージ情報74と機能パッケージ情報75は図7と同じである。   In FIG. 8, the sales package A is installed in a state where the sales package B is already installed as in FIG. 7, but the sales package A is not activated in FIG. The sales package information 74 and the function package information 75 before the sales package A is installed are the same as those in FIG.

この状態でアクティベーションが必要な販売パッケージAを販売した場合、重複機能検出部84は、機能パッケージ2が重複していることを検出し、インストール部81は、重複していない機能パッケージ1のみをインストールする。また、アクティベーション部82は、インストール時にアクティベーションしない販売パッケージであることを検出するので、機能パッケージ1をアクティベーションしない。なお、販売パッケージBは有効化されていないままである。   When the sales package A that requires activation is sold in this state, the duplicate function detection unit 84 detects that the function package 2 is duplicated, and the installation unit 81 detects only the function package 1 that is not duplicated. install. Further, the activation unit 82 detects that the sales package is not activated at the time of installation, and therefore does not activate the function package 1. Note that the sales package B remains inactive.

販売パッケージ情報更新部93は、販売パッケージ情報74に機能パッケージ1の情報を登録し、登録の際、有効の欄を「×」とする。また、機能パッケージ情報更新部92は、機能パッケージ情報75に新たにインストールされた機能パッケージ1の情報を登録する。機能パッケージ1は、それまで機能パッケージ情報75に登録されていなかったので、新たに名前等が登録される。販売数は「1」で、販売パッケージAはアクティベーションされないので有効販売数は「0」となる。   The sales package information update unit 93 registers the information of the function package 1 in the sales package information 74, and sets the valid column to “x” at the time of registration. Further, the function package information update unit 92 registers information on the newly installed function package 1 in the function package information 75. Since the function package 1 has not been registered in the function package information 75 until then, a new name or the like is registered. The number of sales is “1”, and the sales package A is not activated, so the number of effective sales is “0”.

一方、機能パッケージ2はすでに機能パッケージ情報75に登録されているため、販売数が1つ増え「2」となる。これに対し、既にインストールされていた機能パッケージ2はアクティベーションされず、新たにインストールされた機能パッケージ2もアクティベーションされないので、有効販売数は増えることなく「0」となる。   On the other hand, since the function package 2 is already registered in the function package information 75, the number of sales is increased by one to “2”. On the other hand, the already installed function package 2 is not activated, and the newly installed function package 2 is not activated, so the number of effective sales is “0” without increasing.

<インストール・アクティベーション不要(バージョン違い)>
同じ機能パッケージが既にインストールされているが、バージョンが異なる場合のインストールについて図9に基づき説明する。
図9では、すでに画像形成装置100に販売パッケージBがインストールされ、アクティベーションされている。このため、販売パッケージ情報74の販売パッケージBでは、アクティベーションと有効の欄がそれぞれ「○」となっている。
<No installation or activation required (different versions)>
The installation when the same function package is already installed but the version is different will be described with reference to FIG.
In FIG. 9, the sales package B is already installed in the image forming apparatus 100 and activated. For this reason, in the sales package B of the sales package information 74, the “activation” and “valid” fields are “◯”.

販売パッケージBには、2つの機能パッケージ2,3が含まれるので、機能パッケージ情報75には機能パッケージ2,3の情報がそれぞれ登録されている。販売パッケージBがアクティベーションされているので、機能パッケージ2,3の有効販売数はそれぞれ「1」「1」となっている。   Since the sales package B includes two function packages 2 and 3, information on the function packages 2 and 3 is registered in the function package information 75, respectively. Since the sales package B is activated, the effective sales numbers of the function packages 2 and 3 are “1” and “1”, respectively.

この状態でアクティベーションの不要な販売パッケージAを販売してインストールする。ここで、重複機能検出部84は、機能パッケージ2が重複していることを検出するが、バージョン判定部85は、重複した機能パッケージがある場合、どちらのバージョンが新しいかを判定する。図9では、販売パッケージAの機能パッケージ2のバージョンが「2」で、販売パッケージBの機能パッケージ2のバージョンが「1」であるので、既にインストールされている機能パッケージ2の方がバージョンが古い。このため、インストール部81は、重複していても、販売パッケージAに含まれる機能パッケージ2をインストールする。これにより、機能パッケージ2をバージョンアップすることができる。   In this state, the sales package A that does not require activation is sold and installed. Here, the duplicate function detection unit 84 detects that the function package 2 is duplicated. However, if there is a duplicate function package, the version determination unit 85 determines which version is newer. In FIG. 9, since the version of the function package 2 of the sales package A is “2” and the version of the function package 2 of the sales package B is “1”, the already installed function package 2 has an older version. . For this reason, the installation unit 81 installs the function package 2 included in the sales package A even if they overlap. Thereby, the function package 2 can be upgraded.

販売パッケージ情報74と機能パッケージ情報75の登録・更新は上記のとおりである。すなわち、販売パッケージ情報更新部93は、販売パッケージ情報74に機能パッケージ1の情報を登録する。販売パッケージAはアクティベーションが不要なので、アクティベーションの欄は「○」、有効の欄は「○」になる。   The registration / update of the sales package information 74 and the function package information 75 is as described above. That is, the sales package information update unit 93 registers information on the functional package 1 in the sales package information 74. Since the sales package A does not require activation, the activation column is “◯” and the valid column is “◯”.

また、機能パッケージ情報更新部92は、機能パッケージ情報75に機能パッケージ1の情報を登録する。機能パッケージ1はアクティベーションが不要なので、有効販売数は「1」、有効の欄は「○」になる。また、機能パッケージ情報75がバージョンの欄を有する場合には機能パッケージのバージョンを登録する。   Further, the function package information update unit 92 registers the information of the function package 1 in the function package information 75. Since the function package 1 does not require activation, the number of effective sales is “1” and the valid column is “◯”. If the function package information 75 has a version field, the version of the function package is registered.

また、機能パッケージ2が販売パッケージAに含まれていたので、機能パッケージ情報更新部92は、機能パッケージ2の販売数を1つ増やし「2」にして、有効販売数も1つ増やして「2」にする。なお、同じ機能パッケージの異なるバージョンがインストールされた場合、バージョンアップ後のバージョンが登録される。   Further, since the function package 2 is included in the sales package A, the function package information update unit 92 increases the number of sales of the function package 2 by one to “2” and increases the number of effective sales by one to “2”. " When different versions of the same function package are installed, the version after the upgrade is registered.

<インストール・アクティベーション必要(バージョン違い)>
同様に、異なるバージョンで同じ機能パッケージをインストールする場合において、アクティベーションが必要な場合を図10に基づき説明する。インストール前の販売パッケージ情報74と機能パッケージ情報75は図9と同じである。したがって、インストール部81は、機能パッケージ2がすでにインストールされていても、バージョンが新しい販売パッケージAに含まれる機能パッケージ2をインストールする。
<Installation / activation required (different versions)>
Similarly, a case where activation is necessary when the same function package is installed in different versions will be described with reference to FIG. The sales package information 74 and the function package information 75 before installation are the same as in FIG. Accordingly, the installation unit 81 installs the function package 2 included in the sales package A with a new version even if the function package 2 has already been installed.

販売パッケージ情報更新部93は、販売パッケージ情報74に機能パッケージ1の情報を登録する。販売パッケージAはアクティベーションが必要なので、アクティベーションの欄は「×」、有効の欄は「×」になる。   The sales package information update unit 93 registers information on the function package 1 in the sales package information 74. Since the sales package A requires activation, the activation column is “x” and the valid column is “x”.

また、機能パッケージ情報更新部92は、機能パッケージ情報75に機能パッケージ1の情報を登録する。機能パッケージ1はアクティベーションが必要なので、販売数は「1」でも有効販売数は「0」、有効の欄は「×」になる。   Further, the function package information update unit 92 registers the information of the function package 1 in the function package information 75. Since the function package 1 requires activation, even if the number of sales is “1”, the number of effective sales is “0” and the valid column is “x”.

また、機能パッケージ2が販売パッケージAに含まれていたので、機能パッケージ情報更新部92は、機能パッケージ2の販売数を1つ増やし「2」にする。しかし、販売パッケージAはアクティベーションが必要なので、有効販売数は増えず「1」のままである。   Further, since the function package 2 is included in the sales package A, the function package information update unit 92 increases the number of sales of the function package 2 by one to “2”. However, since the sales package A requires activation, the number of effective sales does not increase and remains “1”.

<インストール・アクティベーション不要(バージョン違い2)>
同じ機能パッケージが既にインストールされており両者のバージョンが異なるが、後からインストールする機能パッケージのバージョンの方が古い場合について図11に基づき説明する。なお、図11において図9と同一部の説明は省略する。
<No installation or activation required (version 2)>
The case where the same function package has already been installed and the versions of both are different, but the version of the function package to be installed later will be described with reference to FIG. In FIG. 11, the description of the same parts as those in FIG. 9 is omitted.

図11では、これからインストールする販売パッケージAに含まれる機能パッケージ2のバージョンが「1」で、販売パッケージBに含まれる機能パッケージ2のバージョンが「2」であるので、既にインストールされている機能パッケージ2の方がバージョンが新しい。このような場合、販売パッケージAに含まれる機能パッケージ2をインストールする必要はない。   In FIG. 11, since the version of the function package 2 included in the sales package A to be installed is “1” and the version of the function package 2 included in the sales package B is “2”, the already installed function package. Version 2 is newer. In such a case, it is not necessary to install the function package 2 included in the sales package A.

なお、インストールによる販売パッケージ情報74と機能パッケージ情報75の変化は図9と同じである。   The changes in the sales package information 74 and the function package information 75 due to the installation are the same as those in FIG.

<インストール・アクティベーション必要(バージョン違い2)>
図11と同様の状況で、販売パッケージAのアクティベーションが必要な場合を図12に基づき説明する。なお、図12において図10と同一部の説明は省略する。図12では、これからインストールする販売パッケージAに含まれる機能パッケージ2のバージョンが「1」で、販売パッケージBに含まれる機能パッケージ2のバージョンが「2」であるので、既にインストールされている機能パッケージ2の方がバージョンが新しい。このような場合、販売パッケージAに含まれる機能パッケージ2をインストールする必要はない。
<Installation / activation required (different versions 2)>
A case where activation of the sales package A is necessary in the same situation as in FIG. 11 will be described with reference to FIG. In FIG. 12, the description of the same parts as those in FIG. 10 is omitted. In FIG. 12, since the version of the function package 2 included in the sales package A to be installed is “1” and the version of the function package 2 included in the sales package B is “2”, the already installed function package Version 2 is newer. In such a case, it is not necessary to install the function package 2 included in the sales package A.

なお、インストールによる販売パッケージ情報74と機能パッケージ情報75の変化は図10と同じである。   The changes in the sales package information 74 and the function package information 75 due to the installation are the same as those in FIG.

<アップデート>
同じ販売パッケージのアップデートについて説明する。図13は、販売パッケージAのアップデートを説明する図の一例である。販売パッケージのアップデートでも機能パッケージ毎にインストールされるのはこれまでと同じである。アップデートという実装態様は、ユーザが意識的か無意識かに関わらず同じ販売パッケージをインストールする際に生じる状況であり、インストールの一形態である。
<Update>
Describe the update of the same sales package. FIG. 13 is an example of a diagram illustrating the update of the sales package A. Even when a sales package is updated, each function package is installed as before. The update implementation is a situation that occurs when the same sales package is installed regardless of whether the user is conscious or unconscious, and is a form of installation.

画像形成装置100にすでにバージョン「1」の販売パッケージAがインストールされている状態で、ユーザは新しいバージョン「2」の販売パッケージAをインストール(アップデート)する。販売パッケージAには、機能パッケージ1,2が含まれているが、機能パッケージ2のバージョンはいずれも「2」であり変化がない。このような場合は、バージョンが新しくなった機能パッケージのみをインストールすればよい。   The user installs (updates) the new version “2” of the sales package A in a state where the sales package A of the version “1” is already installed in the image forming apparatus 100. The sales package A includes function packages 1 and 2, but the version of the function package 2 is “2” and there is no change. In such a case, only the function package with the new version needs to be installed.

したがって、バージョン判定部85は、機能パッケージ毎にバージョンを比較して、バージョンが新しい機能パッケージのみをインストールするよう、インストール部81に要求する。以上から、インストール部81は、販売パッケージAの機能パッケージ1のみインストールする。   Therefore, the version determination unit 85 compares the versions for each function package, and requests the installation unit 81 to install only the function package with the new version. From the above, the installation unit 81 installs only the function package 1 of the sales package A.

アップデートの場合、販売パッケージ情報74と機能パッケージ情報75とで変化があるのはバージョンの欄だけである。販売パッケージ情報更新部93は、販売パッケージ情報74のバージョンの欄を「1」から「2」に更新し、機能パッケージ情報更新部92は、機能パッケージ1のバージョンの欄を「1」から「2」に更新する。なお、機能パッケージ2はアップデートされなかったので機能パッケージ2のバージョンの欄は変更がない。   In the case of an update, the sales package information 74 and the function package information 75 change only in the version column. The sales package information update unit 93 updates the version column of the sales package information 74 from “1” to “2”, and the function package information update unit 92 updates the version column of the function package 1 from “1” to “2”. Update to Since the function package 2 has not been updated, the version column of the function package 2 is not changed.

<アップデート2>
同じ販売パッケージのアップデートの別の形態について図14に基づき説明する。アップデートの際、機能パッケージの一部又は全てが一新される場合がある。このような場合、同じ販売パッケージでもアップデートにより異なる機能パッケージに切り替わったり追加される場合がある。
<Update 2>
Another form of updating the same sales package will be described with reference to FIG. When updating, some or all of the functional packages may be renewed. In such a case, the same sales package may be switched or added to a different function package due to the update.

図14では、バージョン「2」の販売パッケージAは、バージョン「1」の販売パッケージAに含まれていた機能パッケージ2がなくなり、新たに機能パッケージ3が含まれるようになっている。このような場合、機能パッケージ2はインストールしている必要がない。そこで、削除部86は、新たなバージョンの販売パッケージに含まれていて、古いバージョンの販売パッケージに含まれていない機能パッケージを検出し、その機能パッケージを削除する。削除とはHDD15から消去することをいい、アンインストールと同義である。   In FIG. 14, the sales package A of the version “2” does not include the function package 2 included in the sales package A of the version “1”, and newly includes the function package 3. In such a case, the function package 2 does not need to be installed. Therefore, the deletion unit 86 detects a function package that is included in the new version of the sales package and is not included in the old version of the sales package, and deletes the function package. Deletion means erasing from the HDD 15 and is synonymous with uninstallation.

なお、インストール部81は、新しいバージョンの販売パッケージ1にのみ含まれている機能パッケージ3をインストールする。この機能パッケージ3をアクティベーションするか否かはアップデート前の販売パッケージの状況に従う。   The installation unit 81 installs the function package 3 included only in the new version of the sales package 1. Whether to activate this function package 3 depends on the situation of the sales package before the update.

図14では、機能パッケージ2が新しい販売パッケージAに含まれなくなったので、削除部86は機能パッケージ2を削除する。また、インストール部81は、バージョンが新しくなった機能パッケージ1と、新たに追加された機能パッケージ3をインストールする。   In FIG. 14, since the function package 2 is no longer included in the new sales package A, the deletion unit 86 deletes the function package 2. In addition, the installation unit 81 installs the function package 1 with the new version and the newly added function package 3.

販売パッケージ情報更新部93は、販売パッケージ情報74のバージョンの欄を「1」から「2」に更新し、機能パッケージ情報更新部92は、機能パッケージ1のバージョンの欄を「1」から「2」に更新する。また、機能パッケージ情報更新部92は、機能パッケージ情報75から機能パッケージ2の情報を削除する。そして、新たにインストールした機能パッケージ3の情報を登録する。アップデート前の機能パッケージ2の有効の欄が「○」なので、機能パッケージ3の有効販売数は「1」、有効の欄も「○」になる。   The sales package information update unit 93 updates the version column of the sales package information 74 from “1” to “2”, and the function package information update unit 92 updates the version column of the function package 1 from “1” to “2”. Update to In addition, the function package information update unit 92 deletes the information of the function package 2 from the function package information 75. Then, information on the newly installed function package 3 is registered. Since the valid column of the functional package 2 before the update is “◯”, the number of valid sales of the functional package 3 is “1”, and the valid column is also “◯”.

<インストールの処理手順>
図15は、以上のインストール手順を説明するフローチャート図の一例である。図15ではユーザからの指示によりインストールが開始されるとした(S10)。
<Installation procedure>
FIG. 15 is an example of a flowchart for explaining the above installation procedure. In FIG. 15, it is assumed that installation is started by an instruction from the user (S10).

まず、インストール部81は、HDD15へのアクセスが可能か否かを判定する(S20)。アクセスが可能とは、例えばアクセスする権限があることをいう。アクセスが可能でない場合、HDD15へのアクセスを可能にできるか否かを判定する(S30)。アクセスを可能にするとは、例えば、アクセス権限のあるログイン名で新たにログインしたり、HDD15のセキュリティを調整することである(S40)。最終的にHDD15にアクセスできなければ(S30のNo)、図15の処理を終了する。   First, the installation unit 81 determines whether access to the HDD 15 is possible (S20). “Accessible” means, for example, the authority to access. If access is not possible, it is determined whether or not access to the HDD 15 can be enabled (S30). Making access possible means, for example, newly logging in with a login name having access authority or adjusting the security of the HDD 15 (S40). If the HDD 15 cannot be finally accessed (No in S30), the process in FIG.

HDD15へのアクセスが可能な場合(S20のYes、S30のYes)、インストールする予定の販売パッケージを用意する(S50)。販売パッケージの用意の方法はいくつかあり、例えばサーバからダウンロードすること、HDD15に記憶されているファイルを解凍すること、メモリカード30等の記録媒体を画像形成装置100に装着して読み出すこと等ができる。いずれの場合もinfファイルが添付されている(各記憶メディアに記憶されている)。   When access to the HDD 15 is possible (Yes in S20, Yes in S30), a sales package to be installed is prepared (S50). There are several methods for preparing a sales package, for example, downloading from a server, decompressing a file stored in the HDD 15, loading a recording medium such as the memory card 30 into the image forming apparatus 100, and reading out. it can. In either case, an inf file is attached (stored in each storage medium).

インストール部81は、この用意された販売パッケージの正当性を確認する(S60)。正当性の確認は、例えばユーザが入力したキーコードが販売パッケージに格納されているキーコードと一致するか否か、販売パッケージに格納されている使用可能期間内か否か、画像形成装置100の識別番号に対応づけられているか否か、等により判定される。   The installation unit 81 confirms the validity of the prepared sales package (S60). For example, whether the key code entered by the user matches the key code stored in the sales package, whether it is within the usable period stored in the sales package, Whether it is associated with an identification number or not is determined.

正当性が確認されない場合(S70のNo)、インストール部81は不当な販売パッケージをインストールしようとした場合の後処理を行う(S80)。例えば、エラーメッセージの表示等である。   When the validity is not confirmed (No in S70), the installation unit 81 performs post-processing when an attempt is made to install an illegal sales package (S80). For example, an error message is displayed.

正当性が確認された場合(S70のYes)、インストール部81は販売パッケージの情報ファイル(*.inf)から販売パッケージの情報を取得する(S90)。infファイルには、販売パッケージの名前、ID、機能IDリスト、販売パッケージのバージョン、販売パッケージが含む各機能パッケージのバージョン、アクティベーションの要・不要が登録されている。インストール部81は、機能パッケージに関する情報をinfファイルから読み出す(S100)。   When the validity is confirmed (Yes in S70), the installation unit 81 acquires information on the sales package from the information file (* .inf) of the sales package (S90). In the inf file, the name of the sales package, the ID, the function ID list, the version of the sales package, the version of each function package included in the sales package, and the necessity / unnecessity of activation are registered. The installation unit 81 reads information on the function package from the inf file (S100).

そして、重複機能検出部84は、販売パッケージに含まれる機能パッケージが既に画像形成装置100にインストールされているか否かを確認し(S110)、インストール部81は販売パッケージに含まれる機能パッケージ毎に、画像形成装置100のインストール状況に応じた処理を実行する(S120)。すなわち、
・まだインストールされていない機能パッケージはインストールする。
・インストールされているがバージョンが古い場合は新しい機能パッケージをインストールする。
・インストールされておりバージョンが同等以上の場合はインストールしない。
・新たなバージョンの販売パッケージに含まれていて、古いバージョンの販売パッケージに含まれていない機能パッケージは削除する。
Then, the duplicate function detection unit 84 confirms whether or not the function package included in the sales package has already been installed in the image forming apparatus 100 (S110), and the installation unit 81 determines for each function package included in the sales package. Processing corresponding to the installation status of the image forming apparatus 100 is executed (S120). That is,
• Install feature packages that are not yet installed.
・ If it is installed but the version is old, install a new function package.
・ Do not install if installed and the version is equal or higher.
-Delete function packages that are included in the new version of the sales package and are not included in the old version of the sales package.

ついで、販売パッケージ情報更新部93はインストールした販売パッケージ情報74を更新し、機能パッケージ情報更新部92はインストールした機能パッケージに関し機能パッケージ情報75を更新する(S130)。インストール部81等は以上の処理を機能パッケージ毎に繰り返し実行する。   Next, the sales package information update unit 93 updates the installed sales package information 74, and the function package information update unit 92 updates the function package information 75 regarding the installed function package (S130). The installation unit 81 or the like repeatedly executes the above processing for each function package.

<アクティベーション>
インストール後にアクティベーションが必要な販売パッケージのアクティベーションについて図16に基づき説明する。図2において説明したように、アクティベーションが必要な販売パッケージでは、HDD15にインストールされてもアクティベーションされなければ起動することができない。インストールされたがアクティベーションされていない販売パッケージAの販売パッケージ情報74は、アクティベーションの欄が「×」、有効の欄も「×」である。当然ながら、機能パッケージ情報75の有効販売数の欄も全て「0」になっている。
<Activation>
Activation of a sales package that requires activation after installation will be described with reference to FIG. As described with reference to FIG. 2, a sales package that requires activation cannot be activated unless it is activated even if installed in the HDD 15. In the sales package information 74 of the sales package A that is installed but not activated, the activation column is “x” and the valid column is “x”. Naturally, all the fields of the effective sales number of the function package information 75 are also “0”.

アクティベーション部82は、例えば、ユーザからの指示により販売パッケージAをアクティベーションする。アクティベーションにより同時に有効化される。アクティベーションされると、販売パッケージ情報更新部93は、販売パッケージ情報74のアクティベーションの欄と有効の欄にそれぞれ「○」を登録する。また、機能パッケージ情報更新部92は、機能パッケージ1、2の有効販売数をそれぞれ「1」に増やし、有効の欄にそれぞれ「○」を登録する。   For example, the activation unit 82 activates the sales package A according to an instruction from the user. It is activated at the same time by activation. When activated, the sales package information update unit 93 registers “◯” in the activation column and the valid column of the sales package information 74, respectively. Further, the function package information update unit 92 increases the number of valid sales of the function packages 1 and 2 to “1”, and registers “◯” in the valid column.

<有効化>
有効化とは、起動することや最終的な使用が許可された状態とすることである。アクティベーションされたが有効化されてない状態となることがあるが、アクティベーションしておけば、有効化は簡単な処理で完了するので、販売パッケージを起動可能な状態の直前の状態にしておくことができ、いつもで起動を許可することができる。
<Enable>
“Activation” refers to a state where activation and final use are permitted. Although it may be activated but not activated, if activated, activation is completed with a simple process, so the sales package should be in the state immediately before it can be activated. Can be allowed to start at any time.

図17は、販売パッケージの有効化を説明する図の一例である。すでに販売パッケージAはアクティベーションされているが有効化されていないので、販売パッケージ情報74のアクティベーションの欄は「○」が、有効の欄は「×」がそれぞれ登録されている。販売パッケージが有効化されていないので、機能情報パッケージの有効販売数の欄は「0」であり、有効の欄も「×」である。   FIG. 17 is an example of a diagram for explaining the activation of a sales package. Since the sales package A has already been activated but has not been activated, "O" is registered in the activation column and "X" is registered in the valid column of the sales package information 74, respectively. Since the sales package is not activated, the column for the effective number of sales of the function information package is “0”, and the valid column is also “x”.

例えば、ユーザからの指示、タイマー、HDD15のアクセスが許可されたこと、などをトリガーに、有効化部83は、販売パッケージAを有効化する。すなわち、機能パッケージ1,2をそれぞれ有効化する。   For example, the activation unit 83 activates the sales package A triggered by an instruction from the user, a timer, access to the HDD 15, and the like. That is, the function packages 1 and 2 are activated.

有効化されると、販売パッケージ情報更新部93は、販売パッケージ情報74の有効の欄に「○」に登録する。また、機能パッケージ情報更新部92は、機能パッケージ1、2の有効販売数をそれぞれ「1」に増やし、有効の欄にそれぞれ「○」を登録する。   When validated, the sales package information update unit 93 registers “O” in the valid column of the sales package information 74. Further, the function package information update unit 92 increases the number of valid sales of the function packages 1 and 2 to “1”, and registers “◯” in the valid column.

<アクティベーション(一部機能パッケージを共有)>
アクティベーションは販売パッケージ毎に行われるので、複数の販売パッケージがインストールされた状態でアクティベーションすると、アクティベーションした販売パッケージに含まれる機能パッケージが、別の販売パッケージに含まれている場合がある。しかしながら、このような場合でもアクティベーションされるのは1つの機能パッケージだけである。
<Activation (some function packages are shared)>
Since activation is performed for each sales package, when activation is performed in a state where a plurality of sales packages are installed, a function package included in the activated sales package may be included in another sales package. However, even in this case, only one function package is activated.

図18は、インストール後にアクティベーションが必要な販売パッケージのアクティベーションを説明する図の一例である。画像形成装置100には販売パッケージAとBがインストールされているが、販売パッケージAはアクティベーションされておらず販売パッケージBはアクティベーションされている。したがって、インストールされたがアクティベーションされていない販売パッケージAの販売パッケージ情報74は、アクティベーションの欄が「×」、有効の欄も「×」、販売パッケージBの販売パッケージ情報74は、アクティベーションの欄が「○」、有効の欄も「○」である。   FIG. 18 is an example of a diagram illustrating the activation of a sales package that requires activation after installation. Sales packages A and B are installed in the image forming apparatus 100, but the sales package A is not activated and the sales package B is activated. Accordingly, the sales package information 74 of the sales package A that has been installed but not activated has the activation column “X”, the valid column “X”, and the sales package information 74 of the sales package B is activated. The column of “○” is “◯”, and the valid column is “○”.

これに対応して、機能パッケージ情報75において、機能パッケージ1の販売数は「1」、有効販売数は「0」、有効の欄は「×」である。また、機能パッケージ2の販売数は「2」、有効販売数は「1」、有効の欄は「○」である。機能パッケージ3の販売数は「1」、有効販売数は「1」、有効の欄は「○」である。   Correspondingly, in the function package information 75, the number of sales of the function package 1 is “1”, the number of effective sales is “0”, and the valid column is “x”. Further, the number of sales of the function package 2 is “2”, the number of effective sales is “1”, and the field of “valid” is “◯”. The number of sales of the function package 3 is “1”, the number of effective sales is “1”, and the valid column is “◯”.

アクティベーション部82は、例えば、ユーザからの指示により販売パッケージAをアクティベーションする。アクティベーションにより同時に有効化されるが、機能パッケージ2はすでに有効化されているので、有効化する必要はない。   For example, the activation unit 82 activates the sales package A according to an instruction from the user. Although activated at the same time by the activation, the function package 2 is already activated and does not need to be activated.

アクティベーションされると、販売パッケージ情報更新部93は、販売パッケージ情報74のアクティベーションの欄と有効の欄にそれぞれ「○」に登録する。また、機能パッケージ情報更新部92は、機能パッケージ1の有効販売数を「1」に増やし、有効の欄に「○」を登録する。また、機能パッケージ2の有効販売数も1つ増え「2」になる。   When activated, the sales package information update unit 93 registers “◯” in the activation column and the valid column of the sales package information 74, respectively. Further, the function package information update unit 92 increases the number of effective sales of the function package 1 to “1” and registers “◯” in the valid column. Also, the effective sales number of the function package 2 is increased by 1 to “2”.

<有効化(一部機能パッケージを共有)>
アクティベーションだけされ有効化を後から実行する場合も、アクティベーションと有効化を同時に実行する場合と同様である。
<Enable (some function packages are shared)>
The case where only activation is performed and activation is performed later is the same as the case where activation and activation are performed simultaneously.

図19は、アクティベーション後の有効化を説明する図の一例である。画像形成装置100には販売パッケージAとBがインストールされているが、販売パッケージAは有効化されておらず、販売パッケージBはアクティベーションかつ有効化されている。したがって、インストールされたが有効化されていない販売パッケージAの販売パッケージ情報74は、アクティベーションの欄が「○」、有効の欄は「×」、販売パッケージBの販売パッケージ情報74は、アクティベーションの欄が「○」、有効の欄も「○」である。   FIG. 19 is an example of a diagram for explaining activation after activation. Sales packages A and B are installed in the image forming apparatus 100, but the sales package A is not activated, and the sales package B is activated and validated. Therefore, the sales package information 74 of the sales package A that has been installed but not activated has the activation column “◯”, the valid column “X”, and the sales package information 74 of the sales package B is activated. The column of “○” is “◯”, and the valid column is “○”.

これに対応して、機能パッケージ情報75において、機能パッケージ1の販売数は「1」、有効販売数は「0」、有効の欄は「×」である。また、機能パッケージ2の販売数は「2」、有効販売数は「1」、有効の欄は「○」である。機能パッケージ3の販売数は「1」、有効販売数は「1」、有効の欄は「○」である。   Correspondingly, in the function package information 75, the number of sales of the function package 1 is “1”, the number of effective sales is “0”, and the valid column is “x”. Further, the number of sales of the function package 2 is “2”, the number of effective sales is “1”, and the field of “valid” is “◯”. The number of sales of the function package 3 is “1”, the number of effective sales is “1”, and the valid column is “◯”.

例えば、ユーザからの指示、タイマー、HDD15のアクセスが許可されたこと、などをトリガーに、有効化部83は、販売パッケージAを有効化する。有効化の具体的な作業は、図15と同様である。すなわち、有効化部83は機能パッケージ1を有効化する。なお、機能パッケージ2は既に有効化されているので、有効化する必要はない。   For example, the activation unit 83 activates the sales package A triggered by an instruction from the user, a timer, access to the HDD 15, and the like. The specific work of validation is the same as that in FIG. That is, the validation unit 83 validates the function package 1. Since the function package 2 has already been activated, there is no need to activate it.

有効化されると、販売パッケージ情報更新部93は、販売パッケージ情報74の有効の欄に「○」に登録する。また、機能パッケージ情報更新部92は、機能パッケージ1の有効販売数を「1」に増やし、有効の欄に「○」を登録する。また、機能パッケージ2の有効販売数も1つ増え「2」になる。   When validated, the sales package information update unit 93 registers “O” in the valid column of the sales package information 74. Also, the function package information update unit 92 increases the number of valid sales of the function package 1 to “1” and registers “◯” in the valid column. Also, the effective sales number of the function package 2 is increased by one to “2”.

<有効化の処理手順>
図20は、有効化手順を説明するフローチャート図の一例である。図20ではユーザからの指示により有効化が開始されるとした。なお、アクティベーションの処理は有効化と同じであるので省略した。また、図20において図15と同一ステップには同じ符号を付しその説明は簡単に行う。
<Validation procedure>
FIG. 20 is an example of a flowchart for explaining the validation procedure. In FIG. 20, it is assumed that the activation is started by an instruction from the user. Since the activation process is the same as the activation process, it is omitted. In FIG. 20, the same steps as those in FIG.

まず、有効化部83は、HDD15へのアクセスが可能か否かを判定する(S20〜S40)。HDD15へのアクセスが可能な場合(S20のYes、S30のYes)、有効化は機能パッケージ毎に実行するので、有効化部83は有効化対象の販売パッケージに含まれる機能パッケージを特定する(S210)。   First, the enabling unit 83 determines whether or not access to the HDD 15 is possible (S20 to S40). When access to the HDD 15 is possible (Yes in S20, Yes in S30), the activation is executed for each function package, so the enabling unit 83 identifies the function package included in the sales package to be activated (S210). ).

図21は、ステップS210の機能パッケージの特定手順を説明するフローチャート図である。すなわち、有効化部83は販売パッケージ情報74、機能パッケージ情報75をHDD15から読み出す(S2101)。そして、有効化の対象となっている販売パッケージが含む機能パッケージ(機能IDリスト)を特定する(S2102)。以上で、有効化すべき機能パッケージを特定できた。   FIG. 21 is a flowchart for explaining the function package specifying procedure in step S210. That is, the enabling unit 83 reads the sales package information 74 and the function package information 75 from the HDD 15 (S2101). Then, the function package (function ID list) included in the sales package to be validated is specified (S2102). With the above, the function package to be activated has been identified.

図20に戻り、有効化部83は機能パッケージ情報75を参照して、有効化する機能パッケージの現在の状態を確認する(S220)。他の販売パッケージに含まれている機能パッケージではすでに有効化されている可能性があるからである。   Referring back to FIG. 20, the enabling unit 83 refers to the function package information 75 and confirms the current state of the function package to be enabled (S220). This is because the function package included in another sales package may already be activated.

有効化する機能パッケージが既に有効化されている場合(S230の無効状態)、有効化する必要はないので次の機能パッケージの処理に移行する。   If the function package to be activated has already been activated (invalid state in S230), it is not necessary to activate, so the process proceeds to the next function package.

有効化する機能パッケージが有効化されていない場合(S230の有効状態)、有効化部83はその機能パッケージを有効化する(S240)。以上の処理を、有効化する販売パッケージに含まれる機能パッケージについて繰り返す。   When the function package to be activated is not activated (the activated state in S230), the activation unit 83 activates the function package (S240). The above processing is repeated for the function package included in the sales package to be activated.

全ての機能パッケージの有効化処理が完了すると、販売パッケージ情報更新部93は販売パッケージ情報74を更新し、機能パッケージ情報更新部92は機能パッケージ情報75を更新する(S250)。   When the activation processing of all the function packages is completed, the sales package information update unit 93 updates the sales package information 74, and the function package information update unit 92 updates the function package information 75 (S250).

〔実装後のアンインストール、ディアクティベーション、無効化〕
これまで、プログラムの実装態様について説明してきたが、実装とは逆方向のプロセスを辿ることも可能である。すなわち、アンインストールによりHDD15から販売パッケージを削除し、ディアクティベーションによりアクティベーションされていない状態にし、無効化により有効化されていない状態にすることができる。なお、ディアクティベーションされると同時に無効化される。インストール、アクティベーション、有効化の順に起動状態に近づくという意味では、無効化と有効化が対応し、ディアクティベーションとアクティベーションが対応し、インストールとアンインストールが対応する。以下、順に説明する。
[Uninstallation, deactivation, invalidation after implementation]
So far, the implementation mode of the program has been described, but it is also possible to follow the process in the opposite direction to the implementation. In other words, it is possible to delete the sales package from the HDD 15 by uninstallation, to make it unactivated by deactivation, and to make it not activated by invalidation. It is invalidated at the same time as deactivation. In the sense of approaching the activation state in the order of installation, activation, and activation, invalidation and activation correspond, deactivation and activation correspond, and installation and uninstallation correspond. Hereinafter, it demonstrates in order.

<無効化>
無効化とは有効化した販売パッケージを有効でない状態にすることをいう。無効化により、アクティベーションされているが有効化されてない状態となる。
<Disabling>
Invalidation means that an activated sales package is made invalid. Invalidation results in an activated but not activated state.

図22は、販売パッケージの無効化を説明する図の一例である。販売パッケージAはアクティベーションされ有効化されている。このため、販売パッケージ情報74のアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。販売パッケージAが有効化されているので、機能パッケージ1,2の有効販売数の欄は共に「1」であり、有効の欄も共に「○」である。   FIG. 22 is an example of a diagram for explaining invalidation of a sales package. Sales package A is activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales package information 74, respectively. Since the sales package A is activated, both the columns of the effective sales number of the function packages 1 and 2 are “1”, and both of the valid columns are “◯”.

例えば、ユーザからの指示、有効期間切れによる更新要求などをトリガーに、無効化部89は、販売パッケージAを有効化する。完全にディアクティベーションやアンインストールする前に無効化することで、期限切れ等を知らせるメッセージを確認した後、再度、有効化するなどの使い方が可能になる。無効化部89は、例えばプログラムコンポーネントを終了させるなど、簡単な処理で使用を中断、禁止するものである。   For example, the invalidation unit 89 validates the sales package A triggered by an instruction from the user, an update request due to expiration of the validity period, or the like. By disabling it before completely deactivating or uninstalling it, it becomes possible to use it again after confirming a message that informs the expiration date, etc. The invalidating unit 89 interrupts or prohibits the use with a simple process, for example, by terminating the program component.

無効化されると、販売パッケージ情報更新部93は、販売パッケージ情報74の有効の欄に「×」に登録する。また、機能パッケージ情報更新部92は、機能パッケージ1、2の有効販売数にそれぞれ「0」を登録し、有効の欄にそれぞれ「×」を登録する。   When invalidated, the sales package information update unit 93 registers “x” in the valid column of the sales package information 74. Also, the function package information update unit 92 registers “0” for the number of valid sales of the function packages 1 and 2 and registers “x” for each of the valid columns.

<無効化の処理手順>
図23は、無効化手順を説明するフローチャート図の一例である。図23ではユーザからの指示により無効化が開始されるとした。また、図23において図20と同一ステップには同じ符号を付しその説明は簡単に行う。
<Disabling process>
FIG. 23 is an example of a flowchart for explaining the invalidation procedure. In FIG. 23, the invalidation is started by an instruction from the user. In FIG. 23, the same steps as those in FIG.

まず、無効化部89は、HDD15へのアクセスが可能か否かを判定する(S20〜S40)。HDD15へのアクセスが可能な場合(S20のYes、S30のYes)、無効化は機能パッケージ毎に実行するので、無効化部89は無効化対象の販売パッケージに含まれる機能パッケージを特定する(S210)。ステップS210の処理は図21に示したとおりである。次いで、無効化部89は機能パッケージ情報75を参照して、無効化する機能パッケージの現在の状態を確認する(S320)。その機能パッケージではすでに無効化されている可能性があるからである。   First, the invalidation unit 89 determines whether or not access to the HDD 15 is possible (S20 to S40). When access to the HDD 15 is possible (Yes in S20, Yes in S30), the invalidation is executed for each function package, so the invalidation unit 89 identifies the function package included in the sales package to be invalidated (S210). ). The process of step S210 is as shown in FIG. Next, the invalidation unit 89 refers to the function package information 75 and confirms the current state of the function package to be invalidated (S320). This is because the function package may already be disabled.

無効化する機能パッケージが既に無効化されている場合(S330の無効状態)、無効化する必要はないので次の機能パッケージの処理に移行する。   If the function package to be invalidated is already invalidated (invalid state in S330), it is not necessary to invalidate, and the process proceeds to the next function package.

無効化する機能パッケージが無効化されていない場合(S330の有効状態)、無効化部89は、無効化しようとした機能パッケージが他の有効な販売パッケージに含まれているか否かを確認する(S340)。1つでも有効な販売パッケージがあればその有効性が優先されるからである。   If the function package to be invalidated has not been invalidated (valid state in S330), the invalidation unit 89 checks whether or not the functional package to be invalidated is included in another valid sales package ( S340). This is because if there is even one effective sales package, its effectiveness is given priority.

含まれている場合(S350の含まれている)、無効化できないので次の機能パッケージの処理に移行する。   If it is included (S350 is included), it cannot be invalidated, and the process proceeds to the next function package.

含まれていない場合(S350の含まれていない)、無効化部89はその機能パッケージを無効化する(S360)。以上の処理を、有効化する販売パッケージに含まれる機能パッケージについて繰り返す。   If not included (S350 is not included), the invalidating unit 89 invalidates the function package (S360). The above processing is repeated for the function package included in the sales package to be activated.

全ての機能パッケージの無効化処理が完了すると、販売パッケージ情報更新部93は販売パッケージ情報74を更新し、機能パッケージ情報更新部92は機能パッケージ情報75を更新する(S370)。   When the invalidation processing of all function packages is completed, the sales package information update unit 93 updates the sales package information 74, and the function package information update unit 92 updates the function package information 75 (S370).

<ディアクティベーション>
ディアクティベーションとはアクティベーションかつ有効化された状態の販売パッケージをアクティベーションされていない状態にすることをいう。ディアクティベーションにより、例えば、アクティベーションする権限を残して機能パッケージを起動できない状態にでき、別の画像形成装置100や情報処理装置において改めてアクティベーションすることができる。
<Deactivation>
Deactivation refers to bringing a sales package that has been activated and activated into an unactivated state. By deactivation, for example, the function package cannot be activated with the right to activate, and can be reactivated in another image forming apparatus 100 or information processing apparatus.

図24は、販売パッケージのディアクティベーションを説明する図の一例である。販売パッケージAはアクティベーションされ有効化されている。このため、販売パッケージ情報74のアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。販売パッケージAが有効化されているので、機能パッケージ1,2の有効販売数の欄は共に「1」であり、有効の欄も共に「○」である。   FIG. 24 is an example of a diagram illustrating deactivation of a sales package. Sales package A is activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales package information 74, respectively. Since the sales package A is activated, both the columns of the effective sales number of the function packages 1 and 2 are “1”, and both of the valid columns are “◯”.

例えば、ユーザからの指示、有効期間切れによる更新要求などをトリガーに、ディアクティベーション部88は、販売パッケージAをディアクティベーションする。前者の場合、ディアクティベーションにより、例えば、販売パッケージがアクティベーションされていた画像形成装置100からアクティベーション情報を取り出し両者の関係を解消するので、そのアクティベーション情報を用いて別の画像形成装置100でアクティベーションすることが可能となる。後者の場合、有効期限が切れたので、HDD15に機能パッケージを残したまま使用を禁止できる。   For example, the deactivation unit 88 deactivates the sales package A triggered by an instruction from the user, an update request due to expiration of the validity period, or the like. In the former case, for example, activation information is extracted from the image forming apparatus 100 in which the sales package has been activated by deactivation, and the relationship between the two is canceled. It becomes possible to activate with. In the latter case, since the expiration date has expired, the use can be prohibited while leaving the functional package in the HDD 15.

ディアクティベーションされると、販売パッケージ情報更新部93は、販売パッケージ情報74のアクティベーションの欄と有効の欄にそれぞれ「×」を登録する。また、機能パッケージ情報更新部92は、機能パッケージ1、2の有効販売数にそれぞれ「0」を登録し、有効の欄にそれぞれ「×」を登録する。   After deactivation, the sales package information update unit 93 registers “x” in the activation column and the valid column of the sales package information 74, respectively. Also, the function package information update unit 92 registers “0” for the number of valid sales of the function packages 1 and 2 and registers “x” for each of the valid columns.

<アンインストール>
アンインストールとはHDD15から販売パッケージを削除することをいう。すなわち、再インストールしなければその販売パッケージによる機能を実行することができなくなり、プログラムコンポーネントの不正利用を防止しやすくできる。
<Uninstall>
Uninstall refers to deleting a sales package from the HDD 15. In other words, if it is not reinstalled, the function of the sales package cannot be executed, and unauthorized use of program components can be easily prevented.

図25は、販売パッケージのアンインストールを説明する図の一例である。販売パッケージAはアクティベーションされ有効化されている。このため、販売パッケージ情報74のアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。なお、アンインストールは、アクティベーションされていない状態又は有効化されていない状態でも可能である。販売パッケージAが有効化されているので、機能パッケージ1,2の有効販売数の欄は共に「1」であり、有効の欄も共に「○」である。   FIG. 25 is an example of a diagram illustrating uninstallation of a sales package. Sales package A is activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales package information 74, respectively. It should be noted that the uninstallation can be performed even in an unactivated state or an activated state. Since the sales package A is activated, both the columns of the effective sales number of the function packages 1 and 2 are “1”, and both of the valid columns are “◯”.

例えば、ユーザからの指示、有効期間切れになどをトリガーに、アンインストール部87は、販売パッケージAをHDD15からアンインストールする。前者の場合、例えば、有効期限が切れたのでHDD15から削除する場合、逆に有効期限を残して別の画像形成装置100にインストールしたり、残期間の料金を返還してもらうような場合が考えられる。後者の場合は、有効期限が切れたので自動的にアンインストールすることが考えられる。   For example, the uninstallation unit 87 uninstalls the sales package A from the HDD 15 by using an instruction from the user, expiration of the validity period, or the like as a trigger. In the former case, for example, when deleting from the HDD 15 because the expiration date has expired, conversely, it may be possible to install it in another image forming apparatus 100 while leaving the expiration date, or to return the fee for the remaining period. It is done. In the latter case, it is possible to uninstall automatically because the expiration date has expired.

アンインストールされると、販売パッケージ情報更新部93は、販売パッケージ情報74をHDD15から削除し、機能パッケージ情報更新部92は、機能パッケージ1情報をHDD15から削除する。   When the software package is uninstalled, the sales package information update unit 93 deletes the sales package information 74 from the HDD 15, and the function package information update unit 92 deletes the function package 1 information from the HDD 15.

<無効化(一部機能パッケージを共有)>
同じ機能パッケージを含む販売パッケージの一部が無効化された場合を説明する。図26は、販売パッケージの無効化を説明する図の一例である。販売パッケージA、Bは共にアクティベーションされ有効化されている。このため、販売パッケージA,Bのアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。販売パッケージA、Bが有効化されているので、機能パッケージ1の有効販売数は「1」有効の欄は「○」、機能パッケージ2の有効販売数は「2」有効の欄は「○」、機能パッケージ3の有効販売数は「1」有効の欄は「○」である。
<Disabling (some function packages are shared)>
A case where a part of a sales package including the same function package is invalidated will be described. FIG. 26 is an example of a diagram for explaining invalidation of a sales package. Sales packages A and B are both activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales packages A and B, respectively. Since the sales packages A and B are activated, the number of effective sales of the functional package 1 is “○” in the “effective” column, and the effective number of sales of the functional package 2 is “2” in the “effective” column. The effective sales number of the function package 3 is “1”, and the “effective” column is “◯”.

無効化部89が販売パッケージAを無効化すると、販売パッケージ情報更新部93は、販売パッケージAの有効の欄に「×」に登録する。これにより、機能パッケージ1と販売パッケージAに含まれている機能パッケージ2が無効化されるので、機能パッケージ情報更新部92は、機能パッケージ1の有効販売数を1減らして「0」に有効の欄に「×」を登録し、機能パッケージ2の有効販売数を1減らして「1」を登録する。なお、機能パッケージ2は有効販売数は「1」であるので、機能パッケージ2は無効化されない。   When the invalidation unit 89 invalidates the sales package A, the sales package information update unit 93 registers “x” in the valid column of the sales package A. As a result, since the function package 2 included in the function package 1 and the sales package A is invalidated, the function package information update unit 92 reduces the number of effective sales of the function package 1 by 1 and is valid to “0”. In the column, “×” is registered, and the number of effective sales of the function package 2 is decreased by 1, and “1” is registered. In addition, since the number of effective sales of the function package 2 is “1”, the function package 2 is not invalidated.

<ディアクティベーション(一部機能パッケージを共有)>
同じ機能パッケージを含む販売パッケージの一部がディアクティベーションされた場合を説明する。図27は、販売パッケージのディアクティベーションを説明する図の一例である。販売パッケージA、Bは共にアクティベーションされ有効化されている。このため、販売パッケージA、Bのアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。販売パッケージA、Bが有効化されているので、機能パッケージ1の有効販売数は「1」有効の欄は「○」、機能パッケージ2の有効販売数は「2」有効の欄は「○」、機能パッケージ3の有効販売数は「1」有効の欄は「○」である。
<Deactivation (some function packages are shared)>
A case where a part of a sales package including the same function package is deactivated will be described. FIG. 27 is an example of a diagram illustrating deactivation of a sales package. Sales packages A and B are both activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales packages A and B, respectively. Since the sales packages A and B are activated, the number of effective sales of the functional package 1 is “○” in the “effective” column, and the effective number of sales of the functional package 2 is “2” in the “effective” column. The effective sales number of the function package 3 is “1”, and the “effective” column is “◯”.

ディアクティベーション部88が販売パッケージAをディアクティベーションすると、販売パッケージ情報更新部93は、販売パッケージAのアクティベーションの欄と有効の欄にそれぞれ「×」を登録する。また、機能パッケージ1と販売パッケージAに含まれている機能パッケージ2が無効化されるので、機能パッケージ情報更新部92は、機能パッケージ1の有効販売数を1減らして「0」に有効の欄に「×」を登録し、機能パッケージ2の有効販売数を1減らして「1」を登録する。なお、機能パッケージ2は有効販売数が「1」であるので、機能パッケージ2は無効化されない。   When the deactivation unit 88 deactivates the sales package A, the sales package information update unit 93 registers “x” in the activation column and the valid column of the sales package A, respectively. In addition, since the function package 2 included in the function package 1 and the sales package A is invalidated, the function package information update unit 92 reduces the number of effective sales of the function package 1 by 1 and sets it to the column “0”. “×” is registered, and the number of effective sales of the function package 2 is decreased by 1, and “1” is registered. In addition, since the number of effective sales of the function package 2 is “1”, the function package 2 is not invalidated.

<アンインストール(一部機能パッケージを共有)>
一部の機能パッケージを共有したアンインストールには、アンインストール前の販売パッケージが有効か否かに応じて3つの態様がある。以下、順番に説明する。
・いずれも有効な販売パッケージの一方をアンインストール
同じ機能パッケージを含む販売パッケージの一部が無効化された場合を説明する。図28は、販売パッケージのアンインストールを説明する図の一例である。販売パッケージA、Bは共にアクティベーションされ有効化されている。このため、販売パッケージA、Bのアクティベーションの欄と有効の欄はそれぞれ「○」が登録されている。販売パッケージA、Bが有効化されているので、機能パッケージ1の有効販売数は「1」有効の欄は「○」、機能パッケージ2の有効販売数は「2」有効の欄は「○」、機能パッケージ3の有効販売数は「1」有効の欄は「○」である。
<Uninstall (some function packages are shared)>
There are three modes of uninstallation in which some function packages are shared, depending on whether the sales package before the uninstallation is valid or not. Hereinafter, it demonstrates in order.
-Uninstall one of the sales packages that are all valid. Explain the case where a part of the sales package that contains the same functional package is invalidated. FIG. 28 is an example of a diagram illustrating uninstallation of a sales package. Sales packages A and B are both activated and activated. Therefore, “◯” is registered in the activation column and the valid column of the sales packages A and B, respectively. Since the sales packages A and B are activated, the number of effective sales of the functional package 1 is “○” in the “effective” column, and the effective number of sales of the functional package 2 is “2” in the “effective” column. The effective sales number of the function package 3 is “1”, and the “effective” column is “◯”.

アンインストール部87が販売パッケージAをアンインストールすると、販売パッケージ情報更新部93は、販売パッケージAの情報を全て消去する。これにより、機能パッケージ1と販売パッケージAに含まれている機能パッケージ2がアンインストールされるので、機能パッケージ情報更新部92は、機能パッケージ1の情報を消去する。また、機能パッケージ2の販売数を1減らして「1」に、有効販売数を1減らして「1」にする。なお、機能パッケージ2は有効販売数が「1」であるので、機能パッケージ2は無効化されない。
・一方が有効でない販売パッケージのうち有効な方をアンインストール
図29は、販売パッケージのアンインストールを説明する図の一例である。販売パッケージAはアクティベーションされ有効化されているが、販売パッケージBはアクティベーションされているが有効化されていない。この状態で販売パッケージAをアンインストールすると、有効な販売パッケージがなくなることになる。
When the uninstall unit 87 uninstalls the sales package A, the sales package information update unit 93 deletes all the information of the sales package A. As a result, the function package 1 included in the function package 1 and the sales package A is uninstalled, and the function package information update unit 92 erases the information of the function package 1. Further, the number of sales of the function package 2 is decreased by 1 to “1”, and the number of effective sales is decreased by 1 to “1”. In addition, since the number of effective sales of the function package 2 is “1”, the function package 2 is not invalidated.
Uninstalling the valid one of the sales packages in which one is not valid FIG. 29 is an example of a diagram for explaining the uninstallation of the sales package. Sales package A is activated and activated, but sales package B is activated but not activated. If the sales package A is uninstalled in this state, there is no valid sales package.

販売パッケージAのアクティベーションの欄と有効の欄はそれぞれ「○」が、販売パッケージBのアクティベーションの欄は「○」だが有効の欄は「×」が登録されている。販売パッケージAだけ有効化されているので、機能パッケージ1の有効販売数は「1」有効の欄は「○」、機能パッケージ2の有効販売数は「1」有効の欄は「○」、機能パッケージ3の有効販売数は「0」有効の欄は「×」である。   “O” is registered in the activation column and the valid column of the sales package A, “O” is registered in the activation column of the sales package B, but “X” is registered in the valid column. Since only the sales package A is activated, the number of valid sales of the function package 1 is “1”, the valid field is “○”, the number of valid sales of the function package 2 is “1”, the valid field is “○”, and the function The number of effective sales of the package 3 is “0”, and the “effective” column is “×”.

アンインストール部87が販売パッケージAをアンインストールすると、販売パッケージ情報更新部93は、販売パッケージAの情報を全て消去する。これにより、機能パッケージ1と販売パッケージAに含まれている機能パッケージ2がアンインストールされるので、機能パッケージ情報更新部92は、機能パッケージ1の情報を全て消去する。また、機能パッケージ2の販売数を1減らして「1」を、有効販売数を1減らして「0」をそれぞれ登録する。有効販売数が「0」なので、機能パッケージ2の有効の欄は「×」になる。したがって、機能パッケージ2,3のいずれも有効でなくなる。
・一方が有効でない販売パッケージのうち有効でない方をアンインストール
図30は、販売パッケージのアンインストールを説明する図の一例である。販売パッケージAはアクティベーションされているが有効化されておらず、販売パッケージBはアクティベーションされ有効化されている。この状態で販売パッケージAをアンインストールする。
When the uninstall unit 87 uninstalls the sales package A, the sales package information update unit 93 deletes all the information of the sales package A. As a result, the function package 1 included in the function package 1 and the sales package A is uninstalled, and the function package information update unit 92 erases all the information of the function package 1. In addition, the number of sales of the function package 2 is reduced by 1 to register “1”, and the number of effective sales is decreased by 1 to register “0”. Since the number of effective sales is “0”, the valid column of the function package 2 is “x”. Therefore, neither of the function packages 2 and 3 becomes effective.
Uninstalling one of the sales packages that is not valid is not effective FIG. 30 is an example of a diagram for explaining how to uninstall a sales package. Sales package A is activated but not activated, and sales package B is activated and activated. In this state, the sales package A is uninstalled.

販売パッケージAのアクティベーションの欄は「○」が有効の欄は「×」が、販売パッケージBのアクティベーションの欄と有効の欄は「○」が、それぞれ登録されている。販売パッケージBだけ有効化されているので、機能パッケージ1の有効販売数は「0」有効の欄は「×」、機能パッケージ2の有効販売数は「1」有効の欄は「○」、機能パッケージ3の有効販売数は「1」有効の欄は「○」である。   In the activation field of the sales package A, “X” is registered for the valid field, and “◯” is registered for the activation field and the valid field of the sales package B. Since only the sales package B is activated, the number of effective sales of the function package 1 is “0”, the “effective” column is “×”, the number of effective sales of the function package 2 is “1”, the effective column is “○”, and the function The number of effective sales of the package 3 is “1”, and the “effective” column is “◯”.

アンインストール部87が販売パッケージAをアンインストールすると、販売パッケージ情報更新部93は、販売パッケージAの情報を全て消去する。これにより、機能パッケージ1と販売パッケージAに含まれている機能パッケージ2がアンインストールされるので、機能パッケージ情報更新部92は、機能パッケージ1の情報を全て消去する。また、機能パッケージ2の販売数を1減らして「1」を登録する。機能パッケージ2の有効販売数は変化しないので「1」のままであり、有効の欄も「○」のままである。したがって、機能パッケージ2は有効のままである。また、機能パッケージ3の機能パッケージ情報75には変化がない。   When the uninstall unit 87 uninstalls the sales package A, the sales package information update unit 93 deletes all the information of the sales package A. As a result, the function package 1 included in the function package 1 and the sales package A is uninstalled, and the function package information update unit 92 erases all the information of the function package 1. Further, the number of sales of the function package 2 is reduced by 1, and “1” is registered. Since the number of effective sales of the function package 2 does not change, it remains “1” and the valid column also remains “◯”. Therefore, the function package 2 remains valid. Further, the function package information 75 of the function package 3 is not changed.

<アンインストールの処理手順>
図31は、アンインストール手順を説明するフローチャート図の一例である。図31ではユーザからの指示により有効化が開始されるとした。なお、図31において図20と同一ステップには同じ符号を付しその説明は簡単に行う。
<Uninstallation procedure>
FIG. 31 is an example of a flowchart for explaining the uninstallation procedure. In FIG. 31, it is assumed that the activation is started by an instruction from the user. In FIG. 31, the same steps as those in FIG.

まず、アンインストール部87は、HDD15へのアクセスが可能か否かを判定する(S20〜S40)。HDD15へのアクセスが可能な場合(S20のYes、S30のYes)、アンインストールは機能パッケージ毎に実行するので、アンインストール部87はアンインストール対象の販売パッケージに含まれる機能パッケージを特定する(S210)。ステップS210の処理は図21に示したとおりである。
販売パッケージをアンインストールすると、含まれている機能パッケージが他の販売パッケージに含まれているか否かや有効化されているか否かにより処理が変わってくるので、処理内容決定部91は機能パッケージ毎に適切な処理(以下、アンインストール時処理という)を決定する(S410)。
図32はアンインストール時処理の手順を示すフローチャート図の一例である。処理内容決定部91は、アンインストールする販売パッケージに含まれている機能パッケージが現在有効か否かを確認する(S4010)。
First, the uninstaller 87 determines whether or not access to the HDD 15 is possible (S20 to S40). If access to the HDD 15 is possible (Yes in S20, Yes in S30), the uninstallation is performed for each function package, so the uninstaller 87 specifies the function package included in the sales package to be uninstalled (S210). ). The process of step S210 is as shown in FIG.
When the sales package is uninstalled, the processing changes depending on whether the included function package is included in another sales package or whether the function package is activated. Appropriate processing (hereinafter referred to as uninstallation processing) is determined (S410).
FIG. 32 is an example of a flowchart showing the procedure of uninstallation processing. The processing content determination unit 91 checks whether or not the function package included in the sales package to be uninstalled is currently valid (S4010).

例えば、図28では、機能パッケージ1、2は共に有効であり、図29では、機能パッケージ1、2は共に有効であり、図30では、機能パッケージ1は有効でないが機能パッケージ2が有効である。   For example, in FIG. 28, the function packages 1 and 2 are both valid, in FIG. 29 both the function packages 1 and 2 are valid, and in FIG. 30, the function package 1 is not valid but the function package 2 is valid. .

有効状態な場合(S4020のYes)、アンインストールする販売パッケージに含まれている有効な機能パッケージが、他の有効な販売パッケージに含まれているか否かを確認する(S4030)。   If it is in the valid state (Yes in S4020), it is confirmed whether the valid function package included in the sales package to be uninstalled is included in another valid sales package (S4030).

他の有効な販売パッケージに含まれている場合は(S4040のYes)、アンインストールも無効化もできないので、何もしない(S4100)。すなわち、図28の機能パッケージ2,図30の機能パッケージ2は有効なままである。   If it is included in another valid sales package (Yes in S4040), nothing can be done because neither uninstallation nor invalidation is possible (S4100). That is, the function package 2 in FIG. 28 and the function package 2 in FIG. 30 remain valid.

他の有効な販売パッケージに含まれていない場合(S4040のNo)、アンインストールする販売パッケージに含まれている有効な機能パッケージが、他の販売パッケージに含まれているか否かを確認する(S4050)。有効でない販売パッケージに含まれているため、今回のアンインストールでその機能パッケージは有効でなくなる。   If it is not included in another valid sales package (No in S4040), it is confirmed whether or not a valid function package included in the sales package to be uninstalled is included in the other sales package (S4050). ). Because it is included in a non-valid sales package, the feature package is no longer valid for this uninstall.

このため、他の販売パッケージに含まれている場合(S4060のYes)、処理内容決定部91はその機能パッケージを無効化すると決定する(S4070)。すなわち、図29の機能パッケージ2は無効化される。   For this reason, when it is included in another sales package (Yes in S4060), the processing content determination unit 91 determines to invalidate the function package (S4070). That is, the function package 2 in FIG. 29 is invalidated.

一方、他の販売パッケージに含まれていない場合(S4060のNo)、消去してよいことになるので、処理内容決定部91はその機能パッケージをアンインストールすると決定する(S4110)。すなわち、図28、29の機能パッケージ1はHDD15から消去される。   On the other hand, if it is not included in another sales package (No in S4060), it can be deleted, so the processing content determination unit 91 determines to uninstall the function package (S4110). That is, the function package 1 shown in FIGS. 28 and 29 is deleted from the HDD 15.

ステップS4020に戻り、有効状態でない場合(S4020のNo)、アンインストールする販売パッケージに含まれている機能パッケージが、他の販売パッケージに含まれているか否かを確認する(S4080)。例えば、図30の機能パッケージ1は有効でないが、他の販売パッケージに含まれていない。   Returning to step S4020, if it is not in the valid state (No in S4020), it is confirmed whether the function package included in the sales package to be uninstalled is included in another sales package (S4080). For example, the function package 1 of FIG. 30 is not valid, but is not included in other sales packages.

含まれていない場合(S4090のNo)、処理内容決定部91はその機能パッケージをアンインストールすると決定する(S4110)。すなわち、図30の機能パッケージ1はHDD15から消去される。   If not included (No in S4090), the processing content determination unit 91 determines to uninstall the function package (S4110). That is, the function package 1 in FIG. 30 is erased from the HDD 15.

含まれている場合(S4090のYes)、すでに有効でないことになるので、アンインストール対象の機能パッケージには何もしない(S4100)。   If it is included (Yes in S4090), it is already invalid, so nothing is performed on the function package to be uninstalled (S4100).

以上のロジックで機能パッケージ毎に処理内容を決定すると、図31に戻り、アンインストール部87は、処理内容に基づき、販売パッケージに含まれる機能パッケージがアンインストール可能か否かを判定する(S420)。   When the processing content is determined for each function package by the above logic, the process returns to FIG. 31 and the uninstaller 87 determines whether or not the function package included in the sales package can be uninstalled based on the processing content (S420). .

アンインストールが可能な機能パッケージであれば(S430のYes)、アンインストール部87は販売パッケージに含まれる機能パッケージをアンインストールする(S440)。   If it is a function package that can be uninstalled (Yes in S430), the uninstaller 87 uninstalls the function package included in the sales package (S440).

アンインストールすると、販売パッケージ情報更新部93は販売パッケージ情報74を更新し、機能パッケージ情報更新部92は機能パッケージ情報75を更新する(S450)。   When uninstalling, the sales package information update unit 93 updates the sales package information 74, and the functional package information update unit 92 updates the functional package information 75 (S450).

以上のように、アンインストールする際、機能パッケージの共用状態、有効化の有無等に応じて、適切にアンインストールすることができる。   As described above, when uninstalling, it can be appropriately uninstalled according to the sharing state of function packages, presence / absence of activation, and the like.

〔起動処理〕
続いて、実装されたプログラムの起動について説明する。上記のように、各プラグインコンポーネント(機能パッケージ)73の起動は、起動情報77に基づいてプラグインスタータ72により制御される。このため、販売パッケージのインストールする際は、販売パッケージが含む各機能パッケージの起動順を起動情報77に登録する。このため、各販売パッケージには起動情報77を生成するための情報が含まれている。
〔Start process〕
Next, activation of the installed program will be described. As described above, activation of each plug-in component (functional package) 73 is controlled by the plug-in starter 72 based on the activation information 77. For this reason, when installing a sales package, the activation order of each function package included in the sales package is registered in the activation information 77. For this reason, each sales package includes information for generating the activation information 77.

図33(a)は、販売パッケージに含まれるパッケージ内容を模式的に説明する図の一例である。例えば、この販売パッケージには3つの機能パッケージA〜Cが含まれている。また、上記のinfファイルと起動順を定義した起動順定義ファイル95がパッケージされている。起動順定義ファイル95には、例えば、「起動順:1.機能パッケージA、2.機能パッケージB、3.機能パッケージC」のように起動順が定義されている。   FIG. 33 (a) is an example of a diagram for schematically explaining package contents included in a sales package. For example, this function package includes three function packages A to C. Also, a start order definition file 95 defining the above inf file and start order is packaged. In the activation order definition file 95, for example, the activation order is defined as “activation order: 1. function package A, 2. function package B, 3. function package C”.

図33(b)は、起動処理におけるインストール管理部の機能ブロック図の一例を示す。起動情報更新部94は、インストールした販売パッケージの起動順定義ファイル95に従い、起動情報77に起動順を登録する。同様に、インストール時だけでなく、アクティベーション又は有効化により機能パッケージが有効化された場合、起動情報更新部94は有効化された機能パッケージを起動情報77に登録する。   FIG. 33B shows an example of a functional block diagram of the installation management unit in the startup process. The activation information update unit 94 registers the activation order in the activation information 77 according to the activation order definition file 95 of the installed sales package. Similarly, when the function package is activated not only at the time of installation but also by activation or activation, the activation information update unit 94 registers the activated function package in the activation information 77.

起動情報77に登録される順番は、起動情報77への登録順である。しかし、起動順定義ファイル95に他の販売パッケージの機能パッケージに対する起動順が定義されている場合は、それに従い既に登録されている機能パッケージより前に登録されてもよい。   The order of registration in the activation information 77 is the registration order in the activation information 77. However, when the activation order for the function packages of other sales packages is defined in the activation order definition file 95, it may be registered before the function packages already registered according to the activation order.

また、起動情報更新部94は、有効化されている機能パッケージを起動情報77に登録するので、機能パッケージ情報75を参照して有効な機能パッケージを登録し、無効になった機能パッケージは削除する。
以下、いくつかの例を具体的に説明する。
In addition, since the activation information update unit 94 registers the activated function package in the activation information 77, the activation information update unit 94 registers the valid function package with reference to the function package information 75, and deletes the invalid function package. .
Several examples will be specifically described below.

<起動情報77の更新1>
図34は、販売パッケージの実装と起動情報77の関係の一例を説明する図である。図34では、販売パッケージと矢印で結ばれた機能パッケージがその販売パッケージに含まれることを示す。販売パッケージAには、機能パッケージ1、2,5が含まれ、販売パッケージBには機能パッケージ1,3が含まれ、販売パッケージCには機能パッケージ2,3、4が含まれる。
<Update 1 of activation information 77>
FIG. 34 is a diagram for explaining an example of the relationship between the sales package mounting and the activation information 77. FIG. 34 shows that the sales package includes a function package connected by an arrow. The sales package A includes functional packages 1, 2, and 5, the sales package B includes functional packages 1 and 3, and the sales package C includes functional packages 2, 3, and 4.

初期状態の販売パッケージAは有効、販売パッケージBは無効である。このため、機能パッケージ1,2,5は有効化されており、起動情報77には機能パッケージ1,2、5が登録されている。この状態から販売パッケージCをインストールする。したがって、販売パッケージCに含まれる機能パッケージ2、3、4は、それまで有効であればそのままに、インストールされていてそれまで無効であれば有効になり、インストールされていなければ有効になる。
機能パッケージ2:有効のまま
機能パッケージ3:無効→有効
機能パッケージ4:アンインストール→有効
したって、起動情報更新部94は新たに有効になった機能パッケージ3,4を起動情報77に登録する。機能パッケージ3,4の登録順は、起動順定義ファイル95に定義されている順番である。
The initial sales package A is valid and the sales package B is invalid. For this reason, the function packages 1, 2, and 5 are activated, and the function packages 1, 2, and 5 are registered in the activation information 77. From this state, the sales package C is installed. Therefore, the function packages 2, 3, and 4 included in the sales package C are left as they are if they are valid until then, and are valid if they are installed and invalid until then, and become valid if they are not installed.
If the function package 2 remains valid, the function package 3: invalid → valid function package 4: uninstall → valid, the activation information update unit 94 registers the newly activated function packages 3 and 4 in the activation information 77. The registration order of the function packages 3 and 4 is the order defined in the activation order definition file 95.

<起動情報77の更新2>
図35は、販売パッケージの実装と起動情報77の関係の一例を説明する図である。図35は、図34で販売パッケージCが有効になった状態であるので、初期状態の機能パッケージ1〜5はいずれも有効である。この状態から販売パッケージCをアンインストールする。
<Update 2 of startup information 77>
FIG. 35 is a diagram for explaining an example of the relationship between the sales package mounting and the activation information 77. FIG. 35 shows a state in which the sales package C is valid in FIG. 34, so that the function packages 1 to 5 in the initial state are all valid. From this state, the sales package C is uninstalled.

したがって、販売パッケージCにのみ含まれる機能パッケージ4は、アンインストールされる。また、販売パッケージBはもともと無効なので、販売パッケージCとBにのみ含まれる機能パッケージCは無効化される。
機能パッケージ2:販売パッケージAが有効なので有効のまま
機能パッケージ3:有効→無効
機能パッケージ4:有効→アンインストール
したって、起動情報更新部94は新たに無効になった機能パッケージ3、アンインストールされた機能パッケージ4を、起動情報77から削除する。
Therefore, the function package 4 included only in the sales package C is uninstalled. Since the sales package B is originally invalid, the function package C included only in the sales packages C and B is invalidated.
Function package 2: Sales package A is valid and remains valid Function package 3: Valid → Invalid Function package 4: Valid → Uninstalled, the startup information update unit 94 is newly deactivated, and the function package 3 is newly uninstalled. The function package 4 is deleted from the activation information 77.

<起動情報77の更新3>
起動順に制約がある場合を説明する。図36は、販売パッケージの実装と起動情報77の関係の一例を説明する図である。なお、図36の初期状態は図34と同じで、その初期状態に販売パッケージCをインストール点でも同様である。
機能パッケージ2:有効のまま
機能パッケージ3:無効→有効
機能パッケージ4:アンインストール→有効
したって、起動情報更新部94は新たに有効になった機能パッケージ3,4を起動情報77に登録するが、販売パッケージCは起動順定義ファイル95に起動順を定義している。図36では、「1.機能パッケージ2、2.機能パッケージ3、3.機能パッケージ4」の順番である。このような起動順は、機能パッケージ間の依存関係がある場合に定義される。図36では、例えば機能パッケージ4は機能パッケージ3の機能を利用するため、機能パッケージ4よりも前に機能パッケージ3が起動している必要がある場合等である。
<Update 3 of startup information 77>
A case where there are restrictions in the order of activation will be described. FIG. 36 is a diagram for explaining an example of the relationship between the sales package mounting and the activation information 77. The initial state of FIG. 36 is the same as that of FIG. 34, and the same applies to the installation point of the sales package C in the initial state.
Function package 2: Remains valid Function package 3: Invalid → Valid function package 4: Uninstall → Valid The activation information update unit 94 registers the newly activated function packages 3 and 4 in the activation information 77. The sales package C defines the startup order in the startup order definition file 95. In FIG. 36, the order is “1. function package 2, 2. function package 3, 3. function package 4.” Such an activation order is defined when there is a dependency relationship between function packages. In FIG. 36, for example, the function package 4 uses the function of the function package 3, and therefore the function package 3 needs to be activated before the function package 4.

起動情報更新部94は、有効化された機能パッケージがある場合、起動順定義ファイル95を参照して、適切な順番で機能パッケージを起動情報77に登録する。   When there is an activated function package, the activation information update unit 94 refers to the activation order definition file 95 and registers the function packages in the activation information 77 in an appropriate order.

以上説明したように、本実施形態の画像形成装置100は、既にインストールされている機能パッケージはインストールしないので、効率的なインストールが可能となる。また、アンインストール時は、アンインストールしない販売パッケージに含まれている機能パッケージは削除しないので、残った販売パッケージに影響を与えることもない。すなわち、複数の販売パッケージが含む複数の機能パッケージが、一部重複するような構成の場合、実用的なプログラムの実装が容易に実現できる。   As described above, the image forming apparatus 100 according to the present embodiment does not install the already installed function package, so that efficient installation is possible. Further, when uninstalling, the function package included in the sales package that is not uninstalled is not deleted, so that the remaining sales package is not affected. That is, when a plurality of function packages included in a plurality of sales packages are partially overlapped, a practical program can be easily implemented.

画像形成装置におけるインストールの概要を模式的に説明する図の一例である。FIG. 2 is an example of a diagram schematically illustrating an overview of installation in an image forming apparatus. インストールされても有効化されない販売パッケージのインストールを説明する図の一例である。It is an example of the figure explaining installation of the sales package which is not validated even if installed. 画像形成装置のハードウェア構成図の一例である。1 is an example of a hardware configuration diagram of an image forming apparatus. 画像形成装置のソフトウェアモジュールの一例を示す図である。2 is a diagram illustrating an example of a software module of an image forming apparatus. FIG. インストール管理部の機能ブロック図の一例である。It is an example of a functional block diagram of an installation management unit. プラグイン管理部の機能ブロック図の一例である。It is an example of the functional block diagram of a plug-in management part. インストール時にアクティベーションされるプログラムの実装態様の一例を説明する図である。It is a figure explaining an example of the implementation mode of the program activated at the time of installation. インストール時にアクティベーションされないプログラムの実装態様の一例を説明する図である。It is a figure explaining an example of the implementation mode of the program which is not activated at the time of installation. 同じ機能パッケージが既にインストールされているが、バージョンが異なる場合のインストールの一例を説明する図である。It is a figure explaining an example of installation when the same function package is already installed, but versions are different. 異なるバージョンで同じ機能パッケージをインストールする場合において、アクティベーションが必要な場合の一例を説明する図である。It is a figure explaining an example in case activation is required when installing the same function package in a different version. 同じ機能パッケージが既にインストールされており、バージョンが異なるが、後からインストールする機能パッケージのバージョンの方が古い場合の一例を説明する図である。It is a figure explaining an example when the same function package is already installed and the version is different, but the version of the function package to be installed later is older. 販売パッケージのアクティベーションが必要な場合の一例を説明する図の一例である。It is an example of the figure explaining an example when activation of a sales package is required. 販売パッケージのアップデートを説明する図の一例である。It is an example of the figure explaining the update of a sales package. 同じ販売パッケージのアップデートの別の形態を説明する図の一例である。It is an example of the figure explaining another form of the update of the same sales package. インストール手順を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining an installation procedure. インストール後にアクティベーションが必要な販売パッケージのアクティベーションの一例を説明する図である。It is a figure explaining an example of activation of the sales package which needs activation after installation. 販売パッケージの有効化を説明する図の一例である。It is an example of the figure explaining validation of a sales package. インストール後にアクティベーションが必要な販売パッケージのアクティベーションを説明する図の一例である。It is an example of the figure explaining the activation of the sales package which needs activation after installation. アクティベーション後の有効化を説明する図の一例である。It is an example of the figure explaining the activation after activation. 有効化手順を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining an validation procedure. 機能パッケージの特定手順を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining the specific procedure of a function package. 販売パッケージの無効化を説明する図の一例である。It is an example of the figure explaining invalidation of a sales package. 有効化手順を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining an validation procedure. 販売パッケージのディアクティベーションを説明する図の一例である。It is an example of the figure explaining the deactivation of a sales package. 販売パッケージのアンインストールを説明する図の一例である。It is an example of the figure explaining uninstallation of a sales package. 販売パッケージの無効化を説明する図の一例である。It is an example of the figure explaining invalidation of a sales package. 販売パッケージのディアクティベーションを説明する図の一例である。It is an example of the figure explaining the deactivation of a sales package. 販売パッケージのアンインストールを説明する図の一例である。It is an example of the figure explaining uninstallation of a sales package. 販売パッケージのアンインストールを説明する図の一例である。It is an example of the figure explaining uninstallation of a sales package. 販売パッケージのアンインストールを説明する図の一例である。It is an example of the figure explaining uninstallation of a sales package. アンインストール手順を説明するフローチャート図の一例である。It is an example of the flowchart figure explaining an uninstallation procedure. アンインストール時処理の手順を示すフローチャート図の一例である。It is an example of the flowchart figure which shows the procedure of the process at the time of uninstallation. 販売パッケージに含まれるパッケージ内容を模式的に説明する図の一例である。It is an example of the figure which illustrates the package contents contained in a sales package typically. 販売パッケージの実装と起動情報の関係の一例を説明する図である。It is a figure explaining an example of the relationship between mounting of a sales package, and starting information. 販売パッケージの実装と起動情報の関係の一例を説明する図である。It is a figure explaining an example of the relationship between mounting of a sales package, and starting information. 販売パッケージの実装と起動情報の関係の一例を説明する図である。It is a figure explaining an example of the relationship between mounting of a sales package, and starting information.

符号の説明Explanation of symbols

15 HDD
60 インストール管理部
71 プラグイン管理部
72 プラグインスタータ
73 プラグインコンポーネント(機能パッケージ)
74 販売パッケージ情報
75 機能パッケージ情報
77 起動情報
100 画像形成装置
15 HDD
60 Installation Management Unit 71 Plug-in Management Unit 72 Plug-in Starter 73 Plug-in Component (Functional Package)
74 Sales Package Information 75 Function Package Information 77 Startup Information 100 Image Forming Apparatus

Claims (10)

1つのパッケージに含まれる1以上のプログラムコンポーネントを、パッケージ単位で記憶装置にインストールする情報処理装置であって、
記憶装置に既にインストールされているパッケージに含まれるプログラムコンポーネントのリストを記憶したパッケージ情報記憶手段と、
インストールされているプログラムコンポーネント毎にインストール数を記憶したプログラム情報記憶手段と、
インストール対象のパッケージに添付された設定ファイルを記憶する記憶媒体から、前記設定ファイルに登録されたプログラムコンポーネントのリストを読み出し、前記パッケージ情報記憶手段に記憶されたリストと突合し、既にインストールされているプログラムコンポーネントを検出する重複プログラム検出手段と、
既にインストールされていないプログラムコンポーネントのみをインストールするインストール手段と、
インストールしたプログラムコンポーネントをインストール数と共に前記プログラム情報記憶手段に登録し、重複していることが検出されたプログラムコンポーネントのインストール数を1つ増加させるプログラム情報更新手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus that installs one or more program components included in one package into a storage device in units of packages,
Package information storage means for storing a list of program components included in a package already installed in the storage device;
Program information storage means for storing the number of installations for each installed program component;
A program that has already been installed by reading a list of program components registered in the setting file from a storage medium that stores the setting file attached to the package to be installed, and matching the list stored in the package information storage means Duplicate program detection means for detecting components;
Installation means to install only program components that are not already installed;
Program information update means for registering the installed program component together with the number of installations in the program information storage means, and increasing the number of installed program components detected to be one by one;
An information processing apparatus comprising:
所定のパッケージをアンインストールする際、
前記パッケージ情報記憶手段に記憶されたリストを参照し、アンインストール対象のパッケージに含まれるプログラムコンポーネントが、他のパッケージに含まれているか否かを判定する削除判定手段と、
他のパッケージに含まれていない、アンインストール対象のパッケージに含まれるプログラムコンポーネントを消去するアンインストール手段と、を有し、
前記プログラム情報更新手段は、前記プログラム情報記憶手段に登録されている、アンインストール対象のパッケージに含まれ、かつ、他のパッケージにも含まれているプログラムコンポーネントのインストール数を1つ減少させる、
ことを特徴とする請求項1記載の情報処理装置。
When uninstalling a given package,
A deletion determination unit that refers to a list stored in the package information storage unit and determines whether or not a program component included in a package to be uninstalled is included in another package;
Uninstalling means for erasing program components included in the package to be uninstalled, which are not included in other packages,
The program information update unit decreases the number of installed program components included in the package to be uninstalled and registered in the program information storage unit by one and is also included in other packages,
The information processing apparatus according to claim 1.
インストールされたプログラムコンポーネントを起動又は起動可能状態にする有効化手段と、
起動又は起動可能状態のプログラムコンポーネントを起動不可状態にする無効化手段と、
を有することを特徴とする請求項1又は2記載の情報処理装置。
An enabling means for activating or enabling an installed program component; and
A disabling means for disabling the startable or startable program component;
The information processing apparatus according to claim 1, further comprising:
使用権限が認められたことを示すアクティベーション情報をパッケージ単位で生成するアクティベーション手段と、
アクティベーションにより生成されたアクティベーション情報を消去するディアクティベーション手段と、
を有することを特徴とする請求項3記載の情報処理装置。
An activation means for generating activation information indicating that the right to use has been granted for each package;
A deactivation means for erasing the activation information generated by the activation;
The information processing apparatus according to claim 3, further comprising:
前記設定ファイルには、起動又は起動可能状態にするためにインストール後にアクティベーションが必要か否か登録されている、
ことを特徴とする請求項4記載の情報処理装置。
In the configuration file, it is registered whether activation is required after installation in order to activate or activate.
The information processing apparatus according to claim 4.
既にインストールされているパッケージと同じパッケージをインストールする際、
同じプログラムコンポーネント同士のバージョンを比較するバージョン判定手段と、
インストール対象のパッケージに含まれていないプログラムコンポーネントを、記憶装置から削除する削除手段と、を有し、
前記インストール手段は、バージョンが新しいプログラムコンポーネントのみインストールする、
ことを特徴とする請求項1〜5いずれか1項記載の情報処理装置。
When installing the same package that is already installed,
Version determination means for comparing versions of the same program component;
Deleting means for deleting program components not included in the package to be installed from the storage device;
The installation means installs only a program component having a new version,
The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
複数のプログラムコンポーネントの起動順を登録した起動情報を記憶した起動順情報記憶手段と、
インストール対象のパッケージに添付された起動順定義ファイルに従い、前記起動情報に複数のプログラムコンポーネントの起動順を登録する起動順決定手段と、
を有することを特徴とする請求項1〜6いずれか1項記載の情報処理装置。
An activation order information storage means for storing activation information in which the activation order of a plurality of program components is registered;
In accordance with a boot order definition file attached to a package to be installed, boot order determining means for registering boot orders of a plurality of program components in the boot information,
The information processing apparatus according to claim 1, further comprising:
既にインストールされているパッケージに含まれるプログラムコンポーネントのリストを記憶したパッケージ情報記憶手段と、
インストールされているプログラムコンポーネント毎にインストール数を記憶したプログラム情報記憶手段と、を有する情報処理装置に、
1つのパッケージに含まれる1以上のプログラムコンポーネントを、パッケージ単位でインストールするインストール方法であって、
重複プログラム検出手段が、インストール対象のパッケージに添付された設定ファイルを記憶する記憶媒体から、前記設定ファイルに登録されたプログラムコンポーネントのリストを読み出し、前記パッケージ情報記憶手段に記憶されたリストと突合し、既にインストールされているプログラムコンポーネントを検出するステップと、
インストール手段が、既にインストールされていないプログラムコンポーネントのみをインストールするステップと、
プログラム情報更新手段が、インストールしたプログラムコンポーネントをインストール数と共に前記プログラム情報記憶手段に登録し、重複していることが検出されたプログラムコンポーネントのインストール数を1つ増加させるステップと、
を有することを特徴とするインストール方法。
A package information storage means for storing a list of program components included in the already installed package;
In an information processing apparatus having program information storage means for storing the number of installations for each installed program component,
An installation method for installing one or more program components included in one package in units of packages,
The duplicate program detection means reads a list of program components registered in the setting file from a storage medium that stores the setting file attached to the package to be installed, and matches the list stored in the package information storage means, Detecting program components already installed; and
The installation means only installs program components that are not already installed;
The program information update means registers the installed program component together with the number of installations in the program information storage means, and increases the number of installations of the program component detected to be duplicated by one.
An installation method characterized by comprising:
既にインストールされているパッケージに含まれるプログラムコンポーネントのリストを記憶したパッケージ情報記憶手段と、
インストールされているプログラムコンポーネント毎にインストール数を記憶したプログラム情報記憶手段と、を有する情報処理装置に、
入力手段から、1つのパッケージに含まれる1以上のプログラムコンポーネントを、パッケージ単位でインストールする指示を受け付けるステップと、
インストール対象のパッケージに添付された設定ファイルを記憶する記憶媒体から、前記設定ファイルに登録されたプログラムコンポーネントのリストを読み出し、前記パッケージ情報記憶手段に記憶されたリストと突合し、既にインストールされているプログラムコンポーネントを検出するステップと、
既にインストールされていないプログラムコンポーネントのみをインストールするステップと、
インストールしたプログラムコンポーネントをインストール数と共に前記プログラム情報記憶手段に登録し、重複していることが検出されたプログラムコンポーネントのインストール数を1つ増加させるステップと、
を実行させるプログラム。
A package information storage means for storing a list of program components included in the already installed package;
In an information processing apparatus having program information storage means for storing the number of installations for each installed program component,
Receiving an instruction to install one or more program components included in one package in units of packages from the input means;
A program that has already been installed by reading a list of program components registered in the setting file from a storage medium that stores the setting file attached to the package to be installed, and matching the list stored in the package information storage means Detecting a component;
Installing only program components that are not already installed;
Registering the installed program components together with the number of installations in the program information storage means, and increasing the number of installed program components detected to be duplicated by one;
A program that executes
請求項9記載のプログラムを記載したコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium in which the program according to claim 9 is described.
JP2008284687A 2008-11-05 2008-11-05 Information processing apparatus, installation method, program, and storage medium Expired - Fee Related JP5239755B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008284687A JP5239755B2 (en) 2008-11-05 2008-11-05 Information processing apparatus, installation method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008284687A JP5239755B2 (en) 2008-11-05 2008-11-05 Information processing apparatus, installation method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2010113476A true JP2010113476A (en) 2010-05-20
JP5239755B2 JP5239755B2 (en) 2013-07-17

Family

ID=42302000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008284687A Expired - Fee Related JP5239755B2 (en) 2008-11-05 2008-11-05 Information processing apparatus, installation method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP5239755B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011254369A (en) * 2010-06-03 2011-12-15 Canon Inc Image forming system and control method for the same, information processor, and program
JP2012069079A (en) * 2010-09-27 2012-04-05 Kyocera Mita Corp Electronic apparatus and application management program
US8595720B2 (en) 2010-02-18 2013-11-26 Ricoh Company, Limited Program management system, program management method, client, and computer program product
US8612739B2 (en) 2009-12-28 2013-12-17 Ricoh Company, Ltd. System, apparatus, and method for inhibiting operation that modifies program configuration
JP2014059772A (en) * 2012-09-18 2014-04-03 Canon Inc Image forming apparatus, pre-installation method of application, and program
JP2015228230A (en) * 2015-07-09 2015-12-17 株式会社リコー Information processing system, information processing apparatus, program, and information processing method
CN111124480A (en) * 2019-12-19 2020-05-08 北京奇艺世纪科技有限公司 Application package generation method and device, electronic equipment and storage medium
JP2020119402A (en) * 2019-01-25 2020-08-06 株式会社リコー Information processing apparatus, information processing system, information processing method, and program
JP2020119403A (en) * 2019-01-25 2020-08-06 株式会社リコー Information processing apparatus, information processing system, information processing method, and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886422A (en) * 2017-04-07 2017-06-23 广州华多网络科技有限公司 Method for upgrading software and device, electronic equipment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122537A (en) * 2001-10-15 2003-04-25 Minolta Co Ltd License management device and management system
JP2004341820A (en) * 2003-05-15 2004-12-02 Nec Corp Nonfree program management system, nonfree program management method, and nonfree program management program
JP2006202017A (en) * 2005-01-20 2006-08-03 Sharp Corp Information processor, information storage device, function expansion system for information processor, function expansion method and function deletion method for information processor, and function expansion program and function deletion program for information processor
JP2006227871A (en) * 2005-02-17 2006-08-31 Fujitsu Ten Ltd Updating system, information processor, information distribution device, and updating method
JP2007518284A (en) * 2003-08-29 2007-07-05 ソニー エリクソン モバイル コミュニケーションズ, エービー Method and system for registration of licensing modules in a mobile device
JP2007249333A (en) * 2006-03-14 2007-09-27 Ricoh Co Ltd Installation method, installation control program, and storage medium
JP2008041057A (en) * 2006-08-10 2008-02-21 Ricoh Co Ltd Image processor, image forming apparatus, program management method, and management program for managing same program
JP2008065618A (en) * 2006-09-07 2008-03-21 Fuji Electric Holdings Co Ltd Built-in device capable of updating backup data accompanying firmware update
JP2008159053A (en) * 2006-12-20 2008-07-10 Thomson Licensing Method and device for secure software installation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122537A (en) * 2001-10-15 2003-04-25 Minolta Co Ltd License management device and management system
JP2004341820A (en) * 2003-05-15 2004-12-02 Nec Corp Nonfree program management system, nonfree program management method, and nonfree program management program
JP2007518284A (en) * 2003-08-29 2007-07-05 ソニー エリクソン モバイル コミュニケーションズ, エービー Method and system for registration of licensing modules in a mobile device
JP2006202017A (en) * 2005-01-20 2006-08-03 Sharp Corp Information processor, information storage device, function expansion system for information processor, function expansion method and function deletion method for information processor, and function expansion program and function deletion program for information processor
JP2006227871A (en) * 2005-02-17 2006-08-31 Fujitsu Ten Ltd Updating system, information processor, information distribution device, and updating method
JP2007249333A (en) * 2006-03-14 2007-09-27 Ricoh Co Ltd Installation method, installation control program, and storage medium
JP2008041057A (en) * 2006-08-10 2008-02-21 Ricoh Co Ltd Image processor, image forming apparatus, program management method, and management program for managing same program
JP2008065618A (en) * 2006-09-07 2008-03-21 Fuji Electric Holdings Co Ltd Built-in device capable of updating backup data accompanying firmware update
JP2008159053A (en) * 2006-12-20 2008-07-10 Thomson Licensing Method and device for secure software installation

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612739B2 (en) 2009-12-28 2013-12-17 Ricoh Company, Ltd. System, apparatus, and method for inhibiting operation that modifies program configuration
US8595720B2 (en) 2010-02-18 2013-11-26 Ricoh Company, Limited Program management system, program management method, client, and computer program product
JP2011254369A (en) * 2010-06-03 2011-12-15 Canon Inc Image forming system and control method for the same, information processor, and program
JP2012069079A (en) * 2010-09-27 2012-04-05 Kyocera Mita Corp Electronic apparatus and application management program
JP2014059772A (en) * 2012-09-18 2014-04-03 Canon Inc Image forming apparatus, pre-installation method of application, and program
JP2015228230A (en) * 2015-07-09 2015-12-17 株式会社リコー Information processing system, information processing apparatus, program, and information processing method
JP2020119402A (en) * 2019-01-25 2020-08-06 株式会社リコー Information processing apparatus, information processing system, information processing method, and program
JP2020119403A (en) * 2019-01-25 2020-08-06 株式会社リコー Information processing apparatus, information processing system, information processing method, and program
CN111124480A (en) * 2019-12-19 2020-05-08 北京奇艺世纪科技有限公司 Application package generation method and device, electronic equipment and storage medium
CN111124480B (en) * 2019-12-19 2023-07-25 北京奇艺世纪科技有限公司 Method and device for generating application program package, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP5239755B2 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
JP5239755B2 (en) Information processing apparatus, installation method, program, and storage medium
JP5107159B2 (en) Image forming apparatus, activation method, program, storage medium
JP5454035B2 (en) Image processing apparatus, remote management system, license update method, and license update program
US8613082B2 (en) License management server, license management method, and computer program product
US8910304B2 (en) Information processing device and multifunction peripheral
JP5268694B2 (en) License management system, image forming apparatus, and license management method
US10970023B2 (en) Printing system for directly transmitting a print job to printer when a server is unavailable and printer driver program
JP2010055525A (en) Image forming apparatus, license determination method, program and recording medium
JP2011170465A (en) System, method, and program for software distribution
US20150294093A1 (en) Management system, information processing device, management server, control method therefor, and program
US20110061048A1 (en) Image forming device, installing method, and recording medium
JP2019212114A (en) Information processing device, control method thereof, and program
JP2021002081A (en) Information processing apparatus, control method thereof and program
JP2008171306A (en) Electronic device and program
JP2004303216A (en) Information processor, image forming apparatus, error processing method in starting program, and recording medium
JP2011180902A (en) License management system, license management method, and program
JP2011180888A (en) Information processor, information processing method and program, and license management system
JP2009147655A (en) Information processing system, image input/output device, and data processing method
US11330129B2 (en) Image forming system, image forming apparatus, and storing medium storing application control program
JP4444641B2 (en) Information processing apparatus, image forming apparatus, and electronic data transfer method
US20230300268A1 (en) Information processing apparatus, image forming apparatus, and method of installing an application program therefor
JP7424457B2 (en) Image forming device and program
JP2011098444A (en) Printer, program and server apparatus
JP7039962B2 (en) Image processing equipment, image forming equipment and programs
US10356265B2 (en) Image processing apparatus and application management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5239755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees