(57)【要約】【課題】  既にインストールされたアプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる前に、前記インストールされたアプリケーションソフトウェアの起動のための処理を実行させないことを目的とする。【解決手段】  アプリケーションソフトウェアをインストールするためのプログラムであって、既にインストールされた前記アプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる起動手段としてコンピュータを機能させる。前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、前記起動手段は、前記インストーラを起動させる。【選択図】  図４
2019046360.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアをインストールするためのプログラムであって、
既にインストールされた前記アプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる起動手段としてコンピュータを機能させるためのプログラムにおいて、
前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、前記起動手段は、前記インストーラを起動させ、
前記インストーラは前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能であることを特徴とするプログラム。
【請求項２】
前記プログラムは、前記インストールされたアプリケーションの起動のためのユーザ入力を受け付け可能にする処理を実行する実行手段として前記コンピュータを機能させ、
前記実行手段は、前記アプリケーションソフトウェアについての追加インストールを行うための前記インストーラがない場合、前記インストールされたアプリケーションの起動のためのユーザ入力を受け付け可能にする処理を実行することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記プログラムは、前記インストールされたアプリケーションの起動のためのユーザ入力を受け付け可能にする処理を実行する実行手段として前記コンピュータを機能させ、
前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行する機能を前記インストーラが有さない場合、前記実行手段は、前記インストーラによるインストールの完了後に、前記インストールされたアプリケーションの起動のためのユーザ入力を受け付け可能にする処理を実行することを特徴とする請求項１または２のいずれか１項に記載のプログラム。
【請求項４】
前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理が実行されることにより、前記アプリケーションソフトウェアの起動のためのユーザ入力を受け付けるショートカットが前記コンピュータのデスクトップ画面上に作成されることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
アプリケーションソフトウェアをインストールする情報処理装置であって、
既にインストールされた前記アプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる起動手段を有する情報処理装置において、
前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、前記起動手段は、前記インストーラを起動させ、
前記インストーラは前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能であることを特徴とする情報処理装置。
【請求項６】
アプリケーションソフトウェアをインストールする情報処理装置の制御方法であって、
既にインストールされた前記アプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる起動工程を有する制御方法において、
前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、前記起動工程では、前記インストーラが起動し、
前記インストーラは前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能であることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフトウェアをインストールするためのプログラム、情報処理装置、及び制御方法に関する。
【背景技術】
【０００２】
近年、アプリケーションソフトウェアの大規模・複雑化に伴い、１つのアプリケーションソフトウェアを動作させるために複数のインストーラを正しい手順で実行する必要のある製品が増えてきた。しかしながら、ＩＴリテラシーの低いユーザにとって正しい手順でインストーラを実行することは必ずしも容易なことではない。
【０００３】
そこで特許文献１には、サーバーコンピュータにおいて、複数のソフトウェアをインストールする際のインストール順によるコンフリクトチェック（整合性確認）を実施することが記載されている。特許文献１によれば、ユーザはインストーラの実行順序を意識することなく所望のアプリケーションソフトウェアがインストールできるようになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４８４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のインストーラを連続実行している際にユーザがインストール中のアプリケーションソフトウェアを起動してしまうと、インストール処理が失敗する場合がある。
【０００６】
例えば、ユーザがサービスパックを含むアプリケーションソフトウェアを購入した場合、製品にはベース用のインストーラ及びサービスパック用のインストーラが同梱されていることがある。一般的にこのような構成のインストーラでは、ベースのインストール処理が完了した後に自動的にサービスパックのインストール処理が開始されることが多い。この場合、ベースのインストール処理が完了した時点でＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のデスクトップ画面上にショートカットが作成される。そのため、サービスパックのインストール中にユーザがショートカットからアプリケーションソフトウェアを容易に起動することが出来てしまう。
【０００７】
ここでユーザがインストール中のアプリケーションソフトウェアを起動した場合、ＯＳによってアプリケーションソフトウェア実行に必要なモジュールはロードされ、ロックされる。そのため、サービスパックのインストーラによるサービスパック用モジュールの更新ができなくなるため、サービスパックのインストール処理が失敗するという問題が発生する。
【０００８】
また、サービスパックのインストーラによる更新ができなかったモジュールを、ソフトウェアの再起動後に更新することも可能である。しかしながら、ユーザがサービスパックを含むアプリケーションソフトウェアを購入したにもかかわらず、そのユーザが「Ｂｕｇ−Ｆｉｘ未適用の製品」や「新機能がまだ存在しないベース機能のみの製品」を一時的にでも使用することは好ましくない。
【０００９】
そこで、本発明は、既にインストールされたアプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる前に、前記インストールされたアプリケーションソフトウェアの起動のための処理を実行させないことを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、アプリケーションソフトウェアをインストールするためのプログラムであって、既にインストールされた前記アプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる起動手段としてコンピュータを機能させるためのプログラムにおいて、前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、前記起動手段は、前記インストーラを起動させ、前記インストーラは前記インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能であることを特徴とする。
【発明の効果】
【００１１】
本発明により、既にインストールされたアプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる前に、前記インストールされたアプリケーションソフトウェアの起動のための処理を実行させないようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】ハードウェア構成例を示す図
【図２】ソフトウェア構成例を示す図
【図３】インストーラに関する設定情報の一例を示す図
【図４】実施例１の処理を示すフローチャート
【図５】実施例２の処理を示すフローチャート
【図６】実施例３の処理を示すフローチャート
【発明を実施するための形態】
【００１３】
本発明では、ユーザがインストーラ実行中に、アプリケーションソフトウェアの起動を防ぐためのショートカット作成方法を実現する。
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１５】
［ハードウェア構成］
図１は、本発明の一実施形態におけるハードウェア構成例を示す図である。図１では、コンピュータである情報処理装置１００のハードウェア構成例を示している。情報処理装置１００は、ユーザ操作入力を受信する入力デバイスであるキーボード１０５とポインティングデバイス１０６が設けられている。
【００１６】
キーボード１０５は、情報処理装置１００に対して文字や数字などの情報を入力する装置である。キーボードは、例えば仮名や英文字などを入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
【００１７】
ポインティングデバイス１０６は、例えばマウスなどを備える。ユーザが、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを用いて情報処理装置１００を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、情報処理装置１００が、インストールされたアプリケーションソフトウェアを表すアイコンを表示部１０２上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、ＣＰＵ１０１がアプリケーションソフトウェアを起動させる。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部１０２を備える。
【００１８】
表示部１０２は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部１０２は、キーボードやマウスの入力結果や、インストーラやアプリケーションソフトウェアが提供する画面（例えばユーザインターフェース）等を表示する。
【００１９】
さらに、情報処理装置１００は、動作を制御するための手段であるＣＰＵ１０１、ＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０７を備える。本実施形態に特有の動作として、ＣＰＵ１０１は、情報処理装置１００上では図２に示す複数のインストーラ２００・２１０の動作を制御する。ＣＰＵ１０１は、情報処理装置１００の各インストーラを実行し、所定のプログラムに従って、各種の演算、情報処理、情報処理装置１００全体の制御処理を行う。
【００２０】
ＲＡＭ１０３、ＲＯＭ１０４、ＨＤＤ１０７は本実施形態における各種プログラムや実行情報を保管する。また、ＤＶＤ／ＣＤに記録されたデータを読み出すためのＤＶＤ／ＣＤ−ＲＯＭドライバ１０８も設ける。ＲＡＭ１０３は、ＣＰＵ１０１によりＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や本実施例を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、ＲＡＭ１０３には、ＣＰＵ１０１がインストーラの起動やシステム内部の処理などを行うためのエリアが確保される。ＲＯＭ１０４は、ＣＰＵ１０１の各種制御を実行する各種制御プログラム、データ及びパラメータ等を記憶する記憶装置である。
【００２１】
ＨＤＤ１０７は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置と、を備える。本実施形態では、ＨＤＤ１０７は、ハードディスクを備えるローカルディスクである。なお、ＨＤＤ１０７が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。ＨＤＤ１０７には、図２に示す複数のインストーラ２００・２１０が記憶されている。また、ＨＤＤ１０７には、インターフェイスデバイスＩ／Ｏ１０９を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、ＨＤＤ１０７には、メモリ管理やファイル入出力管理などのクライアントを動作させるための基本アプリケーションソフトウェアであるＯＳなどが記憶されている。
【００２２】
さらに、外部機器との通信を行うインターフェイスデバイスＩ／Ｏ１０９を備え、プログラム実行を行うＣＰＵ１０１を備える。なお、周辺機器との接続形態は有線／無線を問わない。インターフェイスデバイスＩ／Ｏ１０９は、ネットワーク（例えば、ＬＡＮやインターネット）を介して他の端末（Ｗｅｂサーバ、メールサーバなど）に接続する。インターネットを介した通信を行う場合には、例えば、ＴＣＰ／ＩＰ等のプロトコルが用いられる。
【００２３】
なお、本実施例で説明される処理は、ＲＯＭ１０４、またはＨＤＤ１０７に保存されたプログラムや実行情報、一時データをＲＡＭ１０３にロードし、ＣＰＵ１０１で実行することによって実現される。
【００２４】
［ソフトウェア構成］
図２は、ソフトウェアの構成例を示す図である。
【００２５】
情報処理装置１００は、複数のインストーラ（第一のインストーラ２００、第二のインストーラ２１０）を備える。なお、本実施例では、インストーラ２１０はインストーラ２００と同様の構成であり重複する情報は省略する。
【００２６】
ここで、第一のインストーラ２００および第二のインストーラ２１０は、アプリケーションソフトウェアの制作者によってＤＶＤやＣＤ等に記憶され、或いは、アーカイブファイルに変換されＷｅｂページ等にアップロードされることが一般的である。また、インストーラの配布方式は、単数のインストーラを別々に配布する単数インストーラ形式や、複数のインストーラをあわせて配布する複数インストーラ形式の２パターンが存在する。例えば、アプリケーションソフトウェアのサービスパックがリリースされて、ベースとサービスパックの２つのインストーラを１つにまとめて配布する場合、複数インストーラ形式となる。なお、ユーザのＰＣに既にベースのインストールしており、後にリリースされたサービスパックを追加でインストールする場合には、サービスパックのインストーラが単数インストーラ形式で配布されることとなる。図２で示すような第一のインストーラ２００および第二のインストーラ２１０は、複数インストーラ形式で配布されたインストーラセットであると言える。
【００２７】
情報処理装置１００が備える各構成について説明する。
【００２８】
インストーラ２００は、アプリケーションソフトウェアのインストール実行するための各種のユーザインターフェースを備え、情報処理装置１００のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。
【００２９】
インストーラ２００は、表示部２０１および制御部２０２を有する。各インストーラを構成するコンポーネントについて説明する。
【００３０】
表示部２０１は、インストーラ２００のユーザインターフェースの構築を行う。また、ＧＵＩを介して、ユーザからの各種入力操作の受け付けを処理する。
【００３１】
制御部２０２は、インストーラ制御に関する処理全般の機能を備える。例えば、ユーザからの各種入力操作の受け付けを基に、図示を省略するアプリケーションソフトウェアのインストール、アンインストール、修復インストールやアプリケーションの設定や構築を行う。また、制御部２０２は、情報処理装置１００のインストーラに関する設定情報を解析する。設定情報とは、例えば、インストーラ情報３００や各インストーラが管理するレジストリ情報３２０等を示す。設定情報の詳細については、図３を用いて後述する。
【００３２】
さらに、制御部２０２は、アプリケーションソフトウェアのインストールに際して、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行する。その処理の一例として、制御部２０２は、情報処理装置のＯＳが提供するデスクトップ画面上に、アプリケーションソフトウェアの起動のためのユーザ入力を受け付けるショートカットを作成する。また処理の他の例として、制御部２０２は、メニュー画面の一覧にアプリケーションソフトウェアを表示させたり、ファイルに対する拡張子の関連付けを行ったりしてもよい。
【００３３】
なお、インストーラ２００は、アプリケーションソフトウェアの基本機能を情報処理装置にインストールするためのインストーラである。また、表示部２１１および制御部２１２を有するインストーラ２１０は、アプリケーションソフトウェアの追加インストールするためのサービスパックのインストーラである。サービスパックのインストーラにおける追加インストールでは、例えば、ベースのインストーラにおける基本機能についてのバグ修正やセキュリティ強化、ベースの機能をバージョンアップした機能の追加などが行われる。一方、図５で後述する実施例２におけるインストーラ２１０は、アプリケーションソフトウェアの追加インストールとして、オプション機能をインストールするためのインストーラとして扱う。オプション機能のインストーラにおいては、ベースの機能には含まれない付帯機能であり、ユーザがカスタマイズして追加可能な機能がインストールされる。サービスパックのインストーラの制御部２１２は、ベースのインストーラの制御部２０２と同様に、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能である。例えば、制御部２１２はショートカット作成の機能などを有している。一方、オプション機能のインストーラの制御部２１２は、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行する機能を有していないため、ショートカットの作成などはできない。
【００３４】
本実施例で説明される処理は、ＲＯＭ１０４またはＨＤＤ１０７に保存されたプログラムが、ＲＡＭ１０３にロードされて、ＣＰＵ１０１で実行されることによって実現される。
【００３５】
［インストーラに関する設定情報］
図３は、インストーラに関する設定情報の一例を示している。
【００３６】
インストーラに関する設定情報には、インストーラが保持するインストーラ情報およびＯＳが保持するレジストリ情報が含まれる。これらの情報は各インストーラのインストール処理において、併用して利用される。
【００３７】
初めに、図３（ａ）で示すインストーラ情報３００について説明する。インストーラ情報３００は、インストーラ２００のインストール処理に必要な設定情報であり、インストーラ２００が保持する情報である。設定情報は、例えばＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３０１やＰｒｏｄｕｃｔＣｏｄｅ３０２、ＵｐｇｒａｄｅＣｏｄｅ等を含む。同様に、図３（ｂ）で示すインストーラ情報３１０は、インストーラ２１０のインストール処理に必要な設定情報であり、インストーラ２１０が保持する情報である。なお、本実施例では、インストーラ情報３１０はインストーラ情報３００と同様の構成であり、重複する情報の説明は省略する。
【００３８】
インストーラ情報３００の各項目について説明する。ＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３０１は、インストーラ２１０がインストール可能なアプリケーションソフトウェアのバージョンを示す。一般的にアプリケーションソフトウェアのバージョンは、メジャーバージョン、マイナーバージョン、リビジョン（サービスパックのバージョン）の３つの値で構成される。例えば、メジャーバージョンの値が「３」、マイナーバージョンの値が「０」、リビジョンの値が「０」であれば、アプリケーションソフトウェアのバージョンは「３．０．０」となる。本実施例におけるＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３０１の値は「３．０．０」であるため、インストーラ２００によってバージョン３．０．０のアプリケーションソフトウェアがインストールされる。また、インストーラ情報３１０のＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１の値は「３．０．１」であるため、インストーラ２１０によってバージョン３．０．１のアプリケーションソフトウェアがインストールされる。
【００３９】
ＰｒｏｄｕｃｔＣｏｄｅ３０２は、アプリケーションソフトウェアの識別などに用いられる固有の番号や文字列である。この値はインストーラ２００によって、レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２２へ書き込まれる。また、一般的に、リリース済みのアプリケーションソフトウェアに適用可能なサービスパックをリリースする場合、ＰｒｏｄｕｃｔＣｏｄｅ３０２およびＵｐｇｒａｄｅＣｏｄｅは変更しない。即ち、サービスパックをインストールした場合、レジストリ情報３２０に書き込まれるＰｒｏｄｕｃｔＣｏｄｅ３２２の値およびＵｐｇｒａｄｅＣｏｄｅの値は変更されない。なお、第二のインストーラ２１０がオプション機能のインストーラである場合、ＰｒｏｄｕｃｔＣｏｄｅやＵｐｇｒａｄｅＣｏｄｅは、第一のインストーラ２００が保持する値と異なる（不図示）。値が異なる場合、第一のインストーラ２００と第二のインストーラ２１０によってインストールされるアプリケーションソフトウェアは、それぞれアップグレードの依存関係がないとことになる。なお、ＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２３およびＰｒｏｄｕｃｔＣｏｄｅ３２４については、実施例２で説明する。
【００４０】
図３を例にまとめると、インストーラ情報３００を有するインストーラ２００はベースであり、インストーラ情報３１０を有するインストーラ２１０は、ベースに対するサービスパックであると言える。
【００４１】
次に、図３（ｃ）で示すレジストリ情報３２０について説明する。レジストリ情報３２０は、情報処理装置１００のＯＳが保持するレジストリ情報一覧の一例を示す。
【００４２】
レジストリ情報３２０は、情報処理装置１００にインストールされているアプリケーションソフトウェアの情報であり、ＲＯＭ１０４に保存されている。例えば、レジストリ情報３２０は、アプリケーションソフトウェアのＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２１やＰｒｏｄｕｃｔＣｏｄｅ３２２、ＵｐｇｒａｄｅＣｏｄｅ、インストールパス等を含む。また、レジストリ情報３２０は複数のアプリケーションソフトウェアを管理する。図３を例にあげると、レジストリ情報３２０は、ベースのアプリケーションソフトウェアとベースに対するオプション機能のアプリケーションソフトウェアの２つのアプリケーションソフトウェアを含む。具体的には、ＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２１、ＰｒｏｄｕｃｔＣｏｄｅ３２２はベースのアプリケーションソフトウェアのレジストリ情報に関する情報である。また、ＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２３、ＰｒｏｄｕｃｔＣｏｄｅ３２４はベースに対するオプション機能のアプリケーションソフトウェアのレジストリ情報に関する情報である。なお、レジストリ情報３２０に含まれる２つのＰｒｏｄｕｃｔＶｅｒｓｉｏｎ、ＰｒｏｄｕｃｔＣｏｄｅにおいて、重複する情報の説明は省略する。
【００４３】
レジストリ情報３２０の各項目について説明する。ＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２１は、情報処理装置１００にインストールされているベースのアプリケーションソフトウェアのバージョンを示す。例えば、ＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２１の値が「３．０．０」であれば、バージョン３．０．０のアプリケーションソフトウェアがインストールされていることになる。
【００４４】
ここで、サービスパックがインストールされている場合は、リビジョンの値が「１」以上となる。したがって、図３（ｃ）で示す例では、リビジョンの値が「０」であるため、サービスパックはインストールされていないと判断できる。
【００４５】
ＰｒｏｄｕｃｔＣｏｄｅ３２２は、アプリケーションソフトウェアの識別などに用いられる固有の番号や文字列である。レジストリ情報３２０にアプリケーションソフトウェアのＰｒｏｄｕｃｔＣｏｄｅ３０２が存在すれば、アプリケーションソフトウェアがインストールされているということになる。
【００４６】
なお、インストーラ情報、および、レジストリ情報が保持する情報は、本実施例に限ったものとしない。
【００４７】
［実施例１における各インストーラの処理］
実施例１では、第一のインストーラ２００と第二のインストーラ２１０が連続実行される場合における課題の解決手法を説明する。なお、実施例１では第一のインストーラ２００をベースのインストーラ、第二のインストーラ２１０をサービスパックのインストーラとして扱う。
【００４８】
まず、実施例１における課題を説明する。ベース用とサービスパック用の２つのインストーラが連続で実行される場合にサービスパックのインストール処理が失敗するケースがある。具体的には、２つのインストーラを連続実行する場合、まず初めにベースのインストーラによって、ＯＳのデスクトップ画面上にショートカットが作成される。その後サービスパックのインストーラが実行されることとなるが、ベースのインストーラ実行が完了した時点でユーザはＯＳのデスクトップ画面上に作成されたショートカットからアプリケーションソフトウェアを起動するための指示をすることができる。ここで、サービスパックのインストーラ実行中にアプリケーションソフトウェアが起動された場合、サービスパックのインストーラはアプリケーションソフトウェアのモジュールを更新できずにインストール処理が失敗することがある。
【００４９】
ここでは前述の課題を解決するためのインストーラ構成に応じたショートカット作成のタイミングの動的な変更手法について説明する。
【００５０】
［実施例１における各インストーラの処理］
図４は、ベースのインストーラ２００およびサービスパックのインストーラ２１０の処理のフローチャートである。図１の情報処理装置１００上で動作するインストーラ２００・２１０を例に処理の流れを説明する。図４に示すフローチャートでは、インストーラにおける動的なショートカット作成処理を実施する手法を示す。また、Ｓ１００１〜Ｓ１０１０の各ステップはインストーラ２００による処理であり、Ｓ１１０１〜Ｓ１１０３の各ステップはインストーラ２１０による処理である。
【００５１】
図４（ａ）は、ベースのインストーラであるインストーラ２００による処理の流れを示すフローチャートである。
【００５２】
インストーラ２００が起動されると、Ｓ１００１にて、制御部２０２はインストーラ２００でインストール可能なアプリケーションソフトウェアが未インストールかを判定する。はい（未インストールである）の場合、Ｓ１００２へ進み、いいえ（未インストールでない）の場合、Ｓ１００３へ進む。
【００５３】
Ｓ１００１における判定のロジックについて具体的に説明する。制御部２０２は、レジストリ情報３２０を取得する。そして制御部２０２は、レジストリ情報３２０とインストーラ情報３００を基に、インストーラ情報３００が保持するＰｒｏｄｕｃｔＣｏｄｅ３０２がレジストリ情報３２０に存在するかを解析する。レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２２にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在する場合、ベースのアプリケーションソフトウェアは未インストールでないと判定し、Ｓ１００３へ進む。一方、レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２２にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在しない場合、または、レジストリ情報３２０が存在しない場合、ベースのアプリケーションソフトウェアは未インストールであると判定し、Ｓ１００２へ進む。
【００５４】
次に、Ｓ１００２にて、制御部２０２はベースのアプリケーションソフトウェアのインストール実行フラグをＯＮにする。
【００５５】
次に、Ｓ１００３にて、複数インストーラ形式のインストーラセットに未インストールのサービスパックが存在するかを判定する。はい（存在する）の場合、Ｓ１００４へ進み、いいえ（存在しない）の場合、Ｓ１００５へ進む。
【００５６】
Ｓ１００３における判定のロジックについて具体的に説明する。初めに制御部２０２は、サービスパックのインストーラ情報３１０を取得する。ここでインストーラ情報３１０が取得できない場合、サービスパックのインストーラ２１０は存在しないと判定し、Ｓ１００５へ進む。次に制御部２０２は、レジストリ情報３２０を取得する。そして制御部２０２は、サービスパックのインストーラ情報３１０とレジストリ情報３２０とを基に、インストーラ情報３１０が保持するＰｒｏｄｕｃｔＣｏｄｅ３１２がレジストリ情報３２０に存在するかを解析する。レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２２にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在しない場合、または、レジストリ情報３２０が存在しない場合、未インストールのサービスパックが存在すると判定し、Ｓ１００４へ進む。一方、レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２２にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在する場合、さらにＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１とＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２１とを比較する。ここでは、例えば、それぞれのリビジョンの値を比較することとなる。比較した結果、ＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１の方が大きい場合、未インストールのサービスパックが存在すると判定し、Ｓ１００４へ進む。一方、ＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１の方が小さい或いは同じ場合、未インストールのサービスパックが存在しないと判定し、Ｓ１００５へ進む。
【００５７】
次に、Ｓ１００４にて、制御部２０２はサービスパックのアプリケーションソフトウェアのインストール実行フラグをＯＮにする。
【００５８】
次に、Ｓ１００５にて、制御部２０２はインストールするアプリケーションソフトウェアが１つ以上存在するかを判定する。ここで、Ｓ１００５における判定のロジックには「ベースのアプリケーションソフトウェアのインストール実行フラグ」と「サービスパックのアプリケーションソフトウェアのインストール実行フラグ」とを用いる。少なくともいずれかのフラグがＯＮであれば、何らかのアプリケーションソフトウェアをインストールすると判定する。はい（存在する）の場合、Ｓ１００６へ進み、いいえ（存在しない）の場合、本フローチャートの処理を終了する。
【００５９】
次に、Ｓ１００６にて、制御部２０２はベースのアプリケーションソフトウェアのインストール実行フラグがＯＮかを判定する。はい（インストール実行フラグがＯＮ）の場合、Ｓ１００７へ進み、いいえ（インストール実行フラグがＯＦＦ）の場合、Ｓ１００８へ進む。
【００６０】
次に、Ｓ１００７にて、制御部２０２はアプリケーションソフトウェアの基本機能をインストールする。Ｓ１００７で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録である。なお、Ｓ１００７で実行されるインストールの完了後には、制御部２０２はショートカットを作成しないものとする。後述するサービスパックのインストーラによる追加機能のインストールの完了後に、ショートカットが作成されることとなる。
【００６１】
次に、Ｓ１００８にて、制御部２０２はサービスパックのアプリケーションソフトウェアのインストール実行フラグがＯＮかを判定する。はい（インストール実行フラグがＯＮ）の場合、Ｓ１００９へ進み、いいえ（インストール実行フラグがＯＦＦ）の場合、Ｓ１０１０へ進む。
【００６２】
次に、Ｓ１００９にて、制御部２０２はサービスパックをインストールするためのインストーラ２１０を起動させ、インストーラ２１０による処理（図４（ｂ））を実行する。つまりＳ１００９では、前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、制御部２０２はインストーラ２１０を起動する。
【００６３】
次に、Ｓ１０１０にて、制御部２０２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ２００の処理を終了する。
【００６４】
図４（ｂ）は、サービスパックのインストーラであるインストーラ２１０による処理の流れを示すフローチャートである。
【００６５】
Ｓ１００９でインストーラ２１０がインストーラ２００によって起動されると、Ｓ１１０１にて、制御部２１２はアプリケーションソフトウェアの追加機能をインストールする。Ｓ１１０１で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であって、ショートカット作成の処理を含まないものとする。
【００６６】
次に、Ｓ１１０２にて、制御部２１２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットが存在するかを判定する。はい（存在する）の場合、インストーラ２１０の処理を終了する。いいえ（存在しない）の場合、Ｓ１１０３へ進む。
【００６７】
次に、Ｓ１１０３にて、制御部２１２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ２１０の処理を終了する。
【００６８】
なお、Ｓ１１０１でのサービスパックのインストール処理が完了した後、サービスパックのインストーラではなくベースのインストーラがショートカットを作成しても良い。
【００６９】
また、事前にベースのアプリケーションソフトウェアのみをインストール済みの場合、すでにＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットが作成されている。しかしながら、ユーザがＯＳのデスクトップ画面上からショートカットを削除していることがある。そのため、サービスパックのインストーラが実行するＳ１１０２、Ｓ１１０３の処理で、ベースのインストーラが作成していたショートカットを修復する必要があるかを判定し、必要があれば修復するようにしてもよい。
【００７０】
以上、インストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明した。これにより、ベース用とサービスパック用の２つのインストーラが連続で実行される場合、ベースのインストーラでショートカットを作成せずに、サービスパックのインストーラでショートカットを作成できるようになる。従って、インストーラの構成に関わらず、ショートカット作成のタイミングが一律してインストール処理の最後に実施されるようになり、ユーザがインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
【００７１】
［実施例２における各インストーラの処理］
実施例２では、第一のインストーラ２００と第二のインストーラ２１０が連続実行される場合における課題の解決手法を説明する。なお、実施例２では第一のインストーラ２００をベースのインストーラ、第二のインストーラ２１０をオプション機能のインストーラとして扱う。
【００７２】
実施例２における課題を説明する。オプション機能のインストーラとはベースのアプリケーションソフトウェアに対し、オプション機能をインストールできるインストーラである。一般的にオプション機能のインストーラは、ベースに対するオプション機能をインストールするだけであり、ベースのアプリケーションソフトウェアのショートカットを作成する処理は存在しない。そのため、実施例１の課題と同様に、ベース用とオプション機能用の２つのインストーラが連続で実行される場合、オプション機能が有効になる前にユーザがアプリケーションソフトウェアを起動してしまう可能性がある。
【００７３】
実施例２では前述の課題を解決するためのインストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明する。
【００７４】
［実施例２における各インストーラの処理］
図５は、ベースのインストーラ２００およびオプション機能のインストーラ２１０の処理のフロー図である。図１の情報処理装置１００上で動作するインストーラ２００・２１０を例に処理の流れを説明する。本フローでは、インストーラにおける動的なショートカット作成処理を実施する手法を示す。また、Ｓ１００１〜Ｓ１０１０の各ステップはインストーラ２００による処理であり、Ｓ１１０１〜Ｓ１１０３の各ステップはインストーラ２１０による処理である。なお、図４に示したフローチャートのステップと重複する部分についての説明を省略する。
【００７５】
図５（ａ）は、ベースのインストーラであるインストーラ２００による処理の流れを示すフローチャートである。
【００７６】
Ｓ２００３にて、複数インストーラ形式のインストーラセットに未インストールのオプション機能が存在するかを判定する。はい（存在する）の場合、Ｓ２００４へ進み、いいえ（存在しない）の場合、Ｓ２００５へ進む。
【００７７】
Ｓ２００３における判定のロジックについて具体的に説明する。初めに制御部２０２は、オプション機能のインストーラ情報３１０を取得する。ここでインストーラ情報３１０が取得できない場合、オプション機能のインストーラ２１０は存在しないと判定し、Ｓ２００５へ進む。次に制御部２０２は、レジストリ情報３２０を取得する。そして制御部２０２は、オプション機能のインストーラ情報３１０とレジストリ情報３２０を基に、インストーラ情報３１０が保持するＰｒｏｄｕｃｔＣｏｄｅ３１２がレジストリ情報３２０に存在するかを解析する。
【００７８】
レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２４にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在しない場合、または、レジストリ情報３２０が存在しない場合、未インストールのオプション機能が存在すると判定し、Ｓ２００４へ進む。一方、レジストリ情報３２０のＰｒｏｄｕｃｔＣｏｄｅ３２４にＰｒｏｄｕｃｔＣｏｄｅ３０２が存在する場合、インストーラ情報３１０のＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１とレジストリ情報３２０のＰｒｏｄｕｃｔＶｅｒｓｉｏｎ３２３とを比較する。ここでは、例えば、それぞれのリビジョンの値を比較することとなる。比較した結果、ＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１の方が大きい場合、未インストールのオプション機能が存在すると判定し、Ｓ２００４へ進む。一方、ＩｎｓｔａｌｌｅｒＶｅｒｓｉｏｎ３１１の方が小さい或いは同じ場合、未インストールのオプション機能が存在しないと判定し、Ｓ２００５へ進む。
【００７９】
次に、Ｓ２００４にて、制御部２０２はオプション機能のアプリケーションソフトウェアのインストール実行フラグをＯＮにする。
【００８０】
次に、Ｓ２００５にて、制御部２０２はインストールするアプリケーションソフトウェアが１つ以上存在するかを判定する。ここで、Ｓ２００５における判定には「ベースのアプリケーションソフトウェアのインストール実行フラグ」と「オプション機能のアプリケーションソフトウェアのインストール実行フラグ」を用いる。何れかのフラグがＯＮであれば、何らかのアプリケーションソフトウェアをインストールすると判定される。はい（存在する）の場合、Ｓ１００６へ進み、いいえ（存在しない）の場合、インストーラ２００の処理を終了する。
【００８１】
次に、Ｓ２００８にて、制御部２０２はオプション機能のアプリケーションソフトウェアのインストール実行フラグがＯＮかを判定する。はい（インストール実行フラグがＯＮ）の場合、Ｓ２００９へ進み、いいえ（インストール実行フラグがＯＦＦ）の場合、Ｓ２０１０へ進む。
【００８２】
次に、Ｓ２００９にて、制御部２０２はオプション機能のアプリケーションソフトウェアをインストールするためのインストーラ２１０を起動させ、インストーラ２１０による処理（図５（ｂ））を実行する。
【００８３】
次に、Ｓ２０１０にて、制御部２０２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ２００の処理を終了する。
【００８４】
図５（ｂ）は、オプション機能のインストーラであるインストーラ２１０による処理の流れを示すフローチャートである。
【００８５】
Ｓ２００９でインストーラ２１０がインストーラ２００によって起動されると、Ｓ２１０１にて、制御部２１２はベースに対して適用可能なオプション機能をインストールし、インストーラ２１０の処理を終了する。Ｓ２１０１で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であって、ショートカット作成の処理を含まないものとする。Ｓ２１０１でのオプション機能のインストール処理が完了した後、Ｓ２０１０でインストーラ２００によってショートカットが作成される。
【００８６】
以上、インストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明した。これにより、ベース用とオプション機能用の２つのインストーラが連続で実行される場合、オプション機能のインストーラが終了した後にベースのインストーラでショートカットを作成できるようになる。従って、インストーラの構成に関わらず、ショートカット作成のタイミングが一律してインストール処理の最後に実施されるようになり、ユーザがインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
【００８７】
［実施例３におけるインストーラの処理］
実施例３では、第二のインストーラ２１０が単体実行される場合における課題の解決手法を説明する。なお、実施例３では第二のインストーラ２１０をサービスパックのインストーラとして扱う。
【００８８】
実施例３における課題を説明する。事前にベースのアプリケーションソフトウェアがインストールされている状態では、ＯＳのデスクトップ画面上にショートカットが作成済みになっている。この状態でサービスパックのインストールのみを単体で実行した場合、ユーザはサービスパックのインストーラ実行中にＯＳのデスクトップ画面上に存在するショートカットから容易にアプリケーションソフトウェアが起動できる。そのため、実施例１や実施例２の課題と同様にサービスパックのインストーラを単体で実行する場合、サービスパックのインストールが完了する前にユーザがアプリケーションソフトウェアを起動してしまう可能性がある。
【００８９】
実施例３では、前述の課題を解決するためのショートカット存在の有無に応じたショートカット作成手法について説明する。
【００９０】
［実施例３における各インストーラの処理］
図６は、サービスパックのインストーラ２１０の処理の流れを示すフローチャートである。図１の情報処理装置１００上で動作するインストーラ２１０を例に処理の流れを説明する。本フローでは、インストーラにおけるショートカット存在の有無に応じたショートカット作成処理を実施する手法を示す。
【００９１】
インストーラ２１０は起動処理が開始されると、Ｓ３００１にて、制御部２１２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットが存在するかを判定する。はい（存在する）の場合、Ｓ３００２へ進み、いいえ（存在しない）の場合、Ｓ３００３へ進む。
【００９２】
次に、Ｓ３００２にて、制御部２１２はＯＳのデスクトップ画面上に存在するアプリケーションソフトウェアのショートカットを削除する。
【００９３】
次に、Ｓ３００３にて、制御部２１２はベースに対して適用可能なサービスパックのアプリケーションソフトウェアをインストールする。Ｓ３００３で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であり、ショートカット作成の処理を含まないものとする。
【００９４】
次に、Ｓ３００４にて、制御部２１２はＯＳのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ２１０の処理を終了する。
【００９５】
なお、Ｓ３００２でショートカットを削除するのではなく、アプリケーションを起動できないことを示すようなショートカットの表示に一時的に変更しても良い。
【００９６】
また、実施例３におけるインストーラ２１０は、サービスパックのインストーラに限ったものとしない。また、実施例３におけるソフトウェア構成は、情報処理装置１００には第一のインストーラ２００を含まずに、第二のインストーラ２１０のみを含んでもよい（不図示）。
【００９７】
以上、ショートカット存在の有無に応じたショートカット作成手法について説明した。これにより、サービスパックのインストーラが単体で実行された場合、サービスパックのインストール中はショートカットが削除され、インストール処理の最後にショートカットが作成されるようになる。そのため、ユーザがサービスパックのインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
【００９８】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００９９】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【図１】
2019046360.tif 000003
【図２】
2019046360.tif 000004
【図３】
2019046360.tif 000005
【図４】
2019046360.tif 000006
【図５】
2019046360.tif 000007
【図６】
2019046360.tif 000008