説明

情報処理方法及びプログラム

【課題】 複数のソフトウェアなどのインストール処理を一括で容易に行うためのプログラムであるマスターインストーラを実行する際、インストール処理やプログラム起動など、処理ごとに適切に管理者アカウントとその他のアカウントを切換えて実行する必要がある。
【解決手段】 上記課題を鑑み、本発明においてはマスターインストーラを起動した際に、管理者アカウント実行部とユーザアカウント実行部との処理プロセスにおいて、プロセス間の通信を確保し、前記管理者アカウント実行部が処理に応じたアカウントを判定し、当該処理に応じたアカウントが前記ユーザアカウントであった場合、前記ユーザアカウント実行部の処理プロセスにおいて当該処理を実行するため、前記管理者アカウント実行部が確保されたプロセス間の通信を利用して、前記ユーザアカウント実行部に当該処理を委譲する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はソフトウェアのインストール処理に関するものである。特に管理者アカウントと一般ユーザアカウントなどのその他のアカウントで権限が異なるオペレーションシステム(OS)におけるインストール処理に関するものである。
【背景技術】
【0002】
マイクロソフト社のWindows(登録商標) NT(その後継であるWindows(登録商標) 2000/XP/Vista含む)(登録商標)、UNIX(登録商標)などのオペレーティングシステム(OS)では、管理者アカウントと一般ユーザアカウントを別々に管理できる。ここでいうアカウントとはコンピュータを使用するときのIDである。各アカウントにはコンピュータを使用するための権利が与えられており、例えば管理者アカウントにはシステム全体に影響するファイルやレジストリを変更する等の各種処理に対する実行権限が与えられている。一方、一般ユーザカウントにはシステム全体に影響するファイルやレジストリを変更するなどの権限は与えらず、処理を実行する権限は限定されている。そのため一般ユーザアカウントはソフトウェアをシステムへインストールすることができず、インストール処理を行うためには管理者アカウントが必要となる。
【0003】
UNIX(登録商標)オペレーティングシステムでもrootと呼ばれる特殊なアカウントがあり、rootアカウントにはシステム全体に影響するファイルを変更する権利が与えられており、それ以外のアカウントにはそのような権限は与えられていない。
【0004】
またアカウントにはパスワードが関連付けられており、ユーザはコンピュータを使用するときにアカウント名とパスワードを入力しシステムへの認証作業を行う。これをログイン(またはログオン)と呼ぶ。アカウント名に関連付けられたパスワードが正しく入力されればログインが許可され、ユーザはそのコンピュータを使用することできる。このログインのときに入力したアカウントをログインアカウントと呼ぶ。ログインアカウントは管理者アカウントでも一般ユーザアカウントでも構わない。管理者アカウントでログインすれば、ログインアカウントは管理者アカウントであり、それはユーザが管理者としてコンピュータを使用することを意味する。一般ユーザアカウントでログインすればログインアカウントは一般ユーザアカウントであり、それは非管理者としてコンピュータを使用することを意味する。
【0005】
さらにこのようなOSでは厳密なアカウント管理を行うため、サブプロセスも権限を引き継いだ状態となる。つまり管理者アカウントで実行したプログラムが別のプログラムを起動すると、このプログラムもまた管理者アカウントになる。逆に一般ユーザアカウントで実行したプログラムが別のプログラムを起動すると、これもまた一般ユーザアカウントになる。従来から、あるアカウントで実行されたプログラムはパスワードの入力なしに別のアカウントのプログラムを実行することはなかった。
【0006】
一方パーソナルコンピュータの普及とインターネットの普及にともない「悪意のあるソフトウェア」の存在が問題になっている。これは、例えばユーザがホームページを見ているだけでソフトウェアがインストールされる、メールに添付されたプログラムを実行と表面的なプログラムとは別のソフトウェアがインストールされるといったことが挙げられる。このようなソフトウェアは知らぬ間にユーザのファイルをインターネットへ送信する、ユーザのローカルファイルを削除するなどの悪意のある行為を行い、多く社会問題になっている。
【0007】
従来のOSであってもWebを見る作業やメールを見る作業は一般ユーザアカウントでログインした状態で行い、インストール処理は管理者アカウントでログインしなおしてから操作するというオペレーションを徹底していればよい。それであれば、上記のようにホームページやメールの添付ファイルを実行するだけで「悪意のあるソフトウェア」が勝手にインストールされることを未然に防ぐことは可能である。
【0008】
しかしながらユーザは、制限の少ない管理者アカウントとしてログインし、管理者としてコンピュータを使用することが多い。そのため悪意あるソフトウェアのインストールを防止できていない。また、ユーザ自身、自分のアカウントが管理者アカウントかそれ以外のアカウントであるかを意識していないといったことも考えられる。
【0009】
特許文献1(特表2002−517853)では、普段は一般ユーザアカウントやトークンの制限された管理者アカウントで処理を行う。そして、プログラム実行時に本来の管理者権限をプログラムに与えることで動作を制限する提案がある。トークンの制限された管理者アカウントとは、管理者アカウントと同じIDを持つが、権限が弱められた状態である。
【0010】
例えば、あるOSにおいて、管理者アカウントでログインしてもある程度、権限が制限された管理者アカウントとして扱われ、システムを変更するような処理を実行するときに必ず確認が求められる。これに同意することで初めて本当の管理者アカウントで処理を実行することになる。同様に一般ユーザアカウントでログインしていても、システムを変更するような処理を実行するときに自動的にアカウント名とパスワードの要求画面が表示され、一時的に管理者アカウントで処理を実行する。
【0011】
この方法であればインストール処理などのシステムを改変するような処理を行う前に確認が求められ、ユーザはこれを拒否することも可能となる。
【0012】
また、他のあるOSにおいては、ある処理に対して特別なアカウントを与えることができるとする。例えば印刷に関する常駐プログラム(デーモン)には印刷に関する権利のみを与えることで常駐プログラムに不具合があったり、印刷に関する常駐プログラムが不正にアクセスされたりしてもシステムを改変することができなくなる。
【特許文献1】特表2002−517853号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、パーソナルコンピュータ(PC)の普及にともない、ソフトウェアが多数開発され、デジタルカメラやプリンタといった電化製品に複数のソフトウェアが同梱されていることは一般的になってきた。特に多いときには10を超えるソフトウェアが、PCと連動させて用いる電化製品購入時に同梱されることもある。
【0014】
ソフトウェア数の増加によるソフトウェアインストール手順の複雑化を避けるため、マスターインストーラと呼ばれるソフトウェアを用意することが一般的である。これは複数のソフトウェアインストーラを順次実行し、ユーザはあたかも一つのソフトウェアをインストールする感覚で全てのインストール処理を行うための支援ソフトウェアである。
【0015】
ところが先の特許文献1のように、インストーラを起動すると管理者アカウント名とパスワードの要求画面が毎回表示されるようだとインストールの手間や時間がかかることになる。よって、ユーザに対して簡単に手間をかけずに一括インストールを行うことを提供するといったそもそもの目的を充分に満たすことができなくなってします可能性がある。
【0016】
また、マスターインストーラ自体を管理者アカウントで実行すれば、管理者アカウントとパスワードの要求画面は一度しか表示されないようになるが、その場合は別の問題が発生する。
【0017】
一つは管理者アカウント実行部で実行した場合と、一般ユーザアカウント実行部で実行した場合で動作モードが異なるプログラムをマスターインストーラから実行したときの問題である。例えば、あるOSにおいてデフォルトのWebブラウザを、一般ユーザアカウント実行部などで実行する。すると、インターネット上に存在するファイルを開くために、ブラウザと異なるソフトウェアを実行する必要がある場合に、これを未然に防止する、セキュリティの高いモードが有効になる。また、管理者アカウントで実行するとこのセキュリティが高いモードが無効になる。つまり、インターネット上に存在するファイルを自由に開くことができる。
【0018】
マスターインストーラは管理者アカウントで動作するので、例えば、マスターインストーラ実行部から、あるブラウザ起動された場合、管理者アカウントで動作するためこのセキュリティが高いモードが無効になる。マスターインストーラにより提供されるWebブラウザを用いて行う処理は、例えばカスタマーサービスにおいてのWebサービスなどのユーザ登録を行うためのブラウザ起動などが挙げられる。こういったWebサービスなどのユーザ登録に関しては、特に管理者権限は必要ない。つまり、管理者権限は特に必要ないのにも関わらず、マスターインストーラから、前述のブラウザ起動された場合、結果としてユーザのコンピュータのセキュリティレベルを下げるという問題が発生する。
【0019】
さらにログインアカウントが一般ユーザアカウントである場合、もう一つ別の問題が発生する。例えばスキャナのデータを受信し、ユーザデフォルトの画像データ用フォルダに保存する常駐プログラムが存在するとする。画像データフォルダはアカウントごとに管理され、別のアカウントの画像データフォルダは見えないようになっているのが一般的である。常駐プログラムがログインアカウントで動作していれば、常駐プログラムはログインアカウントの画像データフォルダにスキャンデータを保存する。しかし、常駐プログラムにおいて一旦、アカウントが切換わり、管理者アカウントで動作してしまうと、その後は管理者アカウントの画像データフォルダにスキャンデータを保存する。このため、ログインユーザである一般ユーザはファイルにアクセスできなくなる問題が発生する。これはつまり、インストール処理のためにマスターインストーラが管理者アカウントとして動作させた場合に常駐プログラムを実行すると、こういった問題が発生することとなる。
【0020】
同様の例として、従来からOSには通常使う、デフォルトのプリンタを設定することができる。これはユーザが印刷を行うときデフォルトで選ばれるプリンタドライバを決めるための設定であり、この設定もアカウントごとに別々の設定にすることができる。マスターインストーラはプリンタドライバをインストールした後で、インストールしたプリンタドライバを通常使うプリンタに設定する。しかしながら、管理者アカウントで実行しているとログインアカウントである一般ユーザアカウント側の通常使うプリンタの設定ではない。つまり、ユーザがプリンタドライバをインストールする際に、本当に設定するべき自分自身のログインアカウントの設定ではなく、管理者アカウントの通常使うプリンタしか設定することができないという問題が発生する。
【0021】
よって本発明は、マスターインストーラを実行する際、インストール処理やプログラム起動などの処理ごとに適切に管理者アカウントとその他のアカウントを切換えて実行可能な情報処理方法及び情報処理方法を実現するためのプログラムの提供を目的とする。
【課題を解決するための手段】
【0022】
上記課題を鑑み、本発明における情報処理方法は、管理者アカウントと、情報処理装置における処理の実行権限が管理者アカウントより限定されているユーザアカウントとが登録され、それぞれのアカウント実行部の処理プロセスにおいて処理を実行する情報処理装置おいて、マスターインストーラを起動した際にマスターインストーラに基づく処理を実現する情報処理方法であって、管理者アカウント実行部とユーザアカウント実行部との処理プロセスにおいて、プロセス間の通信を確保する確保工程と、前記管理者アカウント実行部が処理に応じたアカウントを判定する判定工程と、前記判定工程において、当該処理に応じたアカウントが前記ユーザアカウントであった場合、前記ユーザアカウント実行部の処理プロセスにおいて当該処理を実行するため、前記管理者アカウント実行部が前記確保工程で確保されたプロセス間の通信を利用して、当該処理を委譲する委譲工程と備えることを特徴とする。
【0023】
また、本発明におけるプログラムは、上述の情報処理方法を提供するためのコンピュータにより実行可能なプログラムである。
【発明の効果】
【0024】
本発明においては、情報処理装置においてマスターインストーラを実行する際の、インストール処理やプログラム起動などの処理を、処理ごとに適切に管理者アカウントとその他のアカウントを切換えて実行できる。
【0025】
また、マスターインストーラを実行する際に、特定Webブラウザを起動するときには、管理者アカウントで起動することがないので、意図せずセキュリティの低い(外部からプログラムなどのインストールが自由に行える)モードでブラウザを起動することがない。
【0026】
また、マスターインストーラを実行する際に、ログインアカウントで設定すべき処理と管理者アカウントで設定すべき処理を切換えるので、ユーザにとって適切な初期設定を、自分のログインアカウントの設定として反映することができる。
【発明を実施するための最良の形態】
【0027】
(実施例1)
本発明に好適なマスターインストーラの実施例を説明する。マスターインストーラは複数のソフトウェアなどのインストール処理を一括で容易に行うためのプログラムである。主な処理はファイルを所定の位置にコピーし、レジストリの書き込みを行い、別のインストーラを起動することである。またファイルの削除や、外部プログラムの起動、常駐プログラムの起動を行う場合もある。更に、マスターインストーラにより提供される処理は、プリンタドライバとその周辺ソフトウェアのインストール、初期設定等の処理に加え、カスタマーサービスにおけるWebサービスなどのユーザ登録を行うためのブラウザ起動処理を含む。このWebブラウザを立ち上げて行う処理は、管理者権限で行う必要がない。
【0028】
本実施例では管理者アカウント実行部で実行した場合と、一般のユーザアカウント実行部などで実行した場合で、各々、動作モードが異なる処理をマスターインストーラから実行した際の処理について説明する。
【0029】
インストール処理とWebサービスなどにおけるユーザ登録を行うためのブラウザ起動の処理などとにおいて、処理を実行するアカウント実行部を切換えてそれぞれの処理を行う。具体的には、ブラウザ起動コマンドをログインアカウント処理コマンドとすることで、Webブラウザの起動をログインアカウントから行い、Webブラウザのセキュリティの高いモードを有効にした状態で実行できるようにする。
【0030】
ここで、Webブラウザとして例えば、Internet Explorer 7(IE7)などが挙げられる。
【0031】
本実施例のマスターインストーラはインストール処理を処理コマンドとして定義し、これを逐次処理する。図3に本実施例で使用する処理コマンドを示す。これらの処理コマンドは、事前に処理内容、具体的には、ファイルコピー先やレジストリ書き込み先などを勘案し、管理者アカウントで処理すべき内容か、ログインアカウントで処理すべき内容か判断して設定しておくことができる。本実施例ではWebブラウザ起動処理のみログインアカウントで実行すべき処理であるから、CMD101からCMD108を管理者アカウントとして処理すべきコマンドとし、CMD201をログインアカウントとして処理すべきコマンドと定義づける。
【0032】
本実施例における図3のようなコマンドなどの各種データを格納したマスターインストーラプログラムは、例えばCD−ROMなどの記憶媒体に記憶され、プリンタ等の画像処理装置と共にユーザに提供される。そして、ユーザはこのCD−ROMを情報処理装置にセットすることにより、マスターインストーラを起動することになる。ここで、マスターインストーラは、ネットワークなどを介して予めインターネットサイトなどから提供され、情報処理装置にダウンロードした状態で、起動されてもよい。
【0033】
次に本実施例におけるマスターインストーラを実現するための情報処理装置(PCなど)のハードウェア構成(図1)を説明する。
【0034】
H01は、情報処理装置において装置全体の制御を司る制御部(以後CPUと称する)である。H02は各種データを入力するキーボード、H03はRAM・H05に貯えられている画像データを表示するカラー表示器である。H04は装置全体を制御する制御手順およびその他の必要な情報をあらかじめ記憶するリードオンリーメモリ(ROM)である。H05はプログラムの実行、ならびにワークエリアとして利用されるランダムアクセスメモリ(RAM)である。H06は各種データの読み書きやプログラムが格納されているハードディスクドライブである。H07はプリンタインターフェースであり、H08はプリンタである。H09はデータバスであり、各種データを転送するために用いられる。H10はCDROMドライブである。ハードディスクドライブH06やCDROMドライブH10は総称して外部記憶装置(記憶媒体)と呼ばれ、アプリケーションプログラムやインストーラ、プリンタドライバなどが格納されている。これらの各種プログラムはRAM H05にロードされて、CPU H01により制御される。
【0035】
図2は、本実施例におけるマスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートである。これら処理ステップは、情報処理装置のCPUがプログラムを読み込み、実現される。
【0036】
本実施例ではユーザアカウント実行部(以下、ログインアカウントインストーラ部)と管理者アカウント実行部(以下、管理者アカウントインストーラ部)の二つのインストーラから構成される。ユーザはログインアカウントで各種処理の実行指示を行う。この実施例において示す、ログインユーザアカウントとは、管理者アカウント以外のアカウントを示す。すなわち、ユーザは‘制限された’管理者アカウント(一般ユーザアカウント)としてログインし、ログインアカウントインストーラ部を起動する。
【0037】
図2のS1101からS1106はログインアカウントインストーラ部のステップとなり、S1201からS1219は管理者アカウントインストーラ部のステップとなる。まずログインアカウントインストーラ部の処理を説明し、次に管理者アカウントインストーラ部の処理を説明する。
【0038】
ログインアカウントインストーラ部は実行を開始するとS1101を実行する。S1101は管理者アカウントインストーラとのプロセス間で通信経路を確保する処理である。ここにおいて、各アカウントにおける処理プロセス間の通信を確保できる。本実施例ではプロセス間通信としてWindows(登録商標) NTオペレーティングシステムで用意された「名前付きパイプ(Named Pipe)」を用いる。言うまでもないが本発明はプロセス間通信としてどのような方法を用いても構わない。例えばメッセージキューやシグナル、共有メモリなどの方法を用いてもよい。
【0039】
S1102は管理者アカウント起動処理である。ログインアカウントが一般ユーザアカウントなら、起動時に管理者アカウントのアカウント名とパスワードの入力が必要となる。例えば、ログインアカウントがマイクロソフト社のWindows(登録商標) Vistaオペレーティングシステムにおける‘制限された’管理者アカウントなら、管理者アカウントとして実行してよいかの確認のみが必要となる。
【0040】
S1103とS1104はログインアカウントインストーラ部のメインループとなる。S1103は管理者アカウントインストーラ部が終了したかどうかの判断処理である。ここではS1102で起動した管理者アカウントインストーラが終了したかどうかを判定するため、S1102で起動したときのプロセスから終了のシグナルが通知されたか否かを判定する。本実施例ではプロセスのシグナルを用いて判定しているが、本発明はプロセス間通信の方法にとらわれるものではない。例えばメッセージキューを用いても良いし、共有メモリを用いてもよい。管理者アカウントインストーラ部が終了したならログインアカウントインストーラ部も終了する。管理者アカウントインストーラが実行中ならS1104へ進む。S1104は管理者アカウントインストーラ部から処理依頼が来たかどうかの判断処理である。ここではS1101で確保した名前付きパイプを経由して処理すべき内容を受信する。その際、実行に必要なパラメータがあればこれも受信する。
【0041】
S1105はS1104で受信した処理内容を実行する処理である。本実施例では外部プログラムであるWebブラウザを起動する。S1105はログインアカウントとして動作しているため、Webブラウザもログインアカウントとして起動し、動作する。S1106はS1105の処理結果を管理者アカウントインストーラ部へ返却する処理である。インストール結果の返却はS1101で確保したプロセス間通信経路を用いる。S1106の処理が完了したらS1103へ戻り、次に処理すべき内容に備えることになる。
【0042】
次に管理者アカウントインストーラ部の説明を行う。
【0043】
管理者アカウントインストーラ部はログインアカウントインストーラ部から実行されることを想定しているが、ログインアカウントインストーラ部を経由せず、直接起動されることも考慮している。
【0044】
S1201はインストール処理コマンドを取得する処理である。本実施例ではインストール処理コマンドは外部ファイルに記述されているが、プログラム内部でこのような情報を保持してもよい。また明確にコマンドとして存在していなくても、異なる処理関数という形でプログラムとして実装しても構わない。
【0045】
S1202はS1201で取得したインストール処理コマンドがブラウザ起動コマンドかどうか判断する処理である。ブラウザ起動コマンドならS1211へ進む。そうでなければS1203へ進む。
【0046】
S1203はS1201で取得したインストール処理コマンドがインストーラ起動コマンドかどうか判断する処理である。インストーラ起動コマンドならS1204へ進む。そうでなければS1205へ進む。
【0047】
S1204はインストーラ起動コマンドの指定に従いインストーラを起動し、インストール処理が完了するまで待つ処理である。インストール処理が完了したらS1205へ進む。
【0048】
S1205はS1201で取得したインストール処理コマンドがファイルやディレクトリ操作コマンドか判定する処理である。ファイルやディレクトリ操作処理ならS1206へ進む。そうでなければS1207へ進む。S1206はファイルやディレクトリ操作コマンドの内容に従いファイル作成、削除、リネーム、ディレクトリ作成、削除、リネーム処理を行う。処理が完了したらS1207へ進む。S1207はS1201で取得したインストール処理コマンドがレジストリ操作コマンドか判断する。レジストリ操作コマンドならS1208へ進む。そうでなければS1216へ進む。S1208はレジストリ操作コマンドの内容に従い、レジストリ書込み、削除を行う。処理が完了したらS1216へ進む。
【0049】
S1211は管理者アカウントでブラウザを起動してよいか確認する処理である。具体的には情報処理装置における実行OSと起動されるWebブラウザの名称とバージョン番号をチェックする。予め登録されている特定のOSやWebブラウザであった場合は、ログインアカウントで起動すべきブラウザであると判断する。ここで、特定のOSやWebブラウザは、マスターインストーラプログラムを格納したCD−ROMなど、情報処理装置のCPUがアクセス可能な記憶領域に予め登録されているものとする。
【0050】
ログインアカウントで起動すべきと判断した場合はS1212へ進む。そうでなければ管理者アカウントで起動してよいと判断する。管理者アカウントで起動してよいと判断した場合はS1213へ進む。本実施例では例えば、実行OSとしてマイクロソフト社のWindows(登録商標) VistaでWebブラウザとしてIE7がデフォルトのブラウザであった場合、ログインアカウントでWebブラウザを起動するべきであると判断する。
【0051】
S1212はプロセス間通信経路が確保されているか確認する処理である。管理者アカウントインストーラ部が直接起動された場合はプロセス間通信経路がない。この場合でも正常に動作させるためである。プロセス間通信経路が確保されていればS1214へ進む。確保されていなければS1213へ進む。S1213は外部プログラムであるWebブラウザを起動する。S1213は管理者アカウントで実行するため、Webブラウザも管理者アカウントで実行することになる。Webブラウザを実行したらS1203へ進む。S1214はWebブラウザの起動処理をログインアカウントインストーラ部へ通知する処理である。処理の通知はプロセス間通信を用いる。S1215はログインアカウントインストーラ部からの処理結果通知を受信する処理である。結果を受信したらS1216へ進む。
【0052】
S1216はインストール処理でエラーが発生したかどうか判断する。エラーが発生していればS1217へ進む。発生していなければS1218へ進む。S1217はインストールエラー表示を行う処理である。エラー表示後管理者アカウントインストーラ部を終了する。S1218は全てのインストール処理コマンドの実行が完了したかどうか判断する。全てのインストール処理コマンドの実行が完了すれば管理者アカウントインストーラ部を終了する。そうでなければS1201へ戻る。
【0053】
最後に本マスターインストーラから起動されるWebブラウザの処理フローを説明する。例えば、IE7などのブラウザは保護モードというセキュリティ機構を持つが、これはログインアカウントで実行したときのみ有効となる。そこでこの機能を有効にするため、本実施例ではWebブラウザがログインアカウントインストーラ部のS1105から実行される。つまりログインアカウントとしてプログラムは実行されることとなる。図4がWebブラウザにおける主な処理を示すフローチャートである。実際のWebブラウザはもっと複雑だが、本実施例として関係ある部分にしぼって記述したものである。
【0054】
S1301はWebブラウザが管理者アカウントで実行しているか判定する処理である。管理者アカウントで実行しているならS1302へ進む。管理者アカウントで実行していないならS1303へ進む。本実施例ではログインアカウントインストーラ部から起動されるため管理者アカウントで実行していないと判断される。S1302は内部の保護モードフラグを無効にする処理である。次にS1304へ進む。S1303は内部の保護モードフラグを有効にする処理である。次にS1304へ進む。S1304はデフォルトのホームページを表示する処理である。S1305以後がメインループである。S1305はキーボードやマウスなどのユーザ入力を取得する処理である。S1306はS1305で入力されたものがURLかどうか判断する処理である。URLが入力されたらS1311へ進む。URLの入力でなければS1307へ進む。S1307は入力されたものがマウスクリックでリンク先がクリックされたかどうか判断する処理である。リンク先がクリックされたらS1311へ進む。リンク先のクリックで無ければS1308へ進む。S1308はS1305で入力されたものがプログラムの終了の指示かどうか判断する処理である。プログラムの終了指示ならウェブブラウザは終了する。終了指示でなければS1305へ戻る。
【0055】
S1311はURLがHTMLファイルを指示しているか判定する処理である。HTMLファイルを指示している場合はS1312へ進む。HTMLファイルでなければS1321へ進む。S1312はURL先のHTMLファイル(ページ)をダウンロードする。S1313はダウンロードしたHTML(ページ)を画面表示する。表示が完了したらS1305へ戻る。
【0056】
S1321はURLが実行ファイルを指示しているか判定する処理である。実行ファイルを指示している場合はS1322へ進む。実行ファイルでなければS1331へ進む。S1322は内部保護モードフラグが有効になっているか、無効になっているか判断する処理である。保護モードフラグが有効ならS1323へ進む。保護モードフラグが無効ならS1326へ進む。S1323は実行許可確認画面の表示処理である。S1324は実行確認の入力待ち処理である。S1325はS1324の入力結果の判断処理である。実行許可が指示されたらS1326へ進む。実行許可が指示されなかったらS1305へ戻る。S1326はURLで指示された実行ファイルをダウンロードする処理である。S1327はS1326でダウンロードしたファイルを実行する処理である。実行が完了したらS1305へ戻る。
【0057】
S1331はURLが外部プログラムファイルを用いて開くファイルかどうか判定する処理である。例えば拡張子がDOCであればマイクロソフト社のMS WORDが外部プログラムとなる。外部プログラムが必要ならS1332へ進む。外部プログラムが不要なファイルであればS1305へ戻る。S1332は内部保護モードフラグが有効になっているか、無効になっているか判断する処理である。保護モードフラグが有効ならS1333へ進む。保護モードフラグが無効ならS1336へ進む。S1333は実行許可確認画面の表示処理である。S1334は実行確認の入力待ち処理である。S1335はS1334の入力結果の判断処理である。実行許可が指示されたらS1336へ進む。実行許可が指示されなかったらS1305へ戻る。S1336はURLで指示されたファイルをダウンロードする処理である。S1337はS1336でダウンロードしたファイルに対応した外部プログラムを起動し、ダウンロードしたファイルを開く処理である。外部アプリが起動し、ファイルが開けばS1305へ戻る。
【0058】
以上、上記の実施例では、マスターインストーラから複数のソフトウェアをインストールする際、起動する処理がどういった処理であるかを判断する。そして、ブラウザの起動の場合、情報処理装置のOS、デフォルトブラウザが予め登録されている、ユーザアカウントで起動すべきものであるかを判断する。これらの処理によって、ユーザの手間をかけることなく、必要に応じてWebブラウザをセキュリティの高いモードで実行することが可能となる。
【0059】
(実施例2)
さらに別のマスターインストーラの実施例を説明する。この本実施例では印刷と画像スキャンが可能な複合機などの画像形成装置のセットアップを行うマスターインストーラを対象とする。
【0060】
本実施例ではログインアカウントが一般ユーザアカウントである場合において、一般ユーザアカウントと管理者アカウントで別々に管理された情報を使う場合に発生する問題を回避するための例を示す。本実施例のマスターインストーラは、インストール処理を処理コマンドとして定義し、これを逐次処理する。その際、処理内容に応じて動的にログインアカウントで処理すべきか、管理者アカウントで処理すべきかを判定する。その結果、本実施例では任意のコマンドをログインアカウントで実行することが可能となり、実施例1で示したWebブラウザだけでなく、常駐プログラムもログインアカウントとして実行することが可能となる。本実施例では、常駐プログラムとしてスキャンデータ保存プログラムを説明する。
【0061】
図7に本実施例のインストールコマンドを説明する。図3と異なり、事前にどちらのアカウントで処理すべきかを示すフラグは存在しない。
【0062】
実施例2のハードウェア構成は、実施例1のそれと同じであるため説明は省略する。
【0063】
図5は、本実施例におけるマスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートである。これら処理ステップは、情報処理装置のCPUがプログラムを読み込み、そして実現される。本実施例では、ログインアカウントインストーラ部と管理者アカウントインストーラ部の二つのインストーラから構成され、ユーザはログインアカウントインストーラ部を実行する。図5のS2101からS2115はログインアカウントインストーラ部のステップとなり、S2201からS2221は管理者アカウントインストーラ部のステップとなる。まずログインアカウントインストーラ部の処理を説明し、次に管理者アカウントインストーラ部の処理を説明する。
【0064】
ログインアカウントインストーラ部は実行を開始するとS2101を実行する。S2101は管理者アカウントインストーラとのプロセス間通信経路を確保する処理である。本実施例では、例えばプロセス間通信としてWindows(登録商標) NTオペレーティングシステムで用意された「名前付きパイプ」を用いる。
【0065】
S2102は管理者アカウント起動処理である。起動の際、必要なら管理者アカウントのアカウント名とパスワードの入力が必要となる。
【0066】
S2103とS2104はログインアカウントインストーラ部のメインループとなる。S2103は管理者アカウントインストーラ部が終了したかどうかの判断処理である。ここではS2102で起動した管理者アカウントインストーラが終了したかどうかを判定するためS2102で起動したときのプロセスから終了のシグナルが通知されたか判定する。管理者アカウントインストーラ部が終了したならログインアカウントインストーラ部も終了する。管理者アカウントインストーラが実行中ならS2104へ進む。S2104は管理者アカウントインストーラ部からインストール処理コマンドが来たかどうかの判断処理である。ここではS2101で確保した名前付きパイプを経由して処理すべき内容を受信する。その際実行に必要なパラメータがあればこれも受信する。S2105はS2104で受信したインストール処理コマンドがブラウザ起動コマンドかどうか判断する。ブラウザ起動コマンドならS2106へ進む。そうでなければS2107へ進む。S2106は外部プログラムであるWebブラウザを起動する。
【0067】
S2107はS2104で取得したインストール処理コマンドがファイルやディレクトリ操作コマンドか判定する処理である。ファイルやディレクトリ操作処理ならS2108へ進む。そうでなければS2109へ進む。S2108はファイルやディレクトリ操作コマンドの内容に従いファイル作成、削除、リネーム、ディレクトリ作成、削除、リネーム処理を行う。処理が完了したらS2109へ進む。S2109はS2104で取得したインストール処理コマンドがレジストリ操作コマンドか判断する。レジストリ操作コマンドならS2110へ進む。そうでなければS2111へ進む。S2110はレジストリ操作コマンドの内容に従い、レジストリ書込み、削除を行う。処理が完了したらS2111へ進む。S2111はS2104で取得したインストール処理コマンドがプログラム常駐起動コマンドかどうか判断する。プログラム常駐起動コマンドならS2112へ進む。そうでなければS2113へ進む。S2112はプログラム常駐起動コマンドに従い、外部プログラムを起動する。常駐起動を行うため、起動された外部プログラムが終了するのを待つ必要はない。外部プログラムの起動が完了したらS2113へ進む。S2113はS2104で取得したインストール処理コマンドがデフォルトプリンタ設定処理かどうか判断する。デフォルトプリンタ設定処理ならS2114へ進む。そうでなければS2115へ進む。S2114は通常使うプリンタの設定を変更する処理である。ここでインストールしたプリンタを通常使うプリンタに設定する。これらS2105からS2114までの処理はログインアカウントとして処理を行うことになる。
【0068】
S2115は処理結果を管理者アカウントインストーラ部へ送信する処理である。送信が完了したらS2103へ戻る。
【0069】
次に管理者アカウントインストーラ部の説明を行う。
【0070】
S2201はインストール処理コマンドを取得する処理である。本実施例ではインストール処理コマンドは外部ファイルに記述されているが、プログラム内部でこのような情報を保持してもよい。また明確にコマンドとして存在していなくても、異なる処理関数という形でプログラムとして実装しても構わない。
【0071】
S2202はS2201で取得したインストール処理コマンドがブラウザ起動コマンドかどうか判断する処理である。ブラウザ起動コマンドならS2203へ進む。そうでなければS2205へ進む。
【0072】
S2203は管理者アカウントでWebブラウザを起動してよいか確認する処理である。具体的には、実行OSと起動されるWebブラウザの名称とバージョン番号が、予めログインアカウントで起動すべきものであるとして記憶されているものであるか否かをチェックする。ログインアカウントで起動すべきと判断した場合はS2217へ進む。そうでなければ管理者アカウントで起動してよいと判断する。管理者アカウントで起動してよいと判断した場合はS2204へ進む。本実施例では実行OSとしてマイクロソフト社のWindows(登録商標) Vista、WebブラウザとしてIE7がデフォルトのブラウザの場合、ログインアカウントでWebブラウザを起動するべきと判断する。
【0073】
S2204は外部プログラムであるWebブラウザを起動する処理である。
【0074】
S2205はS2201で取得したインストール処理コマンドがファイル・ディレクトリ操作コマンドかどうか判断する処理である。ファイル・ディレクトリ操作コマンドならS2206へ進む。そうでなければS2208へ進む。
【0075】
S2206はファイル・ディレクトリ操作の対象がシステム領域かどうかを、例えばファイル操作であれば、ファイルパスなどのパスを元に判断する処理である。本実施例ではアプリケーションインタフェース(API)で取得したシステムに関するディレクトリに含まれるかどうかで判断する。例えばUNIX(登録商標)オペレーティングシステムであれば、rootアカウントのみ書き込み権限のあるディレクトリに含まれているかどうか判定すればよい。ここで、マイクロソフト社のWindows(登録商標) NTオペレーティングシステムでも同様に管理者グループのみ書き込み権限があるかどうか判断することは可能である。しかし、古いファイルシステム(例えばFAT32)では権限の設定保存ができないため、完全にチェックすることができないのでAPIによる判断のほうが望ましい。システム領域への書き込みと判断した場合はS2207へ進む。システム領域への書き込みでないと判断した場合はS2217へ進む。S2207はS2201で取得したコマンドに従いファイル・ディレクトリ操作を実行する処理である。
【0076】
S2208はS2201で取得したインストール処理コマンドがレジストリ操作コマンドかどうか判断する処理である。レジストリ操作コマンドならS2209へ進む。そうでなければS2211へ進む。S2209はレジストリ操作の対象がシステム領域かどうか判断する処理である。本実施例ではレジストリパスがHEKY_CURRENT_USER以外をシステム領域と判断する。システム領域への操作と判断した場合はS2210へ進む。システム領域への操作ではないと判断した場合はS2217へ進む。S2210はS2201で取得したコマンドに従い、レジストリ操作を実行する処理である。
【0077】
S2211はS2201で取得したインストール処理コマンドがプログラム常駐起動コマンドかどうか判断する処理である。プログラム常駐起動コマンドならS2212へ進む。そうでなければS2214へ進む。S2212は常駐プログラムがログインアカウントで常駐するプログラムかどうかの判断処理である。常駐プログラムが予めログインアカウントとして常駐すべきプログラムとして登録されているか否かを判断する。一方、サービスとして登録されたものは管理者アカウントとして常駐するプログラムと判断する。
【0078】
ここで、本実施例では、予めログインアカウントにより常駐すべきプログラムとして、アカウント毎に決められた起動時実行フォルダに、例えばレジストリに起動時実行プログラムとして予め登録されている。
【0079】
また、サービスとはマイクロソフト社のWindows(登録商標)オペレーティングシステムにおける常駐プログラムの一形態である。UNIX(登録商標)オペレーティングシステムにおけるデーモン(Daemon)に相当する。
【0080】
ログインアカウントで常駐するプログラムと判断したらS2217へ進む。そうでなければS2213へ進む。S2213はサービスプログラムを開始する処理である。
【0081】
S2214はS2201で取得したインストール処理コマンドがデフォルトプリンタ設定コマンドかどうか判断する処理である。デフォルトプリンタ設定コマンドならS2217へ進む。そうでなければS2215へ進む。
【0082】
S2215はS2201で取得したインストール処理コマンドがインストーラ起動処理かどうか判断する処理である。インストーラ起動処理ならS2216へ進み、そうでなければS2219へ進む。
【0083】
S2217はS2201で取得したインストール処理コマンドをログインアカウントインストーラ部へ通知する処理である。S2218へログインアカウントインストーラ部から処理結果を受信する処理である。受信が完了したらS2219へ進む。
【0084】
S2219はインストール処理でエラーが発生したかどうか判断する処理である。エラーが発生すればS2220へ進む。そうでなければS2221へ進む。S2220はインストールエラー表示を行う。エラー表示後管理者アカウントインストーラ部は終了する。S2221は全てのインストール処理コマンドを実行したかどうか判断する処理である。全てのインストール処理コマンドを実行したら管理者アカウントインストーラ部は終了する。そうでなければS2201へ戻る。
【0085】
最後にログインアカウントインストーラ部から実行されるプログラムとしてスキャンデータ保存プログラムとデフォルトプリンタプログラムの詳細を説明する。
【0086】
スキャンデータ保存プログラムは常駐プログラムとして動作し、スキャナから受信した画像データを画像フォルダに保存するプログラムである。例えば、マイクロソフト社のWindows(登録商標)オペレーティングシステムでは「マイピクチャ」と呼ばれるユーザごとの画像保存フォルダが決められている。スキャンデータ保存プログラムも、このフォルダへ画像データを保存するのが望ましいが、管理者アカウントでスキャンデータ保存プログラムを実行すると管理者アカウントのマイピクチャフォルダへ保存することになる。しかし、本発明を用いることでログインアカウントのマイピクチャフォルダへ画像データを保存することが可能となる。
【0087】
図6は本実施例における、情報処理装置のCPUにおいて実現される処理のためのスキャンデータ保存プログラムに基づくフローチャートを示す。
【0088】
S2301はユーザ入力部である。スキャンデータ保存プログラムは常駐プログラムなのでユーザ入力として指示するのはプログラム終了のみとなる。
【0089】
S2302はユーザ入力がプログラム終了指示かどうか判断する。プログラム終了指示なら終了する。そうでなければS2303へ進む。
【0090】
S2303はデバイスからのスキャン開始指示の受信処理である。
【0091】
S2304はS2303でスキャン開始指示を受信したか判断する。開始指示を受信したらS2305へ進む。そうでなければS2301へ戻る。S2305はスキャンデータ受信処理である。
【0092】
S2306はスキャンデータ保存先取得処理である。ここでスキャンデータ保存プログラムが属するアカウントの画像保存フォルダ(マイクロソフト社のWindows(登録商標)オペレーティングシステムにおける「マイピクチャ」フォルダ)のディレクトリを取得する。本実施例ではスキャンデータ保存プログラムはログインアカウントインストーラ部から実行されるため、ログインアカウントの画像保存フォルダが保存先ディレクトリとなる。
【0093】
S2307はスキャンデータファイル名決定処理である。本実施例ではファイル名は日付と時間を用いてYYYYMMDD−hhmmss.JPEGとなる。YYYYは4桁の西暦、MMは2桁の月、DDは2桁の日、hhは2桁の時、mmは2桁の分、ssは2桁の秒となる。
【0094】
S2308はスキャンデータ保存処理である。S2305で受信した画像データをS2306とS2307で決まったパスに保存する。保存処理が完了したらS2301へ戻る。
【0095】
本実施例においては、マスターインストーラを実行する際に、管理者アカウントで実行する処理と一般ユーザアカウントで実行する他の処理(Webブラウザや常駐プログラムの一部)とを切換える。このアカウントの切換えを適宜行うことにより、適切にセキュリティの高いモードでのWebブラウザの起動を行いつつ、ユーザに対する適切な設定処理(通常用いるデフォルトプリンタの設定など)やデータの保存を可能とする。
【0096】
また、適するフォルダにスキャン画像を保存することができる。
【0097】
(実施例3)
先の二つの実施例はマスターインストーラをログインアカウントインストーラ部と管理者アカウントインストーラ部に分け、管理者アカウントインストーラ部が処理を振り分けていた。本実施例ではログインアカウントが一般ユーザカウントの場合において、ログインアカウントインストーラ部が処理を振り分けるものである。つまりログインアカウントインストーラ部でインストール処理中に管理者アカウントで実行するべき処理内容があれば管理者アカウントインストーラ部へ処理を委譲する。
【0098】
本実施例におけるインストールコマンドは実施例2のそれと同じであるため説明は省略する。
【0099】
本実施例のハードウェア構成は実施例1のそれと同じであるため説明は省略する。
【0100】
図8は、本実施例におけるマスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートである。これら処理ステップは、情報処理装置のCPUがプログラムを読み込み、そして実現される。まずログインアカウントインストーラ部の処理を説明する。
【0101】
S3101はプロセス間通信経路の確保処理である。S3102は管理者アカウントインストーラ部の起動処理である。S3103はインストール処理コマンドを取得する処理である。本実施例ではインストール処理コマンドは外部ファイルに記述されているが、プログラム内部でこのような情報を保持してもよい。また明確にコマンドとして存在していなくても、異なる処理関数という形でプログラムとして実装しても構わない。
【0102】
S3104はS3103で取得したインストール処理コマンドがブラウザ起動コマンドかどうか判断する処理である。ブラウザ起動コマンドならS3105へ進む。そうでなければS3107へ進む。S3105は管理者アカウントでWebブラウザを起動してよいか確認する処理である。具体的には実行OSと起動されるWebブラウザの名称とバージョン番号をチェックする。本実施例では実行OSとしてマイクロソフト社のWindows(登録商標) Vistaで、WebブラウザとしてIE7がデフォルトのブラウザの場合、ログインアカウントでWebブラウザを起動するべきと判断することになる。そうでなければ管理者アカウントで起動してよいと判断する。管理者アカウントで起動してよいと判断した場合はS3119へ進む。ログインアカウントで起動すべきと判断した場合はS3106へ進む。S3106は外部プログラムであるWebブラウザを起動する処理である。
【0103】
S3107はS3103で取得したインストール処理コマンドがファイル・ディレクトリ操作コマンドかどうか判断する処理である。ファイル・ディレクトリ操作コマンドならS3108へ進む。そうでなければS3110へ進む。S3108はファイル・ディレクトリ操作の対象がシステム領域かどうか判断する処理である。本実施例ではアプリケーションインタフェース(API)で取得したシステムに関するディレクトリに含まれるかどうかで判断する。例えばUNIX(登録商標)オペレーティングシステムであれば、rootアカウントのみ書き込み権限のあるディレクトリに含まれているかどうか判定すればよい。マイクロソフト社のWindows(登録商標) NTオペレーティングシステムでも同様に管理者グループのみ書き込み権限があるかどうか判断することは可能である。しかしながら、古いファイルシステム(例えばFAT32)では権限の設定保存ができないため、完全にチェックすることができないのでAPIによる判断のほうが望ましい。システム領域への書き込みと判断した場合はS3119へ進む。システム領域への書き込みでないと判断した場合はS3109へ進む。S3109はS3103で取得したコマンドに従いファイル・ディレクトリ操作を実行する処理である。
【0104】
S3110はS3103で取得したインストール処理コマンドがレジストリ操作コマンドかどうか判断する処理である。レジストリ操作コマンドならS3111へ進む。そうでなければS3113へ進む。S3111はレジストリ操作の対象がシステム領域かどうか判断する処理である。本実施例ではレジストリパスがHEKY_CURRENT_USER以外をシステム領域と判断する。システム領域への操作と判断した場合はS3119へ進む。システム領域への操作ではないと判断した場合はS3112へ進む。S3112はS3103で取得したコマンドに従い、レジストリ操作を実行する処理である。
【0105】
S3113はS3103で取得したインストール処理コマンドがプログラム常駐起動コマンドかどうか判断する処理である。プログラム常駐起動コマンドならS3114へ進む。そうでなければS3116へ進む。S3114は常駐プログラムがログインアカウントで常駐するプログラムかどうかの判断処理である。常駐プログラムが、アカウント毎に決められた起動時実行フォルダに含まれているプログラムか、レジストリに起動時実行プログラムとして登録されていれば、ログインアカウントで常駐するプログラムと判断する。一方サービスとして登録されたものは管理者アカウントとして常駐するプログラムと判断する。サービスとはマイクロソフト社のWindows(登録商標)オペレーティングシステムにおける常駐プログラムの一形態である。UNIX(登録商標)オペレーティングシステムにおけるデーモン(Daemon)に相当する。ログインアカウントで常駐するプログラムと判断したらS3119へ進む。そうでなければS3115へ進む。S3115は常駐プログラムを起動する処理である。
【0106】
S3116はS3103で取得したインストール処理コマンドがデフォルトプリンタ設定コマンドかどうか判断する処理である。デフォルトプリンタ設定コマンドならS3117へ進む。そうでなければS3118へ進む。S3117は通常使うプリンタの設定処理である。ログインアカウントの通常使うプリンタをS3103で取得したコマンドで指定されたプリンタに設定する。
【0107】
S3118はS3103で取得したインストール処理コマンドがインストーラ起動処理かどうか判断する処理である。インストーラ起動処理ならSS3119へ進み、そうでなければS3121へ進む。
【0108】
S3119はS3103で取得したインストール処理コマンドを管理者アカウントインストーラ部へ通知する処理である。S3120はログインアカウントインストーラ部から処理結果を受信する処理である。受信が完了したらS3121へ進む。
【0109】
S3121はインストール処理でエラーが発生したかどうか判断する処理である。エラーが発生すればS3122へ進む。そうでなければS3123へ進む。S3122はインストールエラー表示を行う。エラー表示後ログインアカウントインストーラ部は終了する。S3123は全てのインストール処理コマンドを実行したかどうか判断する処理である。全てのインストール処理コマンドを実行したらログインアカウントインストーラ部は終了する。そうでなければS3101へ戻る。
【0110】
次に管理者アカウントインストーラ部のフローチャートを説明する。ログインアカウントインストーラ部は実行を開始するとS3201を実行する。S3201とS3202は管理者アカウントインストーラ部のメインループとなる。S3201はログインアカウントインストーラ部が終了したかどうかの判断処理である。ログインアカウントインストーラ部が終了したなら管理者アカウントインストーラ部も終了する。ログインアカウントインストーラが実行中ならS3202へ進む。S3202はログインアカウントインストーラ部からインストール処理コマンドが来たかどうかの判断処理である。ここではS3101で確保した名前付きパイプを経由して処理すべき内容を受信する。その際実行に必要なパラメータがあればこれも受信する。S3203はS3202で受信したインストール処理コマンドがブラウザ起動コマンドかどうか判断する。ブラウザ起動コマンドならS3204へ進む。そうでなければS3205へ進む。S3204は外部プログラムであるWebブラウザを起動する。S3205はS3202で取得したインストール処理コマンドがファイルやディレクトリ操作コマンドか判定する処理である。ファイルやディレクトリ操作処理ならS3206へ進む。そうでなければS3207へ進む。S306はファイルやディレクトリ操作コマンドの内容に従いファイル作成、削除、リネーム、ディレクトリ作成、削除、リネーム処理を行う。処理が完了したらS3207へ進む。S3207はS3202で取得したインストール処理コマンドがレジストリ操作コマンドか判断する。レジストリ操作コマンドならS3208へ進む。そうでなければS3209へ進む。S3208はレジストリ操作コマンドの内容に従い、レジストリ書込み、削除を行う。処理が完了したらS3209へ進む。S3209はS3202で取得したインストール処理コマンドがプログラム常駐起動コマンドかどうか判断する。プログラム常駐起動コマンドならS3210へ進む。そうでなければS3211へ進む。S3210はプログラム常駐起動コマンドに従い、外部プログラムを起動する。常駐起動を行うため、起動された外部プログラムが終了するのを待つ必要はない。外部プログラムの起動が完了したらS3211へ進む。S3211はS3202で取得したインストール処理コマンドがインストーラ起動コマンドかどうか判断する。インストーラ起動コマンドならS3212へ進む。そうでなければS3213へ進む。S3212は外部プログラムであるインストーラを起動する処理である。インストーラが終了したらS3213へ進む。これらS3201からS3212までの処理は管理者アカウントとして処理を行うことになる。S3213は処理結果をログインアカウントインストーラ部へ送信する処理である。送信が完了したらS3201へ戻る。
【0111】
本実施例においては、管理者アカウントで実行する処理と一般ユーザアカウントで実行する他の処理(Webブラウザや常駐プログラムの一部)とを切換える。これにより、適切にセキュリティの高いモードでのWebブラウザの起動を行いつつ、ユーザに対する適切な設定処理やデータの保存を、アカウントの切換えを適宜行うことにより可能とする。
【0112】
[他の実施の形態]
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、プリンタ、ファクシミリ、PC、サーバとクライアントとを含むコンピュータシステムなどの如くである。
【0113】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【0114】
従って、本発明の機能・処理をコンピュータで実現するために、情報処理装置にインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【0115】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0116】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0117】
また、プログラムは、クライアントの情報処理装置のブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
【0118】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムを情報処理装置にインストールしてもよい。
【0119】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【0120】
さらに、記録媒体から読み出されたプログラムが、情報処理装置に挿入された機能拡張ボードや情報処理装置に接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【0121】
【図1】本発明における、情報処理装置のハードウェア構成図を示す図である。
【図2】実施例1における、マスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートを示す図である。
【図3】実施例1におけるコマンド分類表の一例を示す図である。
【図4】実施例1における、情報処理装置において実行されるウェブブラウザの処理ステップに基づくフローチャートを示す図である。
【図5】実施例2における、マスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートを示す図である。
【図6】実施例2における、情報処理装置において実現されるスキャンデータ保存処理ステップに基づくフローチャートを示す図である。
【図7】実施例2におけるコマンド分類表の一例を示す図である。
【図8】実施例3における、マスターインストーラを実行した際の、情報処理装置における処理ステップに基づくフローチャートを示す図である。
【符号の説明】
【0122】
H01 CPU
H04 ROM
H05 RAM
H08 プリンタ
H10 CDROMドライブ

【特許請求の範囲】
【請求項1】
管理者アカウントと、情報処理装置における処理の実行権限が管理者アカウントより限定されているユーザアカウントとが登録され、それぞれのアカウント実行部の処理プロセスにおいて処理を実行する情報処理装置おいて、マスターインストーラを起動した際にマスターインストーラに基づく処理を実現する情報処理方法であって、
管理者アカウント実行部とユーザアカウント実行部との処理プロセスにおいて、プロセス間の通信を確保する確保工程と、
前記管理者アカウント実行部が処理に応じたアカウントを判定する判定工程と、
前記判定工程において、当該処理に応じたアカウントが前記ユーザアカウントであった場合、前記ユーザアカウント実行部の処理プロセスにおいて当該処理を実行するため、前記管理者アカウント実行部が前記確保工程で確保されたプロセス間の通信を利用して、当該処理を委譲する委譲工程と備えることを特徴とする情報処理方法。
【請求項2】
前記判定工程は、前記処理がWebブラウザの起動であった場合、当該処理に応じたアカウントをユーザアカウントと判定することを特徴とする請求項1に記載の情報処理方法。
【請求項3】
前記Webブラウザが、前記ユーザアカウント実行部の処理プロセスにおいて起動された場合、管理者アカウント実行部の処理プロセスで起動された場合よりもセキュリティの高いモードで起動されるWebブラウザであることを特徴とする請求項2に記載の情報処理方法。
【請求項4】
前記判定工程は、前記処理が通常使うプリンタを設定する処理であった場合、当該処理に応じたアカウントを前記ユーザアカウントと判定することを特徴とする請求項1乃至請求項3のいずれか1項に記載の情報処理方法。
【請求項5】
前記判定工程は、前記処理がファイル操作であった場合、ファイルパスを元に当該処理に応じたアカウントを判定し、前記処理がレジストリ操作であった場合、レジストリパスを元に当該処理に応じたアカウントを判定することを特徴とする請求項1乃至請求項4のいずれか1項に記載の情報処理方法。
【請求項6】
前記ユーザアカウント実行部の処理プロセスにおいて前記処理が完了した場合、前記管理者アカウント実行部の処理プロセスに対して前記プロセス間の通信を介して当該処理が終了したことを通知する通知工程と、
当該処理の完了の通知を受信した後に、前記管理者アカウント実行部の処理プロセスを終了する終了工程を備えることを特徴とする請求項1に記載の情報処理方法。
【請求項7】
管理者アカウントと、情報処理装置における処理の実行権限が管理者アカウントより限定されているユーザアカウントとが登録され、それぞれのアカウント実行部の処理プロセスにおいて処理を実行する情報処理装置における情報処理工程をコンピュータによって実現するためのプログラムであって、
管理者アカウント実行部とユーザアカウント実行部との処理プロセスにおいて、プロセス間の通信を確保する確保工程と、
前記管理者アカウント実行部が、実行しようとする処理に応じたアカウントを判定する判定工程と、
前記判定工程において、当該処理に応じたアカウントが前記ユーザアカウントであった場合、前記ユーザアカウント実行部の処理プロセスにおいて当該処理を実行するため、前記管理者アカウント実行部が前記確保工程で確保されたプロセス間の通信を利用して、当該処理を委譲する委譲工程とをコンピュータによって実現するためのプログラム。
【請求項8】
前記判定工程は、前記実行しようとする処理がWebブラウザの起動であった場合、当該処理に応じたアカウントをユーザアカウントと判定することを特徴とする請求項7に記載のプログラム。
【請求項9】
前記Webブラウザが、前記ユーザアカウント実行部の処理プロセスにおいて起動された場合、管理者アカウント実行部の処理プロセスで起動された場合よりもセキュリティの高いモードで起動されるWebブラウザであることを特徴とする請求項8に記載のプログラム。
【請求項10】
前記判定工程は、前記実行しようとする処理が通常使うプリンタを設定する処理であった場合、当該処理に応じたアカウントを前記ユーザアカウントと判定することを特徴とする請求項7乃至請求項9のいずれか1項に記載のプログラム。
【請求項11】
前記判定工程は、前記実行しようとする処理がファイル操作であった場合、ファイルパスを元に当該処理に応じたアカウントを判定し、前記実行しようとする処理がレジストリ操作であった場合、レジストリパスを元に当該処理に応じたアカウントを判定することを特徴とする請求項7乃至請求項10のいずれか1項に記載のプログラム。
【請求項12】
前記ユーザアカウント実行部の処理プロセスにおいて前記処理が完了した場合、前記管理者アカウント実行部の処理プロセスに対して前記プロセス間の通信を介して当該処理が終了したことを通知する通知工程と、
当該処理の完了の通知を受信した後に、前記管理者アカウント実行部の処理プロセスを終了する終了工程とをコンピュータによって実現するための請求項7に記載のプログラム。
【請求項13】
請求項7乃至請求項12のいずれか1項に記載のプログラムを格納したコンピュータにより読み取り可能な記憶媒体。
【請求項14】
管理者アカウントと、情報処理装置における処理の実行権限が管理者アカウントより限定されているユーザアカウントとが登録され、それぞれのアカウント実行部の処理プロセスにおいて処理を実行する情報処理装置であって、
マスターインストーラを起動した際に、管理者アカウント実行部とユーザアカウント実行部との処理プロセスにおいて、プロセス間の通信を確保する確保手段と、
前記管理者アカウント実行部がマスターインストーラに基づく処理に応じたアカウントを判定する判定手段と、
前記判定手段において、当該処理に応じたアカウントが前記ユーザアカウントであった場合、前記ユーザアカウント実行部の処理プロセスにおいて当該処理を実行するため、前記管理者アカウント実行部が前記確保手段で確保されたプロセス間の通信を利用して、当該処理を委譲する委譲手段と備えることを特徴とする情報処理装置。
【請求項15】
前記判定手段は、前記処理がWebブラウザの起動であった場合、当該処理に応じたアカウントをユーザアカウントと判定することを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記Webブラウザが、前記ユーザアカウント実行部の処理プロセスにおいて起動された場合、管理者アカウント実行部の処理プロセスで起動された場合よりもセキュリティの高いモードで起動されるWebブラウザであることを特徴とする請求項15に記載の情報処理装置。
【請求項17】
前記判定手段は、前記処理が通常使うプリンタを設定する処理であった場合、当該処理に応じたアカウントを前記ユーザアカウントと判定することを特徴とする請求項14乃至請求項16のいずれか1項に記載の情報処理装置。
【請求項18】
前記ユーザアカウント実行部の処理プロセスにおいて前記処理が完了した場合、前記管理者アカウント実行部の処理プロセスに対して前記プロセス間の通信を介して当該処理が終了したことを通知する通知手段と、
当該処理の完了の通知を受信した後に、前記管理者アカウント実行部の処理プロセスを終了する終了手段を備えることを特徴とする請求項14に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−310424(P2008−310424A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−155374(P2007−155374)
【出願日】平成19年6月12日(2007.6.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】