(57)【要約】【課題】管理者にとっては、インストーラを設定する定義ファイルを手作業や特別のツールを用いることなく、通常のインストール時と同様の作業で容易に生成すること。また、ユーザにとっては、不要と判断するコントロールが表示されないようにすること。【解決手段】一つのインストーラで管理者モードとユーザモードを切り替え、管理者モードでは、通常のインストール画面において、ユーザに必要なコントロールのみを表示するように設定したり、コントロールのデフォルト値を設定可能にし、この設定を定義ファイルに書き出す。一方、ユーザモードでは、前記定義ファイルに基づいてインストーラ画面に不要なコントロールを表示しないように制御する構成を特徴とする。【選択図】図６
2006172183.tif 000002
【特許請求の範囲】
【請求項１】
インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面を表示する表示手段と、
前記表示手段に表示されるインストーラ画面上に配置されるコントロール間の関係情報を取得する取得手段と、
前記インストーラ画面上でのコントロールの表示可否設定を変更指示する変更指示手段と、
前記変更指示手段により指示された前記コントロールの表示可否設定の情報と前記取得手段により取得された各コントロール間の関係情報とに基づいて、前記各コントロールの表示可否設定を変更する変更手段と、
前記変更手段により変更された各コントロールの表示可否設定の情報と、前記コントロールにより設定されたインストールに必要な情報とに基づいてインストーラを設定するための定義ファイルを生成する生成手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記各コントロール間の関係情報は、コントロールのグループ関係情報、又は、コントロールの親子関係情報の何れか１つ以上を含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示手段に表示されるインストーラ画面上に配置されるコントロールにより設定されたインストールに必要な情報に基づいてソフトウェアのインストールを実行する実行手段を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記インストーラ画面を前記表示手段に表示する際に、前記定義ファイルが所定の記憶領域内に保持されている場合には、前記定義ファイル内の前記コントロールの表示可否設定の情報と前記インストールに必要な情報とに基づいて、前記インストーラ画面の前記表示手段への表示を制御する制御手段を有することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記制御手段は、前記インストーラ画面上のコントロールの表示可否設定が全て非表示である場合には、前記インストーラ画面の前記表示手段への表示を行わず、前記定義ファイル内のインストールに必要な情報に基づいて、ソフトウェアのインストールを実行するように制御することを特徴とする請求項４記載の情報処理装置。
【請求項６】
インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面の各コントロールの表示可否設定の情報と、前記コントロールの初期設定情報とを有する定義ファイルを記憶する記憶手段と、
前記定義ファイル内の前記コントロールの表示可否設定の情報と前記インストールに必要な情報とに基づいて、前記インストーラ画面の表示を制御する制御手段とを有し、
前記制御手段は、前記インストーラ画面上のコントロールの表示可否設定が全て非表示である場合には、前記インストーラ画面の表示を行わず、前記定義ファイル内のインストールに必要な情報に基づいて、ソフトウェアのインストールを実行するように制御することを特徴とする情報処理装置。
【請求項７】
インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面を表示手段に表示する表示ステップと、
該表示手段に表示されるインストーラ画面上に配置されるコントロール間の関係情報を取得する取得ステップと、
前記インストーラ画面上でのコントロールの表示可否設定を変更指示する変更指示ステップと、
前記変更指示された前記コントロールの表示可否設定の情報と前記取得された各コントロール間の関係情報とに基づいて、前記各コントロールの表示可否設定を変更する変更ステップと、
該変更された各コントロールの表示可否設定の情報と、前記コントロールにより設定されたインストールに必要な情報とに基づいてインストーラを設定するための定義ファイルを生成する生成ステップと、
を有することを特徴とするインストーラ設定方法。
【請求項８】
請求項７に記載されたインストーラ設定方法をコンピュータが実行するためのプログラム。
【請求項９】
請求項７に記載されたインストーラ設定方法をコンピュータが実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つのアプリケーションで管理者モード・ユーザモードが切り替わるもので、管理者モード時では管理者が必要とするユーザインタフェース画面の項目情報定義ファイルを作成し、ユーザモード時ではその定義ファイル情報を読み込みユーザインタフェースに反映し表示することを特徴としたカスタマイズ方式および装置に関するものである。
【背景技術】
【０００２】
現在ではユーザからの要望が多様化し、インストールなど処理を行う際の設定項目や機能が増大し、設定が複雑化してきている。そのため、企業内においては同じ設定をしてもらうためにマニュアル作成や指導をおこなっている。
【０００３】
特許文献１では、初めにユーザインタフェースで必要な設定項目のみを表示させるように指定し、次回からその指定した項目のみを表示させ、表示された設定で処理を行えるようにすることが提案されている。
【０００４】
また、特許文献２は、様々な使用目的にあったインストールを実現するために、複数のモードを用意し、使用目的別にインストールを行う際、予め設定されている定義ファイルを読み込み、定義ファイルに記述してあるプログラムを指定して、必要なプログラムのみをインストールすることが提案されている。
【特許文献１】特開平６-２６６６５２１号公報
【特許文献２】特開２００４-３８５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、各使用者が初めに行う表示項目の指定時に、全ての項目について表示にするか非表示にするかを各使用者自身が判断しなければならず、各使用者に対する作業負荷が高いという問題点があった。
【０００６】
例えば、通常のインストールで複数（例えば３つ）選択できる設定画面で、管理者が２つを非表示に設定した場合、通常インストールと同じコントロールで表示してしまうと、残り１つは必ず設定するものであるのにもかかわらず、定義ファイルを用いてインストールする一般ユーザが、残りの１つの項目をチェック入れするなど煩雑な作業を行わなければならないという問題点があった。
【０００７】
また、特許文献２では、使用目的を想定し、その目的に合った定義ファイルを管理者が手作業で用意しなければならず、設定する管理者に非常に煩雑な作業を強いるものであった。また、定義ファイルを作成する作業を行うにも、実際のインストールの画面推移を見ながら作成することは難しく、管理者の作業負荷が高いという問題点があった。
【０００８】
さらに、現在では、管理者が設定した方法（モード）だけでインストールさせることは少なく、一部はユーザに選択させて一部は管理者が設定したものでインストールすることが求められている。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、管理者モードでは、インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面を表示し、該表示されるインストーラ画面上に配置されるコントロール間の関係情報を取得し、前記インストーラ画面上でのコントロールの表示可否設定を変更指示し、前記変更指示された前記コントロールの表示可否設定の情報と前記取得された各コントロール間の関係情報とに基づいて、前記各コントロールの表示可否設定を変更し、該変更された各コントロールの表示可否設定の情報と、前記コントロールにより設定されたインストールに必要な情報とに基づいてインストーラを設定するための定義ファイルを生成し、さらに、前記コントロールにより設定されたインストールに必要な情報に基づいてソフトウェアのインストールを実行し、一方、ユーザモードでは、前記定義ファイルが所定の記憶領域内に保持されている場合、前記定義ファイル内の前記コントロールの表示可否設定の情報と前記インストールに必要な情報とに基づいて、前記インストーラ画面の表示手段への表示を制御してインストール実行させることにより、一つのインストーラでインストーラを設定する管理者モードと設定されたインストーラでインストール実行するユーザモードとを切り替えることができ、管理者モードでは通常のインストール画面を見ながら、ユーザモードでの設定・表示方法を指定することができ、さらに、管理者自身のインストールをも同時に実行できる使い勝手のよいソフトウェアインストール環境を構築することができる情報処理装置およびインストーラ設定方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面を表示する表示手段と、前記表示手段に表示されるインストーラ画面上に配置されるコントロール間の関係情報を取得する取得手段と、前記インストーラ画面上でのコントロールの表示可否設定を変更指示する変更指示手段と、前記変更指示手段により指示された前記コントロールの表示可否設定の情報と前記取得手段により取得された各コントロール間の関係情報とに基づいて、前記各コントロールの表示可否設定を変更する変更手段と、前記変更手段により変更された各コントロールの表示可否設定の情報と、前記コントロールにより設定されたインストールに必要な情報とに基づいてインストーラを設定するための定義ファイルを生成する生成手段とを有することを特徴とする。
【００１１】
また、インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面の各コントロールの表示可否設定の情報と、前記コントロールの初期設定情報とを有する定義ファイルを記憶する記憶手段と、前記定義ファイル内の前記コントロールの表示可否設定の情報と前記インストールに必要な情報とに基づいて、前記インストーラ画面の表示を制御する制御手段とを有し、前記制御手段は、前記インストーラ画面上のコントロールの表示可否設定が全て非表示である場合には、前記インストーラ画面の表示を行わず、前記定義ファイル内のインストールに必要な情報に基づいて、ソフトウェアのインストールを実行するように制御することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、管理者モードでは、インストーラ画面上に配置されるコントロールによりインストールに必要な情報を設定してソフトウェアのインストールを行うインストーラの前記インストーラ画面を表示し、該表示されるインストーラ画面上に配置されるコントロール間の関係情報を取得し、前記インストーラ画面上でのコントロールの表示可否設定を変更指示し、前記変更指示された前記コントロールの表示可否設定の情報と前記取得された各コントロール間の関係情報とに基づいて、前記各コントロールの表示可否設定を変更し、該変更された各コントロールの表示可否設定の情報と、前記コントロールにより設定されたインストールに必要な情報とに基づいてインストーラを設定するための定義ファイルを生成し、さらに、前記コントロールにより設定されたインストールに必要な情報に基づいてソフトウェアのインストールを実行し、一方、ユーザモードでは、前記定義ファイルが所定の記憶領域内に保持されている場合、前記定義ファイル内の前記コントロールの表示可否設定の情報と前記インストールに必要な情報とに基づいて、前記インストーラ画面の表示手段への表示を制御してインストール実行させることにより、一つのインストーラで管理者モードとユーザモードを切り替えることができるため、定義ファイルを手作業により作成したり、特別のツールを使って作成する必要がなく、管理者が通常のインストール画面を見ながら、ユーザに必要なコントロールのみを表示する設定及び該コントロールのデフォルト値を容易に定義ファイルに書き出すことが可能となる。
【００１３】
また、ユーザにとって不要と判断するコントロールを表示しないことにより、使い勝手の良いカスタムインストーラを作成することが可能となる。
【００１４】
従って、従来と比べて格段に使い勝手のよいソフトウェアインストール環境を構築することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して説明する。
【００１６】
〔第１実施形態〕
図１は、本発明の一実施形態を示す情報処理装置に適用可能な装置の構成の一例を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用可能である。即ち、本実施形態で接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００１７】
図１において、ＣＰＵ１０１は、システムバス１０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ１０２あるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１８】
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１９】
また、入力コントローラ（入力Ｃ）１０５は、キーボード（ＫＢ）１０９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ（ＶＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０等の表示器への表示を制御する。なお、表示器はＣＲＴに限定されるものではなく、液晶ディスプレイ（ＬＣＤ）又はその他の表示方式の表示器であってもよい。これらは必要に応じて選択して使用するものであり、表示器の選択は本発明の構成に直接影響を及ぼすものではない。
【００２０】
メモリコントローラ（ＭＣ）１０７は、外部メモリ１１１（例えば、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ，ＣＤ−ＲＯＭ，ＤＶＤ等）へのアクセスを制御する。
【００２１】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２２】
なお、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ１１０上での表示を可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
本発明を実現するためのプログラムは外部メモリ１１１に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイル及び各種情報テーブルは外部メモリ１１１に格納されており、これらについての詳細な説明は後述する。
【００２４】
図２は、本発明の情報処理装置を適用可能なシステム構成の一例を示すシステム構成図である。
【００２５】
図２において、２１０１は管理者端末で、後述する図４，図５のフローチャートで示す管理者モード処理を実行する。この管理者端末２１０１は、ネットワーク２１０６を介して、サーバ２１０４やプリンタ２１０２やユーザ端末２１０３とデータの送受信が可能である。また、管理者端末２１０１は、サーバ２１０４を介してスキャナ２１０５とデータの送受信が可能である。
【００２６】
ユーザ端末２１０３は、図２４のフローチャートで示すユーザモード処理を実行するユーザ端末である。
【００２７】
なお、管理者端末２１０１、ユーザ端末２１０３、サーバ２１０４の各ハードウエア構成については、図１を参照されたい。
【００２８】
また、図２に示したネットワーク２１０６上に接続される各種端末の構成は、一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２９】
以下、図３のフローチャートを参照して、本発明の情報処理装置の全体処理について説明する。
【００３０】
図３は、本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートであり、本実施形態の全体処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１又はユーザ端末２１０３のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ２０１〜Ｓ２０３は各ステップを示す。
【００３１】
まず、ステップＳ２０１において、管理者端末２１０１又はユーザ端末２１０３のＣＰＵは、外部メモリ内の所定の領域にユーザ定義ファイルが存在するか否かを判断する。このユーザ定義ファイルは後述する図１２で示す。
【００３２】
ステップＳ２０１で、管理者端末２１０１又はユーザ端末２１０３のＣＰＵが、外部メモリ内の所定の領域にユーザ定義ファイルが存在しないと判断した場合には、ステップＳ２０２の管理者モード処理に移行する。この管理者モード処理により、定義ファイルが生成される。管理者モード処理の詳細は図４，図５に示す。
【００３３】
一方、ステップＳ２０１で、管理者端末２１０１又はユーザ端末２１０３のＣＰＵが、外部メモリ内の所定の領域にユーザ定義ファイルが存在すると判断した場合には、ステップＳ２０３のユーザモード処理に移行する。このユーザモード処理の詳細は図２４に示す。
【００３４】
なお、本実施形態における作業手順は以下のようになる。
【００３５】
まず、管理者端末２１０１において図３のフローチャートを実行して定義ファイルを生成するとともに、管理者端末２１０１に対応するソフトウェアをインストールする。次に、管理者端末２１０１で生成された定義ファイルを、ユーザ端末２１０３の外部メモリの所定領域内に格納する。最後に、ユーザ端末２１０３において図３のフローチャートを実行して対応するソフトウェアをインストールする。これにより、ユーザ端末２１０３を使用するユーザは、インストール時の設定作業を簡略化して、容易にソフトウェアのインストール作業を行うことができる。
【００３６】
図４，図５は、本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートであり、図３のステップＳ２０１に示した管理者モード処理に対応する。以下、このフローチャートの処理は管理者端末２１０１で実行されるものとして説明する（なお、ユーザ端末２１０３でも実行可能である）。このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ７０１〜Ｓ７２１は各ステップを示す。
【００３７】
まず、ステップＳ７０１において、管理者端末２１０１のＣＰＵは、外部メモリ（ＣＤ−ＲＯＭ等も含む）に記憶されるインストーラセット内のリソースデータ（リソースファイル）を読み出し、該リソースデータに基づいてインストーラの画面を表示器に表示させる。なお、画面の順序もこのリソースファイル内で定義されているものとする。表示されるインストーラの画面の一例を図６に示す。
【００３８】
以下、図６〜図１０を参照して、図４のステップＳ７０１で表示されるインストーラの画面及び画面上の各コントローラについて説明する。
【００３９】
図６は、本発明の情報処理装置におけるユーザインタフェースとしてのインストーラの画面の一例を示す模式図である。
【００４０】
このインストーラの画面では、管理者がユーザに対して各コントロールを表示したいか、したくないかを選択できる。なお、ここで管理者により非表示に設定された画面中のコントロールは、図３のステップＳ２０３のユーザモード処理においては表示されないように制御される。
【００４１】
図６に示すように、画面のキャプションバーには、非表示チェックボックス３０１があり、ここをチェックＯＮ／ＯＦＦすることにより、画面全体のコントロールを表示／非表示に変更することができ、非表示時には、ＣＰＵの制御により、薄い網掛けが画面全体に表示され、画面上にあるコントロールを右クリック等で反応しないようになる。
【００４２】
また、この非表示チェックボックス３０１をＯＮに設定した場合、又は、画面上の全てのコントロールを非表示と設定した場合には、ステップＳ２０３のユーザモード処理では、この画面が表示されないように制御される。
【００４３】
また、非表示チェックボックス３０１がＯＦＦの時、ＣＰＵの制御により、スタティックテキスト３０２上で右クリックをおこなうとダイアログ３０３が表示され、画面上の文字列を変更することができ、ＫＢのＥｎｔｅｒキーを押下した時点で画面に反映される。
【００４４】
他のコントロール（例えばチェックボックス３０４）上で不図示のマウスにより右クリックを行うと、ＣＰＵの制御により、ツールチップ３０５が表示され、このコントロールの表示／非表示が選択可能となる。そして、このツールチップ３０５で非表示を選択すると、ＣＰＵの制御により、そのコントロールは灰色表示となり、表示を選択すると灰色表示がとれ、元の表示に復帰する。なお、同じグループのコントロールについては、同時に表示／非表示が設定される。
【００４５】
また、コントロールは、チェックボックス３０４のみではなく、ラジオボタン３０７，不図示のコンボボックス，各種ボタン等の各種コントロールが対象となる。さらに、表示／非表示設定、灰色表示、網掛け等の画面の制御については、上記方法に限定されるものではない。
【００４６】
図７は、図６に示したインストーラの画面のリソースファイルの一例を示す図である。このリソースファイルは、外部メモリ（ＣＤ−ＲＯＭ等も含む）に記憶されるインストーラセット内に格納されている。なお、リソースファイルは、インストーラ画面内の各コントロールのリソース情報として図８に示すような情報をファイル内に保持している。
【００４７】
図８は、図６に示したインストーラの画面内に表示されるコントロールのリソース情報を説明する図である。
【００４８】
例えば、図６のラジオボタンに対応するリソース情報は、図８に示すように、文字列，コントロールＩＤ，コントロールタイプ，属性，座標等の情報で構成されている。なお、コントロールＩＤは、図９に示すコントロール命名規則テーブルに基づいて命名されている。
【００４９】
図９は、本発明の情報処理装置におけるコントロール命名規則テーブルの一例を示す図である。このコントロール命名規則テーブルは、外部メモリ（ＣＤ−ＲＯＭ等も含む）に記憶されるインストーラセット内に格納されている。
【００５０】
図９に示すように、コントロール命名規則テーブルは、コントロールの命名規則を示すＩＤ命名規則５０１とコントロールタイプを示すタイプ５０２から構成されている。なお、本実施形態では、コントロールを、「Ａ」，「Ｂ」，「Ｃ」，「Ｄ」のタイプに分類している。
【００５１】
図１０は、本発明の情報処理装置におけるコントロールをタイプ毎に説明する図である。
【００５２】
まず、タイプＡは、チェックボックス，エディットコントロール，ボタン等のコントロールが対応する。このタイプＡは、インストーラを使用するユーザがチェックするか否か等の判断が求められるコントロールなので、ユーザモード処理（図３のステップＳ２０３）では、管理者が表示／非表示設定を行った通りに、そのコントロールの表示／非表示を行う。
【００５３】
タイプＢは、コンボボックス，リストコントロール等のコントロールが対応する。このタイプＢは、データが１つしかない場合にはインストーラを使用するユーザが選択できないため、表示する必要がないが、複数ある場合には表示する必要がある。
【００５４】
タイプＣは、ラジオボタン等のコントロールが対応する。このタイプＣは、１つの画面上に同じタイプのコントロールが１つしかない場合にはインストーラを使用するユーザが選択できないため表示する必要がないが、複数ある場合には表示する必要がある。
【００５５】
タイプＤは、スタティックテキストコントロール等が対応する。このタイプＤは、ユーザモード処理（図３のステップＳ２０３）では、管理者が表示・非表示設定を行った通りに表示／非表示を行う。
【００５６】
なお、以上説明したコントロールのタイプは、後述する図１８に示すメモリ保存処理で用いられる。
【００５７】
以上示したようなリソースの情報に基づいて、図４のステップＳ７０１では、管理者端末２１０１のＣＰＵが、図６に示したインストーラの画面をオブジェクトとして実現化して表示器に表示制御している。なお、このリソース情報に基づいて表示された画面（図６等）上には、リソースファイル内で定義されたコントロールがオブジェクトとして実現化される。そして、管理者端末２１０１のＣＰＵは、各オブジェクトの情報（リソースファイルで定義された情報や状態等）を取得可能である。
【００５８】
以下、図４，図５のフローチャートの説明に戻る。
【００５９】
図４のステップＳ７０２において、管理者端末２１０１のＣＰＵは、図６の非表示チェックボックス３０１がＯＮされたか否か判断し、ＯＮされたと判断した場合には、ステップＳ７０４において、画面全体に薄い網掛けを表示（灰色表示）してツールチップ（図６の３０５）およびダイアログ（図６の３０３）が表示できないように変更制御する。
【００６０】
一方、ステップＳ７０２で、管理者端末２１０１のＣＰＵが、図６の非表示チェックボックス３０１がＯＮされていないと判断した場合には、ステップＳ７０３において、画面全体の薄い網掛け（灰色表示）をはずし、ツールチップ（図６の３０５）およびダイアログ（図６の３０３）を表示可能に変更制御する。
【００６１】
次に、ステップＳ７０５において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にある全てのコントロールのコントロールＩＤを取得し、該取得したデータをＲＡＭ内のコントロール情報格納エリア（図１１）内のコントロールＩＤ４０２に格納する。
【００６２】
次に、ステップＳ７０６において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にある全てのコントロールの座標を取得し、該取得したデータをＲＡＭ内のコントロール情報格納エリア（図１１）内の座標４０３に格納する。
【００６３】
次に、ステップＳ７０７において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にある全てのコントロールのコントロールタイプを、コントロールＩＤ４０２と図９に示したコントロール命名規則テーブルに基づいて取得し、該取得したデータをＲＡＭ内のコントロール情報格納エリア（図１１）内のタイプ４０４に格納する。なお、タイプの取得方法は、コントロールＩＤ４０２と図９に示したＩＤ命名規則５０１を比較して一致するＩＤ命名規則５０１に対応するタイプ５０２から取得するものとする。
【００６４】
次に、ステップＳ７０８において、管理者端末２１０１のＣＰＵは、後述する図１３に示す親ＩＤ取得処理を行って、現在表示されている画面上にある全てのコントロールの親ＩＤを取得し、該取得したデータをＲＡＭ内のコントロール情報格納エリア（図１１）内の親ＩＤ４０５に格納し、ステップＳ７０９に処理を進める。この親ＩＤ取得処理の詳細は図１３に示す。
【００６５】
なお、上記ステップＳ７０５〜Ｓ７０８の処理は、現在表示されている画面についてまだコントロール情報が取得されていない場合にのみ（１回目のループのみ）実行されるものとする。
【００６６】
以下、コントロール情報格納エリアについて説明する。
【００６７】
図１１は、本発明の情報処理装置におけるコントロール情報格納エリアのデータ構造の一例を示す図である。このコントロール情報格納エリアは、ステップＳ２０２の管理者モード処理が起動された際にＣＰＵによりＲＡＭ内に確保される。
【００６８】
図１１に示すように、コントロール情報格納エリアは、画面名４０１，コントロールＩＤ４０２，座標４０３，タイプ４０４，親ＩＤ４０５，フラグ４０６，データ数４０７，デフォルト４０８，データ１（４０９），データ２（４１０），データ３（４１１）等から構成される。
【００６９】
画面名４０１は、画面名を示す項目であり、図５のステップＳ７１７で格納される。コントロールＩＤ４０２は、図９に示したコントロール命名規則テーブルに基づき命名してあるコントロールＩＤを示す項目であり、図４のステップＳ７０５で格納される。座標４０３は、コントロールの座標を示す項目であり、図４のステップＳ７０６にて格納される。
【００７０】
タイプ４０４は、図９に示したコントロール命名規則テーブルに基づくタイプを示す項目であり、図４のステップＳ７０７で格納される。親ＩＤ４０５は、同じグループかを判定するために使用する親ＩＤを示す項目であり、図４のステップＳ７０８で格納される。
【００７１】
また、フラグ４０６，データ数４０７，デフォルト４０８，データ１（４０９），データ２（４１０），データ３（４１１）は、後述する図５のステップＳ７１７で格納される。
【００７２】
なお、フラグ４０６は、コントロール表示／非表示を判定するための項目である。データ数４０７は、データ１（４０９）〜データ３（４１１）に値が格納されている個数を表す項目である。デフォルト４０８は、非表示時にこの値を使用してインストールするほか、ユーザモードで起動した場合にそのコントロールのデフォルト値となる項目である。データ１（４０９），データ２（４１０），データ３（４１１）は、各コントロールのデータを格納する項目である。なお、本実施形態では、データが最大３つの場合を記してあるが、データの数はこれに限定されるものではない。
【００７３】
以下、図４，図５のフローチャートの説明に戻る。
【００７４】
次に、図４のステップＳ７０９において、管理者端末２１０１のＣＰＵは、現在表示されている画面上のコントロール上でマウス等の右クリックがなされたか否かを判断し、右クリックされていないと判断した場合には、ステップＳ７１６に処理を移行させる。
【００７５】
一方、ステップＳ７０９で、管理者端末２１０１のＣＰＵが、現在表示されている画面上のコントロール上でマウス等の右クリックがなされたと判断した場合には、ステップＳ７１０において、管理者端末２１０１のＣＰＵは、当該マウス等の右クリックがなされたコントロールが、タイプＤ、即ちスタティックテキストか否かを判断する。この判断は、当該マウス等の右クリックがなされたコントロールのコントロールＩＤを基にコントロール情報格納エリア内のタイプ４０４を参照比較し、タイプ４０４がタイプＤか否かで行う。
【００７６】
ステップＳ７１０で、管理者端末２１０１のＣＰＵが、当該マウス等の右クリックがなされたコントロールが、タイプＤでないと判断した場合には、そのままステップＳ７１３に処理を移行させる。
【００７７】
一方、ステップＳ７１０で、管理者端末２１０１のＣＰＵが、当該マウス等の右クリックがなされたコントロールが、タイプＤであると判断した場合には、ステップＳ７１１において、管理者端末２１０１のＣＰＵは、図６に示したダイアログ３０３を表示し、ユーザからの入力を促す。
【００７８】
そして、ステップＳ７１２において、管理者端末２１０１のＣＰＵは、ステップＳ７１１で表示したダイアログ３０３で入力された文字を取得して画面に反映させ、ステップＳ７１３に処理を進める。なお、ダイアログ３０３への入力が行われずダイアログ３０３がキャンセルされた場合には、ステップＳ７１２の処理はスキップし、ステップＳ７１３に処理を進めるものとする。
【００７９】
次に、ステップＳ７１３において、管理者端末２１０１のＣＰＵは、図６のツールチップ３０５を表示させ、表示／非表示の選択をユーザに促す。
【００８０】
そして、ステップＳ７１４において、管理者端末２１０１のＣＰＵは、ステップＳ７１３で表示したツールチップ上の表示又は非表示をマウス等でクリックされたか否かを判断し、クリックされていないと判断した場合には、そのままステップＳ７１６に処理を移行させる。
【００８１】
一方、ステップＳ７１４で、管理者端末２１０１のＣＰＵが、ツールチップ上の「表示」又は「非表示」をマウス等でクリックされたと判断した場合には、ステップＳ７１５において、後述する図１７に示すグループ処理を行う。このグループ処理は、クリックされたツールチップに対応するコントロールと同じグループのコントロールを検索し、ステップＳ７１４でツールチップの「表示」を選択されていた場合は同じグループのコントロール全てを画面上で表示に変更し、「非表示」が選択されていた場合は同じグループのコントロール全てを画面上で非表示に変更する。なお、グループ処理の詳細は図１７で後述する。
【００８２】
次に、ステップＳ７１６において、管理者端末２１０１のＣＰＵは、現在表示されている画面で次へボタン（図６の次へボタン３０６）がマウス等でクリック（押下指示）されたか否かを判断し、次へボタンが押下指示されていないと判断した場合には、ステップＳ７０２へ処理を戻す。
【００８３】
一方、ステップＳ７１６で、管理者端末２１０１のＣＰＵが、現在表示されている画面で次へボタン（図６の次へボタン３０６）がマウス等でクリック（押下指示）されたと判断した場合には、ステップＳ７１７において、後述する図１８に示すメモリ保存処理を実行する。このメモリ保存処理は、現在表示されている画面上のコントロール状態を取得し、Ｂタイプ処理（図１９）やＣタイプ処理（図２１）などコントロール別に表示／非表示を判断し、フラグ（図１１の４０６）を変更したうえで、取得した画面上のコントロール状態をＲＡＭ内のコントロール情報格納エリア（図１１）内に格納する。この処理により、図１１のフラグ４０６，データ数４０７，デフォルト４０８，データ１（４０９），データ２（４１０），データ３（４１１）にデータが格納される。
【００８４】
次に、ステップＳ７１８において、管理者端末２１０１のＣＰＵは、現在表示されている画面が最終画面であるか否かを判断し、最終画面でないと判断した場合には、ステップＳ７０１の処理に戻り、次の画面を表示する。
【００８５】
一方、ステップＳ７１８で、管理者端末２１０１のＣＰＵが、現在表示されている画面が最終画面であると判断した場合には、ステップＳ７１９において、ＲＡＭ内のコントロール情報格納エリア（図１１）内のコントロール情報を、外部メモリ内の図１２に示すユーザ定義ファイルへ書き込む（外部メモリ内にユーザ定義ファイルを生成する）。
【００８６】
次に、ステップＳ７２０において、管理者端末２１０１のＣＰＵは、図示しない最終画面でインストールを実行する指示があったか否か判断し、なかったと判断した場合には、そのまま処理を終了する。
【００８７】
一方、ステップＳ７２０で、管理者端末２１０１のＣＰＵが、図示しない最終画面でインストールを実行する指示があったと判断した場合には、ステップＳ７２１において、管理者が設定した情報（ＲＡＭ内のコントロール情報格納エリア（図１１）内のコントロール情報）を用いてインストールを実行し、処理を終了する。
【００８８】
以下、図１２を参照して、ユーザ定義ファイルについて説明する。
【００８９】
図１２は、本発明の情報処理装置におけるユーザ定義ファイルのデータ構造の一例を図である。
【００９０】
図１２に示すように、ユーザ定義ファイルは、画面名２００７，コントロールＩＤ２００８，フラグ２００１，データ数２００２，デフォルト２００３，データ１（２００４），データ２（２００５），データ３（２００６）等から構成される。
【００９１】
画面名２００７，コントロールＩＤ２００８，フラグ２００１，データ数２００２，デフォルト２００３，データ１（２００４），データ２（２００５），データ３（２００６）は、それぞれ図１１に示したコントロール情報の画面名４０１，コントロールＩＤ４０２，フラグ４０６，データ数４０７，デフォルト４０８，データ１（４０９），データ２（４１０），データ３（４１１）に対応する。
【００９２】
以下、図１３〜図１６を参照して、図４のステップＳ７０８に示した親ＩＤ取得処理について説明する。
【００９３】
図１３は、本発明の情報処理装置における第３の制御処理手順の一例を示すフローチャートであり、図４のステップＳ７０８に示した親ＩＤ取得処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ８０１〜Ｓ８０９は各ステップを示す。
【００９４】
まず、ステップＳ８０１において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にあるコントロールを取得し、該取得したコントロールがグループスタイルか否かを判断する。ここで、グループスタイルとは、図１４に示すグループＡ１１０１のようなスタイルを示す。
【００９５】
図１４は、本発明の情報処理装置におけるグループスタイルを説明するための模式図である。
【００９６】
図１４に示すように、グループＡ１１０１上のオプション１（１１０２）〜オプション３（１１０４）は、同じグループのコントロールとなる。
【００９７】
以下、図１３のフローチャートの説明に戻る。
【００９８】
ステップＳ８０１で、管理者端末２１０１のＣＰＵが、現在表示されている画面上にあるコントロールがグループスタイルでないと判断した場合には、そのままステップＳ８０３に処理を移行させる。
【００９９】
一方、ステップＳ８０１で、管理者端末２１０１のＣＰＵが、現在表示されている画面上にあるコントロールがグループスタイルであると判断した場合には、ステップＳ８０２において、同グループのコントロール（図１４の例では、オプション１（１１０２）〜オプション３（１１０４））のコントロールＩＤを取得し、該取得したコントロールＩＤに対応するコントロール情報格納エリア（図１１）内の親ＩＤ４０５に、グループスタイルと判断したコントロール（図１４の例ではグループＡ（１１０１））のコントロールＩＤを格納する。
【０１００】
次に、ステップＳ８０３において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にあるコントロール全てが処理されたか否か判断し、まだ処理されていないと判断した場合には、ステップＳ８０１に処理を戻し、次のコントロールの処理を行う。
【０１０１】
一方、ステップＳ８０３で、管理者端末２１０１のＣＰＵが、現在表示されている画面上にあるコントロール全てが処理されたと判断した場合には、ステップＳ８０４において、管理者端末２１０１のＣＰＵは、現在表示されている画面上の初めのコントロール（一番左側且つ一番上に位置するコントロール）を現コントロールとして設定し、次のコントロールを次コントロールとする。なお、次コントロールは左上から右下へ移るものとする。そして、管理者端末２１０１のＣＰＵは、ＲＡＭ内のコントロール情報格納エリア（図１１）を参照し、次コントロールの親ＩＤ４０５に値が入っているか否かを判断する。
【０１０２】
ステップＳ８０４で、管理者端末２１０１のＣＰＵが、次コントロールの親ＩＤ４０５に値が入っていると判断した場合には、そのままステップＳ８０８に処理を進める。
【０１０３】
一方、ステップＳ８０４で、管理者端末２１０１のＣＰＵが、次コントロールの親ＩＤ４０５に値が入っていないと判断した場合には、ステップＳ８０５において、現コントロールの横座標（以後、Ｘと略す）と次コントロールの横座標（以後、Ｙと略す）を比較し、ＹがＸ以上であると判断した場合には、ステップＳ８０６に進み、ＹがＸよりも小さい場合にはステップＳ８０７に進む。
【０１０４】
ステップＳ８０６において、管理者端末２１０１のＣＰＵは、次コントロールの親ＩＤ欄４０５に現コントロールのＩＤを格納して、次コントロールを現コントロールと同じグループに設定し、ステップＳ８０８に処理を進める。
【０１０５】
また、ステップＳ８０７において、管理者端末２１０１のＣＰＵは、次コントロールの親ＩＤ欄４０５を空欄にして、次コントロールを新しいグループに設定し、ステップＳ８０８に処理を進める。
【０１０６】
次に、ステップＳ８０８において、管理者端末２１０１のＣＰＵは、現時点での次コントロールを現コントロールとする（現コントロールが左上から右下のコントロールに変わっていく）。
【０１０７】
次に、ステップＳ８０９において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にあるコントロール全てが処理されたか否か判断し、まだ全てが処理されていないと判断した場合には、ステップＳ８０４に処理を戻し、次のコントロールの処理を行う。
【０１０８】
一方、ステップＳ８０９で、管理者端末２１０１のＣＰＵは、現在表示されている画面上にあるコントロール全てが処理されたと判断した場合には、本フローチャートの処理を終了し、図４，図５のフローチャートへ処理を戻す。
【０１０９】
以下、図１５のダイアログと図１６のメモリ概念を参照して、図１３に示した親ＩＤ取得処理の具体例を示す。
【０１１０】
図１５は、本発明の情報処理装置におけるグループ概念を説明するための図である。
【０１１１】
図１６は、図１４に示した親ＩＤ取得処理により格納された親ＩＤのメモリ概念を示す図であり、図１１と同一のものには同一の符号を付してある。
【０１１２】
図１５において、右にある丸でかこまれた数字はグループを、下の四角でかこまれた数字は横座標を表している。
【０１１３】
グループ（１）Ｇ９０１を例にとると、始めに現コントロールをオプション１（９０１），次コントロールを「下記の中から・・・」９０２とする。そして、コントロール９０１，９０２の横座標を比較する（図１３のステップＳ８０５の処理に対応）。
【０１１４】
コントロール９０１の座標は９０６に示すように「１０」、コントロール９０２の座標は９０７に示すように「２０」であり、コントロール９０２の方が大きいので、コントロール９０１と同グループとして、コントロール９０１のコントロールＩＤ（図１６の１００１）を、コントロール９０２の親ＩＤ欄（図１６の１００２）に保存する（図１３のステップＳ８０６の処理に対応）。
【０１１５】
次に、コントロール９０２を現コントロールに、コントロール９０３を次コントロールにして（ステップＳ８０８の処理に対応）、同様に親ＩＤを取得していく。
【０１１６】
そして、現コントロールがコントロール９０４，次コントロールがコントロール９０５の時、コントロール９０４，９０５の横座標を比較すると、コントロール９０４の座標は９０７に示すように「２０」、コントロール９０５の座標は９０６に示すように「１０」であるため、コントロール９０４のほうが大きいため、コントロール９０７を新しいグループとし、コントロール９０７の親ＩＤ欄を空欄（図１６の１００３）として保存する（ステップＳ８０７の処理）。
【０１１７】
なお、この親ＩＤを取得する処理は、ハノイの塔で使用されている再帰処理を行うことは言うまでもない。
【０１１８】
以上に示したような処理により、図中、「下記の中から・・・」（コントロール９０２），「タイプＡ」（コントロール９０３），「タイプＢ」（コントロール９０４）の親ＩＤは、「オプション１」（コントロール９０１）のコントロールＩＤとなる。
【０１１９】
なお、図中、Ｇ９０１等で示したグループ（１）〜（７）の表記，９０６，９０７等で示した座標の表記、及び、Ｘ座標の大小関係を明瞭にするための縦線等は、説明のためのもので本実施形態の画面上には表示されるものではない。
【０１２０】
なお、以上のように取得された親ＩＤは、図４のステップＳ７１５に示したグループ処理（図１７）において、画面上にある全てのコントロールの同グループの表示／非表示を一致させるために使用される。
【０１２１】
例えば、管理者が、図１５のオプション１（９０１）上でマウス等を右クリックし、非表示を選択した場合、同じグループのコントロール９０２〜９０４を全て非表示に設定される。
【０１２２】
以下、図１７を参照して、図４のステップＳ７１５に示したグループ処理について説明する。
【０１２３】
図１７は、本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートであり、図４のステップＳ７１５に示したグループ処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ１２０１〜Ｓ１２０６は各ステップを示す。
【０１２４】
まず、ステップＳ１２０１において、管理者端末２１０１のＣＰＵは、ステップＳ７１４におけるマウス等の右クリックで指定したコントロールのコントロールＩＤを取得する。
【０１２５】
次に、ステップＳ１２０２において、管理者端末２１０１のＣＰＵは、ＲＡＭ内のコントロール情報格納エリア（図１１）を参照し、ステップＳ１２０１で取得したコントロールＩＤの次コントロールの親ＩＤ４０５に値が格納されているか否かの判断をおこない、取得したコントロールＩＤの次コントロールの親ＩＤ４０５に値が格納されていないと判断した場合には、そのままステップＳ１２０５に処理を移行させる。
【０１２６】
一方、ステップＳ１２０２で、管理者端末２１０１のＣＰＵが、ステップＳ１２０１で取得したコントロールＩＤの次コントロールの親ＩＤ４０５に値が格納されていると判断した場合には、ステップＳ１２０３において、ステップＳ１２０１で取得したコントロールＩＤとステップＳ１２０２で取得した親ＩＤが一致するか否かを判断する。
【０１２７】
ステップＳ１２０３で、管理者端末２１０１のＣＰＵが、ステップＳ１２０１で取得したコントロールＩＤとステップＳ１２０２で取得した親ＩＤが一致しないと判断した場合には、そのままステップＳ１２０６に処理を移行させる。
【０１２８】
一方、ステップＳ１２０３で、管理者端末２１０１のＣＰＵが、ステップＳ１２０１で取得したコントロールＩＤとステップＳ１２０２で取得した親ＩＤが一致すると判断した場合には、ステップＳ１２０４において、管理者端末２１０１のＣＰＵは、次コントロールのフラグ４０６（図１１）を、ステップＳ１２０１で取得した指定されたコントロールＩＤのフラグと同一のフラグに変更し、ステップＳ１２０５に処理を移行させる。
【０１２９】
次に、ステップＳ１２０５において、管理者端末２１０１のＣＰＵは、画面上にあるコントロール全てが処理されたか否か判断し、まだ全てが処理されていないと判断した場合には、ステップＳ１２０６において、次のコントロールＩＤを取得し、ステップＳ１２０２に処理を戻して、次のコントロールに処理を移す。
【０１３０】
一方、ステップＳ１２０５で、管理者端末２１０１のＣＰＵが、画面上にあるコントロール全てが処理されたと判断した場合には、そのまま処理を終了する。
【０１３１】
この処理をおこなうことにより、全コントロールを逐一右クリックし、非表示設定にしなくても、親コントロールの表示／非表示を変更設定するだけで、同じグループのコントロール全てが自動的に表示／非表示が変更されることになる。
【０１３２】
以下、図１８〜図２３を参照して、図５のステップＳ７１７に示したメモリ保存処理について説明する。
【０１３３】
図１８は、本発明の情報処理装置における第５の制御処理手順の一例を示すフローチャートであり、図５のステップＳ７１７に示したメモリ保存処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ１３０１〜Ｓ１３１１は各ステップを示す。
【０１３４】
まず、ステップＳ１３０１において、管理者端末２１０１のＣＰＵは、現在表示されている画面上のコントロール数を取得する。次に、ステップＳ１３０２において、管理者端末２１０１のＣＰＵは、図６に示した非表示チェックボックス３０１のフラグを取得する。
【０１３５】
次に、ステップＳ１３０３において、管理者端末２１０１のＣＰＵは、ステップＳ１３０２で取得した非表示チェックフラグにチェックがついているか否か判断し、チェックがついていないと判断した場合には、ステップＳ１３０５に処理を進める。
【０１３６】
一方、ステップＳ１３０３で、管理者端末２１０１のＣＰＵが、ステップＳ１３０２で取得した非表示チェックフラグにチェックがついていると判断した場合には、ステップＳ１３０４において、管理者端末２１０１のＣＰＵは、現在表示されている画面上の全コントロールのフラグ４０６（図１１）を「０」（非表示）に変更し、ＲＡＭ内のコントロール情報格納エリアに書き込み、ステップＳ１３０５に処理を進める。
【０１３７】
次に、ステップＳ１３０５において、管理者端末２１０１のＣＰＵは、現在表示されている画面上から１つのコントロールのコントロール情報（図１１に示したコントロール情報内の画面名４０１，フラグ４０６，データ数４０７，デフォルト４０８，データ１（４０９），データ２（４１０），データ３（４１１）に対応する情報）を取得し、ＲＡＭ内のコントロール情報格納エリアに格納する。
【０１３８】
次に、ステップＳ１３０６において、管理者端末２１０１のＣＰＵは、ステップＳ１３０５でコントロール情報を取得したコントロールのコントロールＩＤ４０２を基に、関数を用いてコントロール属性を取得する。
【０１３９】
次に、ステップＳ１３０７において、管理者端末２１０１のＣＰＵは、ステップＳ１３０６で取得したコントロール属性が「変更・選択などコントロールを制御する属性」か否かを判断し、「変更・選択などコントロールを制御する属性」であると判断した場合には、そのままステップＳ１３１０に処理を移行させる。
【０１４０】
例えば、Ｗｉｎｄｏｗｓ（登録商標）では、変更・選択などコントロールを制御する属性として「ＬＢＳ＿ＮＯＳＥＬ」「ＣＢＳ＿ＤＲＯＰＤＯＷＮＬＩＳＴ」などがあるが、これに限定されるものではなく、用途や目的に応じて変更されるものである。
【０１４１】
一方、ステップＳ１３０７で、管理者端末２１０１のＣＰＵが、ステップＳ１３０６で取得したコントロール属性が「変更・選択などコントロールを制御する属性」でないと判断した場合には、ステップＳ１３０８において、管理者端末２１０１のＣＰＵは、そのコントロールのフラグ４０６（図１１）を参照し、表示「１」か否か判断する。
【０１４２】
ステップＳ１３０８で、管理者端末２１０１のＣＰＵが、ステップＳ１３０５でコントロール情報を取得したコントロール（着目中のコントロール）のフラグ４０６（図１１）が表示「１」でない（非表示「０」である）と判断した場合には、そのままステップＳ１３１０に処理を移行させる。
【０１４３】
一方、ステップＳ１３０８で、管理者端末２１０１のＣＰＵが、管理者端末２１０１のＣＰＵが、着目中のコントロールのフラグ４０６（図１１）が表示「１」であると判断した場合には、ステップＳ１３０９において、管理者端末２１０１のＣＰＵは、後述する図１９に示すＢタイプ処理を行う。
【０１４４】
なお、このＢタイプの処理は、コントロールがＢタイプである場合に、該コントロールが持っているデータ数４０７（図１１）が複数なら何もせず、一方、データ数４０７が単数もしくは「０」であればフラグ４０６（図１１）を非表示「０」に変更する処理である。例えば、Ｂタイプ（例えば、コンボボックス等）は、データの数が１つだと選択のしようがない。また、ユーザが選ぶ余地のないものは表示していても無駄であると判断し、そのコントロールに対して非表示の設定をおこなうものである。詳細は図１９で後述する。
【０１４５】
次に、ステップＳ１３１０において、管理者端末２１０１のＣＰＵは、現在表示されている画面上にあるコントロール全てが処理されたか否か判断し、まだ全てが処理されていないと判断した場合には、ステップＳ１３０５に処理を戻して次のコントロールへと処理を移す。
【０１４６】
一方、ステップＳ１３１０で、管理者端末２１０１のＣＰＵが、現在表示されている画面上にあるコントロール全てが処理されたと判断した場合には、ステップＳ１３１１において、管理者端末２１０１のＣＰＵは、後述する図２１に示すＣタイプ処理を行い、処理を終了し、図４，図５のフローチャートの処理に戻る。
【０１４７】
なお、このＣタイプの処理は、現在表示されている画面上にある全コントロールの中からＣタイプのコントロールのみを抽出し、その中で同グループのものが複数存在しない場合には、そのコントロールのフラグ４０６（図１１）を非表示「０」に変更する処理である。例えば、Ｃタイプのコントロール（例えば、ラジオボタン）は、同じグループ内で１つだと選択のしようがない。また、ユーザが選ぶ余地のないものは表示していても無駄であると判断し、そのコントロールに対して非表示の設定をおこなうこととしている。詳細は図２１で後述する。
【０１４８】
図１９は、本発明の情報処理装置における第６の制御処理手順の一例を示すフローチャートであり、図１８のステップＳ１３０９に示したＢタイプ処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ１５０１〜Ｓ１５０３は各ステップを示す。
【０１４９】
まず、ステップＳ１５０１において、管理者端末２１０１のＣＰＵは、着目中のコントロール（図１８のステップＳ１３０５で取得したコントロール）がＢタイプか否かをＲＡＭ内のコントロール情報格納エリア（図１１）内のタイプ４０４に基づいて判断し、Ｂタイプでないと判断した場合には、そのまま処理を終了し、図１８のフローチャートの処理に戻る。
【０１５０】
一方、ステップＳ１５０１で、管理者端末２１０１のＣＰＵが、着目中のコントロールがＢタイプであると判断した場合には、ステップＳ１５０２において、管理者端末２１０１のＣＰＵは、そのコントロールのデータ数４０７（図１１）を参照し、複数か否かを判断する。
【０１５１】
ステップＳ１５０２で、管理者端末２１０１のＣＰＵが、着目中のコントロールのデータ数４０７が複数であると判断した場合には、そのまま処理を終了し、図１８のフローチャートの処理に戻る。
【０１５２】
一方、ステップＳ１５０２で、管理者端末２１０１のＣＰＵが、着目中のコントロールのデータ数４０７が複数でない（単数もしくは「０」である）と判断した場合には、ステップＳ１５０３において、管理者端末２１０１のＣＰＵは、そのコントロールのフラグ４０６（図１１）を非表示「０」に変更してＲＡＭ内のコントロール情報格納エリア（図１１）に格納し、処理を終了して、図１８のフローチャートの処理に戻る。
【０１５３】
以上の処理により、例えば、タイプＢであるコンボボックスの表示／非表示は図２０に示すようになる。
【０１５４】
図２０は、タイプＢであるコンボボックスコントローラにおいて、管理者モードで非表示設定時とユーザモードでの表示時の一例を示した模式図である。
【０１５５】
図２０の管理者モード１４０１に示すように、管理者がコンボボックス２（１４０２）およびコンボボックス４（１４０３）上で右クリックし、非表示を選択すると、この設定をおこなった後に、ユーザモードで起動した場合には、ユーザモード１４０４に示すように、コンボボックスコントローラは、コンボボックス２，コンボボックス４が非表示の状態で表示される。
【０１５６】
図２１は、本発明の情報処理装置における第７の制御処理手順の一例を示すフローチャートであり、図１８のステップＳ１３１１に示したＣタイプ処理に対応する。なお、このフローチャートの処理は、管理者端末２１０１のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ１７０１〜Ｓ１７０４は各ステップを示す。
【０１５７】
図２２は、図２１に示したタイプＣ処理によりメモリを変更する様子を示した図である。
【０１５８】
まず、図２１のステップＳ１７０１において、管理者端末２１０１のＣＰＵは、ＲＡＭ内のコントロール情報格納エリア（図１１）からタイプ４０４がＣタイプで、且つ、フラグ４０６が表示「１」のコントロールを抽出する（図２２の処理１（１８０１））。この抽出結果を図２２の１８０２に示す。
【０１５９】
次に、ステップＳ１７０２において、管理者端末２１０１のＣＰＵは、ステップＳ１７０１で抽出したコントロールから１つのコントロールを取得し、該取得したコントロール（着目中のコントロール）と同グループのコントロールが複数あるか否かを親ＩＤ４０５を用いて判断する（図２２の処理２（１８０３））。
【０１６０】
ステップＳ１７０２で、管理者端末２１０１のＣＰＵが、着目中のコントロールと同グループのコントロールが複数あると判断した場合には、ステップＳ１７０４に処理を進める。
【０１６１】
一方、ステップＳ１７０２で、管理者端末２１０１のＣＰＵが、着目中のコントロールと同グループのコントロールが複数ないと判断した場合には、ステップＳ１７０３において、当該着目中のコントロールのフラグ４０６を非表示「０」に変更して、ＲＡＭ内のコントロール情報格納エリア（図１１）に格納する（図２２の処理３）。この変更結果を図２２の１８０４に示す。
【０１６２】
次に、ステップＳ１７０４において、ステップＳ１７０１で抽出した全てのコントロールに対して処理が終了したか否かを判断し、まだ終了していないと判断した場合には、ステップＳ１７０２に処理を戻す。
【０１６３】
一方、ステップＳ１７０４で、ステップＳ１７０１で抽出した全てのコントロールに対して処理が終了したと判断した場合には、処理を終了して、図１８のフローチャートに処理を戻す。
【０１６４】
以上の処理により、例えば、タイプＣであるラジオボタンの表示／非表示は図２３に示すようになる。
【０１６５】
図２３は、タイプＣであるラジオボタンコントローラにおいて、管理者モードで非表示設定時とユーザモードでの表示時の一例を示した模式図である。
【０１６６】
図２３にあるようにグループＡ（１６０１）に３つのラジオボタンが存在している場合で、且つ、オプション２のラジオボタンを管理者モードで非表示に設定したとする。
【０１６７】
この場合、図２１に示したＣタイプ処理において、オプション２のラジオボタンと「同グループ」で且つ「Ｃタイプ」で且つ「表示」設定のラジオボタンが複数存在する（オプション１，３）ので、これらのラジオボタン（オプション１，３）は表示設定のままとなる。よって、１６０３に示すように、ユーザモード時には設定のとおり、グループＡはオプション１，オプション３の表示となる。
【０１６８】
また、グループＢ（１６０２）に３つのラジオボタンが存在している場合で、且つ、ラジオ１，ラジオ３を管理者モードで非表示に設定したとする。
【０１６９】
この場合、図２１に示したＣタイプ処理において、「同グループ」内で且つ「Ｃタイプ」で且つ「表示」設定のコントローラが１つしかないので、このラジオ２は、非表示設定に変更される。よって、１６０４に示すように、ユーザモード時には、ラジオボタンが全部が非表示となるのでグループＢは表示されない。
【０１７０】
なお、グループＡで表示するオプション１とオプション２を再配置するように構成してもよく、例えば、オプション２のあった場所にオプション３を配置するようにしてもよい（なお、各コントロールの座標値を持っているので再配置制御可能である）。
【０１７１】
以下、図２４のフローチャートを参照して、図３のステップＳ２０３に示したユーザモード処理について説明する。
【０１７２】
図２４は、本発明の情報処理装置における第８の制御処理手順の一例を示すフローチャートであり、図３のステップＳ２０３に示したユーザモード処理に対応する。なお、このフローチャートの処理は、ユーザ端末２１０３のＣＰＵが、外部メモリに記憶されるプログラムをＲＡＭにロードして実行することにより実現される。また、図中、Ｓ１９０１〜Ｓ１９０８は各ステップを示す。
【０１７３】
なお、このユーザモード処理では、管理者モード処理で生成されたユーザ定義ファイル（図１２）を読み込みデフォルト設定を行い、ユーザ定義ファイル内のフラグ２００１（図１２）を用いて、画面のコントロール表示／非表示を制御する処理である。
【０１７４】
まず、ステップＳ１９０１において、ユーザ端末２１０３のＣＰＵは、ユーザ端末２１０３の外部メモリに格納されたユーザ定義ファイル（図１２）から次の画面に対応する全ての情報を読み込みＲＡＭ内に確保する。なお、画面の順序を示す情報等は、外部メモリ（ＣＤ−ＲＯＭ等も含む）に記憶されるインストーラセット内の画面のリソースファイル内で定義されている。
【０１７５】
次に、ステップＳ１９０２において、ユーザ端末２１０３のＣＰＵは、ステップＳ１９０１で取得した情報から画面上の全コントロールのフラグ２００１（図１２）が非表示「０」であるか否かを判断し、画面上の全コントロールのフラグ２００１（図１２）が非表示「０」であると判断した場合には、ステップＳ１９０３に処理を移行する。
【０１７６】
そして、ステップＳ１９０３において、ユーザ端末２１０３のＣＰＵは、画面上の全コントロールが非表示なので画面を表示しないため、インストールに必要とするメモリ上のデータ（不図示）に、ステップＳ１９０１で取得した定義ファイル内のデフォルト２００３（図１２）を用いてデフォルトの値を設定し、ステップＳ１９０８に処理を移行させる。
【０１７７】
一方、ステップＳ１９０２で、ユーザ端末２１０３のＣＰＵは、画面上にコントロールのフラグ２００１（図１２）が表示「１」であるコントロールがあると判断した場合には、ステップＳ１９０４において、ユーザ端末２１０３のＣＰＵは、ステップＳ１９０１で取得したいずれかのコントローラのフラグ２００１，データ数２００２，デフォルト２００３，データ１（２００４）〜データ３（２００６）をインストールに必要とするメモリ上のデータ（不図示）に反映する。
【０１７８】
次に、ステップＳ１９０５において、ユーザ端末２１０３のＣＰＵは、画面上にあるコントロール全てが処理されたか否かを判断し、まだ処理されていないと判断した場合には、ステップＳ１９０４に処理を戻す。
【０１７９】
一方、ステップＳ１９０５において、ユーザ端末２１０３のＣＰＵが、画面上にあるコントロール全てが処理されたと判断した場合には、ユーザ端末２１０３のＣＰＵは、ステップＳ１９０６において、リソースファイルに基づく画面をユーザ定義ファイルの設定で生成して表示する（ＵＩ表示処理）。
【０１８０】
次に、ステップＳ１９０７において、ユーザ端末２１０３のＣＰＵは、現在表示されている画面で次へボタン（例えば、図３の次へボタン３０６）がマウス等でクリック（押下指示）されたか否かを判断し、次へボタンが押下指示されていないと判断した場合には、ステップＳ１９０６へ処理を戻し、ユーザからの入力待ちとなる。
【０１８１】
一方、ステップＳ１９０７で、ユーザ端末２１０３のＣＰＵが、現在表示されている画面で次へボタンがマウス等でクリックされたと判断した場合には、ステップＳ１９０８に処理を進める。ステップＳ１９０８において、ユーザ端末２１０３のＣＰＵは、現在表示されている画面が最終画面であるか否かを判断し、最終画面でないと判断した場合には、ステップＳ１９０１に処理を戻す。
【０１８２】
一方、ステップＳ１９０８で、ユーザ端末２１０３のＣＰＵが、現在表示されている画面が最終画面であると判断した場合には、ステップＳ１９０９の処理へ進む。
【０１８３】
ステップＳ１９０９において、ユーザ端末２１０３のＣＰＵは、ステップＳ１９０３，Ｓ１９０４で設定されたインストールに必要とするメモリ上のデータ（不図示）を用いてインストール処理を実行し、処理を終了する。
【０１８４】
以上示した処理により、一つのインストーラで管理者モードとユーザモードを切り替えることができ、管理者モードでは通常のインストール画面を見ながら、ユーザモードでの設定，表示方法を指定することができる。
【０１８５】
また、管理者自身のインストールをも同時に実行できる使い勝手の良いインストール設定環境を構築することができる。
【０１８６】
さらに、ユーザモードでは、ユーザにとって不要なコントロールは表示されない、使い勝手の良いカスタムインストーラを作成することが可能となる。
【０１８７】
なお、本実施形態では、ステップＳ２０２の管理者モード処理が実行されるたびに、親子関係やグループ関係を認識するように制御しているが、予めインストーラセット内のリソースファイルや他のテーブル等に、コントロールの親子関係やグループ関係を記憶した情報を記憶させておき、その情報に基づいて表示／非表示制御を行うように構成してもよい。
【０１８８】
また、図４，図５のフローチャートにおいて、ステップＳ７０５〜Ｓ７０８をステップＳ７０９の前に行うように構成したが、ステップＳ７０１の直後に行うように構成してもよい。これにより、処理が効率化することができる。
【０１８９】
さらに、本実施形態では、非表示にするものを指定できるように構成したが、表示を設定するとそれ以外のグループが非表示として設定できるように構成してもよい。
【０１９０】
なお、本実施形態のインストーラは、どのようなソフトウェアのインストーラであってもよい。
【０１９１】
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１９２】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１９３】
また、上述した実施形態の各種変形例のいずれか又は全てを組み合わせた構成も全て本発明に含まれるものである。
【０１９４】
以上説明した情報処理装置によるプログラムのカスタムインストール方法は、管理者がユーザと同じユーザインタフェースで作業がおこなえるように、一つのインストーラで管理者モード・ユーザモードの二つのモードが切り替えられるように構成する。
【０１９５】
また、管理者がユーザインタフェース上で設定し易いように、非表示チェックボックス・文字列変更用のダイアログ・表示／非表示が設定できるツールチップを設ける。
【０１９６】
また、管理者がユーザインタフェース上で設定した値をメモリで管理し、ユーザにとって不要と思われるコントローラを非表示設定に変更し、インストーラ終了直前に定義ファイルに書き込むように構成する。
【０１９７】
また、ユーザモードにおいて定義ファイルを読み込み、その定義された設定をデフォルト値として扱い、かつ非表示設定のコントロールを表示させないようにし、画面上のコントロール全てが非表示設定の場合には、画面ごと表示させないように構成する。
【０１９８】
以下、図２５に示すメモリマップを参照して本発明に係る情報処理装置（例えば、図２に示した管理者端末２１０１，ユーザ端末２１０３）で読み取り可能なデータ処理プログラムの構成について説明する。
【０１９９】
図２５は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０２００】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２０１】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２０２】
本実施形態における図３，図４，図５，図１３，図１７，図１８，図１９，図２１，図２４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２０３】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２０４】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０２０５】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０２０６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２０７】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２０８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２０９】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【図面の簡単な説明】
【０２１０】
【図１】本発明の一実施形態を示す情報処理装置に適用可能な装置の構成の一例を示すブロック図である。
【図２】本発明の情報処理装置を適用可能なシステム構成の一例を示すシステム構成図である。
【図３】本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートである。
【図５】本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートである。
【図６】本発明の情報処理装置におけるユーザインタフェースとしてのインストーラの画面の一例を示す模式図である。
【図７】図６に示したインストーラの画面のリソースファイルの一例を示す図である。
【図８】図６に示したインストーラの画面内に表示されるコントロールのリソース情報を説明する図である
【図９】本発明の情報処理装置におけるコントロール命名規則テーブルの一例を示す図である。
【図１０】本発明の情報処理装置におけるコントロールをタイプ毎に説明する図である。
【図１１】本発明の情報処理装置におけるコントロール情報格納エリアのデータ構造の一例を示す図である。
【図１２】本発明の情報処理装置におけるユーザ定義ファイルのデータ構造の一例を図である。
【図１３】本発明の情報処理装置における第３の制御処理手順の一例を示すフローチャートである。
【図１４】本発明の情報処理装置におけるグループスタイルを説明するための模式図である。
【図１５】本発明の情報処理装置におけるグループ概念を説明するための図である。
【図１６】図１４に示した親ＩＤ取得処理により格納された親ＩＤのメモリ概念を示す図である。
【図１７】本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートである。
【図１８】本発明の情報処理装置における第５の制御処理手順の一例を示すフローチャートである。
【図１９】本発明の情報処理装置における第６の制御処理手順の一例を示すフローチャートである。
【図２０】タイプＢであるコンボボックスコントローラにおいて、管理者モードで非表示設定時とユーザモードでの表示時の一例を示した模式図である。
【図２１】本発明の情報処理装置における第７の制御処理手順の一例を示すフローチャートである。
【図２２】図２１に示したタイプＣ処理によりメモリを変更する様子を示した図である。
【図２３】タイプＣであるラジオボタンコントローラにおいて、管理者モードで非表示設定時とユーザモードでの表示時の一例を示した模式図である。
【図２４】本発明の情報処理装置における第８の制御処理手順の一例を示すフローチャートである。
【図２５】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２１１】
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
３０１  非表示チェックボックス
３０２  スタティックテキスト
３０３  ダイアログ
３０４  チェックボックス
３０５  ツールチップ
３０７  ラジオボタン
２１０１  管理者端末
２１０３  ユーザ端末
【図１】
2006172183.tif 000003
【図２】
2006172183.tif 000004
【図３】
2006172183.tif 000005
【図４】
2006172183.tif 000006
【図５】
2006172183.tif 000007
【図６】
2006172183.tif 000008
【図７】
2006172183.tif 000009
【図８】
2006172183.tif 000010
【図９】
2006172183.tif 000011
【図１０】
2006172183.tif 000012
【図１１】
2006172183.tif 000013
【図１２】
2006172183.tif 000014
【図１３】
2006172183.tif 000015
【図１４】
2006172183.tif 000016
【図１５】
2006172183.tif 000017
【図１６】
2006172183.tif 000018
【図１７】
2006172183.tif 000019
【図１８】
2006172183.tif 000020
【図１９】
2006172183.tif 000021
【図２０】
2006172183.tif 000022
【図２１】
2006172183.tif 000023
【図２２】
2006172183.tif 000024
【図２３】
2006172183.tif 000025
【図２４】
2006172183.tif 000026
【図２５】
2006172183.tif 000027