JP7289940B2 - プログラムのセット、記憶媒体、及び情報処理方法 - Google Patents

プログラムのセット、記憶媒体、及び情報処理方法 Download PDF

Info

Publication number
JP7289940B2
JP7289940B2 JP2022002549A JP2022002549A JP7289940B2 JP 7289940 B2 JP7289940 B2 JP 7289940B2 JP 2022002549 A JP2022002549 A JP 2022002549A JP 2022002549 A JP2022002549 A JP 2022002549A JP 7289940 B2 JP7289940 B2 JP 7289940B2
Authority
JP
Japan
Prior art keywords
installer
application software
installation process
information processing
shortcut
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.)
Active
Application number
JP2022002549A
Other languages
English (en)
Other versions
JP2022036206A (ja
Inventor
洋 布施
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017171179A external-priority patent/JP7013176B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2022002549A priority Critical patent/JP7289940B2/ja
Publication of JP2022036206A publication Critical patent/JP2022036206A/ja
Application granted granted Critical
Publication of JP7289940B2 publication Critical patent/JP7289940B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーションソフトウェアをインストールするためのプログラム、情報処理装置、及び制御方法に関する。
近年、アプリケーションソフトウェアの大規模・複雑化に伴い、1つのアプリケーションソフトウェアを動作させるために複数のインストーラを正しい手順で実行する必要のある製品が増えてきた。しかしながら、ITリテラシーの低いユーザにとって正しい手順でインストーラを実行することは必ずしも容易なことではない。
そこで特許文献1には、サーバーコンピュータにおいて、複数のソフトウェアをインストールする際のインストール順によるコンフリクトチェック(整合性確認)を実施することが記載されている。特許文献1によれば、ユーザはインストーラの実行順序を意識することなく所望のアプリケーションソフトウェアがインストールできるようになる。
特開2012-48410号公報
しかしながら、複数のインストーラを連続実行している際にユーザがインストール中のアプリケーションソフトウェアを起動してしまうと、インストール処理が失敗する場合がある。
例えば、ユーザがサービスパックを含むアプリケーションソフトウェアを購入した場合、製品にはベース用のインストーラ及びサービスパック用のインストーラが同梱されていることがある。一般的にこのような構成のインストーラでは、ベースのインストール処理が完了した後に自動的にサービスパックのインストール処理が開始されることが多い。この場合、ベースのインストール処理が完了した時点でOS(Operating System)のデスクトップ画面上にショートカットが作成される。そのため、サービスパックのインストール中にユーザがショートカットからアプリケーションソフトウェアを容易に起動することが出来てしまう。
ここでユーザがインストール中のアプリケーションソフトウェアを起動した場合、OSによってアプリケーションソフトウェア実行に必要なモジュールはロードされ、ロックされる。そのため、サービスパックのインストーラによるサービスパック用モジュールの更新ができなくなるため、サービスパックのインストール処理が失敗するという問題が発生する。
また、サービスパックのインストーラによる更新ができなかったモジュールを、ソフトウェアの再起動後に更新することも可能である。しかしながら、ユーザがサービスパックを含むアプリケーションソフトウェアを購入したにもかかわらず、そのユーザが「Bug-Fix未適用の製品」や「新機能がまだ存在しないベース機能のみの製品」を一時的にでも使用することは好ましくない。
そこで、本発明は、既にインストールされたアプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる前に、前記インストールされたアプリケーションソフトウェアの起動のための処理を実行させないことを目的とする。
上記課題を解決するために、本発明のプログラムのセットは、情報処理装置により実行可能な少なくとも第1のインストーラを含むプログラムのセットであって、前記第1のインストーラは、アプリケーションソフトウェアをインストールするための第1のインストール処理を前記情報処理装置に行わせ、さらに、前記アプリケーションソフトウェアをアップデートするための第2のインストール処理を行わせるための第2のインストーラが前記プログラムのセットに含まれている場合に、当該第2のインストーラを前記情報処理装置に実行させることを特徴とし、前記プログラムのセットに前記第2のインストーラが含まれていない場合、前記アプリケーションソフトウェアのショートカットは、前記第1のインストール処理が完了した後に作成される一方、前記プログラムのセットに前記第2のインストーラが含まれている場合、前記アプリケーションソフトウェアのショートカットは、前記第1のインストール処理が完了した後に作成されずに前記第2のインストール処理が完了した後に作成される、ことを特徴とする。
本発明により、既にインストールされたアプリケーションソフトウェアについての追加インストールを行うためのインストーラを起動させる前に、前記インストールされたアプリケーションソフトウェアの起動のための処理を実行させないようにすることができる。
ハードウェア構成例を示す図 ソフトウェア構成例を示す図 インストーラに関する設定情報の一例を示す図 実施例1の処理を示すフローチャート 実施例2の処理を示すフローチャート 実施例3の処理を示すフローチャート
本発明では、ユーザがインストーラ実行中に、アプリケーションソフトウェアの起動を防ぐためのショートカット作成方法を実現する。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
[ハードウェア構成]
図1は、本発明の一実施形態におけるハードウェア構成例を示す図である。図1では、コンピュータである情報処理装置100のハードウェア構成例を示している。情報処理装置100は、ユーザ操作入力を受信する入力デバイスであるキーボード105とポインティングデバイス106が設けられている。
キーボード105は、情報処理装置100に対して文字や数字などの情報を入力する装置である。キーボードは、例えば仮名や英文字などを入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
ポインティングデバイス106は、例えばマウスなどを備える。ユーザが、GUI(Graphical User Interface)などを用いて情報処理装置100を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、情報処理装置100が、インストールされたアプリケーションソフトウェアを表すアイコンを表示部102上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、CPU101がアプリケーションソフトウェアを起動させる。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部102を備える。
表示部102は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部102は、キーボードやマウスの入力結果や、インストーラやアプリケーションソフトウェアが提供する画面(例えばユーザインターフェース)等を表示する。
さらに、情報処理装置100は、動作を制御するための手段であるCPU101、RAM103、ROM104、HDD107を備える。本実施形態に特有の動作として、CPU101は、情報処理装置100上では図2に示す複数のインストーラ200・210の動作を制御する。CPU101は、情報処理装置100の各インストーラを実行し、所定のプログラムに従って、各種の演算、情報処理、情報処理装置100全体の制御処理を行う。
RAM103、ROM104、HDD107は本実施形態における各種プログラムや実行情報を保管する。また、DVD/CDに記録されたデータを読み出すためのDVD/CD-ROMドライバ108も設ける。RAM103は、CPU101によりOS(Operating System)や本実施例を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、RAM103には、CPU101がインストーラの起動やシステム内部の処理などを行うためのエリアが確保される。ROM104は、CPU101の各種制御を実行する各種制御プログラム、データ及びパラメータ等を記憶する記憶装置である。
HDD107は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置と、を備える。本実施形態では、HDD107は、ハードディスクを備えるローカルディスクである。なお、HDD107が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。HDD107には、図2に示す複数のインストーラ200・210が記憶されている。また、HDD107には、インターフェイスデバイスI/O109を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、HDD107には、メモリ管理やファイル入出力管理などのクライアントを動作させるための基本アプリケーションソフトウェアであるOSなどが記憶されている。
さらに、外部機器との通信を行うインターフェイスデバイスI/O109を備え、プログラム実行を行うCPU101を備える。なお、周辺機器との接続形態は有線/無線を問わない。インターフェイスデバイスI/O109は、ネットワーク(例えば、LANやインターネット)を介して他の端末(Webサーバ、メールサーバなど)に接続する。インターネットを介した通信を行う場合には、例えば、TCP/IP等のプロトコルが用いられる。
なお、本実施例で説明される処理は、ROM104、またはHDD107に保存されたプログラムや実行情報、一時データをRAM103にロードし、CPU101で実行することによって実現される。
[ソフトウェア構成]
図2は、ソフトウェアの構成例を示す図である。
情報処理装置100は、複数のインストーラ(第一のインストーラ200、第二のインストーラ210)を備える。なお、本実施例では、インストーラ210はインストーラ200と同様の構成であり重複する情報は省略する。
ここで、第一のインストーラ200および第二のインストーラ210は、アプリケーションソフトウェアの制作者によってDVDやCD等に記憶され、或いは、アーカイブファイルに変換されWebページ等にアップロードされることが一般的である。また、インストーラの配布方式は、単数のインストーラを別々に配布する単数インストーラ形式や、複数のインストーラをあわせて配布する複数インストーラ形式の2パターンが存在する。例えば、アプリケーションソフトウェアのサービスパックがリリースされて、ベースとサービスパックの2つのインストーラを1つにまとめて配布する場合、複数インストーラ形式となる。なお、ユーザのPCに既にベースのインストールしており、後にリリースされたサービスパックを追加でインストールする場合には、サービスパックのインストーラが単数インストーラ形式で配布されることとなる。図2で示すような第一のインストーラ200および第二のインストーラ210は、複数インストーラ形式で配布されたインストーラセットであると言える。
情報処理装置100が備える各構成について説明する。
インストーラ200は、アプリケーションソフトウェアのインストール実行するための各種のユーザインターフェースを備え、情報処理装置100のデスクトップ上でユーザからの要求を受け付けて、各機能処理の実行を総括的に管理している。
インストーラ200は、表示部201および制御部202を有する。各インストーラを構成するコンポーネントについて説明する。
表示部201は、インストーラ200のユーザインターフェースの構築を行う。また、GUIを介して、ユーザからの各種入力操作の受け付けを処理する。
制御部202は、インストーラ制御に関する処理全般の機能を備える。例えば、ユーザからの各種入力操作の受け付けを基に、図示を省略するアプリケーションソフトウェアのインストール、アンインストール、修復インストールやアプリケーションの設定や構築を行う。また、制御部202は、情報処理装置100のインストーラに関する設定情報を解析する。設定情報とは、例えば、インストーラ情報300や各インストーラが管理するレジストリ情報320等を示す。設定情報の詳細については、図3を用いて後述する。
さらに、制御部202は、アプリケーションソフトウェアのインストールに際して、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行する。その処理の一例として、制御部202は、情報処理装置のOSが提供するデスクトップ画面上に、アプリケーションソフトウェアの起動のためのユーザ入力を受け付けるショートカットを作成する。また処理の他の例として、制御部202は、メニュー画面の一覧にアプリケーションソフトウェアを表示させたり、ファイルに対する拡張子の関連付けを行ったりしてもよい。
なお、インストーラ200は、アプリケーションソフトウェアの基本機能を情報処理装置にインストールするためのインストーラである。また、表示部211および制御部212を有するインストーラ210は、アプリケーションソフトウェアの追加インストールするためのサービスパックのインストーラである。サービスパックのインストーラにおける追加インストールでは、例えば、ベースのインストーラにおける基本機能についてのバグ修正やセキュリティ強化、ベースの機能をバージョンアップした機能の追加などが行われる。一方、図5で後述する実施例2におけるインストーラ210は、アプリケーションソフトウェアの追加インストールとして、オプション機能をインストールするためのインストーラとして扱う。オプション機能のインストーラにおいては、ベースの機能には含まれない付帯機能であり、ユーザがカスタマイズして追加可能な機能がインストールされる。サービスパックのインストーラの制御部212は、ベースのインストーラの制御部202と同様に、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行可能である。例えば、制御部212はショートカット作成の機能などを有している。一方、オプション機能のインストーラの制御部212は、既にインストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行する機能を有していないため、ショートカットの作成などはできない。
本実施例で説明される処理は、ROM104またはHDD107に保存されたプログラムが、RAM103にロードされて、CPU101で実行されることによって実現される。
[インストーラに関する設定情報]
図3は、インストーラに関する設定情報の一例を示している。
インストーラに関する設定情報には、インストーラが保持するインストーラ情報およびOSが保持するレジストリ情報が含まれる。これらの情報は各インストーラのインストール処理において、併用して利用される。
初めに、図3(a)で示すインストーラ情報300について説明する。インストーラ情報300は、インストーラ200のインストール処理に必要な設定情報であり、インストーラ200が保持する情報である。設定情報は、例えばInstallerVersion301やProductCode302、UpgradeCode等を含む。同様に、図3(b)で示すインストーラ情報310は、インストーラ210のインストール処理に必要な設定情報であり、インストーラ210が保持する情報である。なお、本実施例では、インストーラ情報310はインストーラ情報300と同様の構成であり、重複する情報の説明は省略する。
インストーラ情報300の各項目について説明する。InstallerVersion301は、インストーラ210がインストール可能なアプリケーションソフトウェアのバージョンを示す。一般的にアプリケーションソフトウェアのバージョンは、メジャーバージョン、マイナーバージョン、リビジョン(サービスパックのバージョン)の3つの値で構成される。例えば、メジャーバージョンの値が「3」、マイナーバージョンの値が「0」、リビジョンの値が「0」であれば、アプリケーションソフトウェアのバージョンは「3.0.0」となる。本実施例におけるInstallerVersion301の値は「3.0.0」であるため、インストーラ200によってバージョン3.0.0のアプリケーションソフトウェアがインストールされる。また、インストーラ情報310のInstallerVersion311の値は「3.0.1」であるため、インストーラ210によってバージョン3.0.1のアプリケーションソフトウェアがインストールされる。
ProductCode302は、アプリケーションソフトウェアの識別などに用いられる固有の番号や文字列である。この値はインストーラ200によって、レジストリ情報320のProductCode322へ書き込まれる。また、一般的に、リリース済みのアプリケーションソフトウェアに適用可能なサービスパックをリリースする場合、ProductCode302およびUpgradeCodeは変更しない。即ち、サービスパックをインストールした場合、レジストリ情報320に書き込まれるProductCode322の値およびUpgradeCodeの値は変更されない。なお、第二のインストーラ210がオプション機能のインストーラである場合、ProductCodeやUpgradeCodeは、第一のインストーラ200が保持する値と異なる(不図示)。値が異なる場合、第一のインストーラ200と第二のインストーラ210によってインストールされるアプリケーションソフトウェアは、それぞれアップグレードの依存関係がないとことになる。なお、ProductVersion323およびProductCode324については、実施例2で説明する。
図3を例にまとめると、インストーラ情報300を有するインストーラ200はベースであり、インストーラ情報310を有するインストーラ210は、ベースに対するサービスパックであると言える。
次に、図3(c)で示すレジストリ情報320について説明する。レジストリ情報320は、情報処理装置100のOSが保持するレジストリ情報一覧の一例を示す。
レジストリ情報320は、情報処理装置100にインストールされているアプリケーションソフトウェアの情報であり、ROM104に保存されている。例えば、レジストリ情報320は、アプリケーションソフトウェアのProductVersion321やProductCode322、UpgradeCode、インストールパス等を含む。また、レジストリ情報320は複数のアプリケーションソフトウェアを管理する。図3を例にあげると、レジストリ情報320は、ベースのアプリケーションソフトウェアとベースに対するオプション機能のアプリケーションソフトウェアの2つのアプリケーションソフトウェアを含む。具体的には、ProductVersion321、ProductCode322はベースのアプリケーションソフトウェアのレジストリ情報に関する情報である。また、ProductVersion323、ProductCode324はベースに対するオプション機能のアプリケーションソフトウェアのレジストリ情報に関する情報である。なお、レジストリ情報320に含まれる2つのProductVersion、ProductCodeにおいて、重複する情報の説明は省略する。
レジストリ情報320の各項目について説明する。ProductVersion321は、情報処理装置100にインストールされているベースのアプリケーションソフトウェアのバージョンを示す。例えば、ProductVersion321の値が「3.0.0」であれば、バージョン3.0.0のアプリケーションソフトウェアがインストールされていることになる。
ここで、サービスパックがインストールされている場合は、リビジョンの値が「1」以上となる。したがって、図3(c)で示す例では、リビジョンの値が「0」であるため、サービスパックはインストールされていないと判断できる。
ProductCode322は、アプリケーションソフトウェアの識別などに用いられる固有の番号や文字列である。レジストリ情報320にアプリケーションソフトウェアのProductCode302が存在すれば、アプリケーションソフトウェアがインストールされているということになる。
なお、インストーラ情報、および、レジストリ情報が保持する情報は、本実施例に限ったものとしない。
[実施例1における各インストーラの処理]
実施例1では、第一のインストーラ200と第二のインストーラ210が連続実行される場合における課題の解決手法を説明する。なお、実施例1では第一のインストーラ200をベースのインストーラ、第二のインストーラ210をサービスパックのインストーラとして扱う。
まず、実施例1における課題を説明する。ベース用とサービスパック用の2つのインストーラが連続で実行される場合にサービスパックのインストール処理が失敗するケースがある。具体的には、2つのインストーラを連続実行する場合、まず初めにベースのインストーラによって、OSのデスクトップ画面上にショートカットが作成される。その後サービスパックのインストーラが実行されることとなるが、ベースのインストーラ実行が完了した時点でユーザはOSのデスクトップ画面上に作成されたショートカットからアプリケーションソフトウェアを起動するための指示をすることができる。ここで、サービスパックのインストーラ実行中にアプリケーションソフトウェアが起動された場合、サービスパックのインストーラはアプリケーションソフトウェアのモジュールを更新できずにインストール処理が失敗することがある。
ここでは前述の課題を解決するためのインストーラ構成に応じたショートカット作成のタイミングの動的な変更手法について説明する。
[実施例1における各インストーラの処理]
図4は、ベースのインストーラ200およびサービスパックのインストーラ210の処理のフローチャートである。図1の情報処理装置100上で動作するインストーラ200・210を例に処理の流れを説明する。図4に示すフローチャートでは、インストーラにおける動的なショートカット作成処理を実施する手法を示す。また、S1001~S1010の各ステップはインストーラ200による処理であり、S1101~S1103の各ステップはインストーラ210による処理である。
図4(a)は、ベースのインストーラであるインストーラ200による処理の流れを示すフローチャートである。
インストーラ200が起動されると、S1001にて、制御部202はインストーラ200でインストール可能なアプリケーションソフトウェアが未インストールかを判定する。はい(未インストールである)の場合、S1002へ進み、いいえ(未インストールでない)の場合、S1003へ進む。
S1001における判定のロジックについて具体的に説明する。制御部202は、レジストリ情報320を取得する。そして制御部202は、レジストリ情報320とインストーラ情報300を基に、インストーラ情報300が保持するProductCode302がレジストリ情報320に存在するかを解析する。レジストリ情報320のProductCode322にProductCode302が存在する場合、ベースのアプリケーションソフトウェアは未インストールでないと判定し、S1003へ進む。一方、レジストリ情報320のProductCode322にProductCode302が存在しない場合、または、レジストリ情報320が存在しない場合、ベースのアプリケーションソフトウェアは未インストールであると判定し、S1002へ進む。
次に、S1002にて、制御部202はベースのアプリケーションソフトウェアのインストール実行フラグをONにする。
次に、S1003にて、複数インストーラ形式のインストーラセットに未インストールのサービスパックが存在するかを判定する。はい(存在する)の場合、S1004へ進み、いいえ(存在しない)の場合、S1005へ進む。
S1003における判定のロジックについて具体的に説明する。初めに制御部202は、サービスパックのインストーラ情報310を取得する。ここでインストーラ情報310が取得できない場合、サービスパックのインストーラ210は存在しないと判定し、S1005へ進む。次に制御部202は、レジストリ情報320を取得する。そして制御部202は、サービスパックのインストーラ情報310とレジストリ情報320とを基に、インストーラ情報310が保持するProductCode312がレジストリ情報320に存在するかを解析する。レジストリ情報320のProductCode322にProductCode302が存在しない場合、または、レジストリ情報320が存在しない場合、未インストールのサービスパックが存在すると判定し、S1004へ進む。一方、レジストリ情報320のProductCode322にProductCode302が存在する場合、さらにInstallerVersion311とProductVersion321とを比較する。ここでは、例えば、それぞれのリビジョンの値を比較することとなる。比較した結果、InstallerVersion311の方が大きい場合、未インストールのサービスパックが存在すると判定し、S1004へ進む。一方、InstallerVersion311の方が小さい或いは同じ場合、未インストールのサービスパックが存在しないと判定し、S1005へ進む。
次に、S1004にて、制御部202はサービスパックのアプリケーションソフトウェアのインストール実行フラグをONにする。
次に、S1005にて、制御部202はインストールするアプリケーションソフトウェアが1つ以上存在するかを判定する。ここで、S1005における判定のロジックには「ベースのアプリケーションソフトウェアのインストール実行フラグ」と「サービスパックのアプリケーションソフトウェアのインストール実行フラグ」とを用いる。少なくともいずれかのフラグがONであれば、何らかのアプリケーションソフトウェアをインストールすると判定する。はい(存在する)の場合、S1006へ進み、いいえ(存在しない)の場合、本フローチャートの処理を終了する。
次に、S1006にて、制御部202はベースのアプリケーションソフトウェアのインストール実行フラグがONかを判定する。はい(インストール実行フラグがON)の場合、S1007へ進み、いいえ(インストール実行フラグがOFF)の場合、S1008へ進む。
次に、S1007にて、制御部202はアプリケーションソフトウェアの基本機能をインストールする。S1007で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録である。なお、S1007で実行されるインストールの完了後には、制御部202はショートカットを作成しないものとする。後述するサービスパックのインストーラによる追加機能のインストールの完了後に、ショートカットが作成されることとなる。
次に、S1008にて、制御部202はサービスパックのアプリケーションソフトウェアのインストール実行フラグがONかを判定する。はい(インストール実行フラグがON)の場合、S1009へ進み、いいえ(インストール実行フラグがOFF)の場合、S1010へ進む。
次に、S1009にて、制御部202はサービスパックをインストールするためのインストーラ210を起動させ、インストーラ210による処理(図4(b))を実行する。つまりS1009では、前記アプリケーションソフトウェアのインストールに際して、該インストールされたアプリケーションソフトウェアの起動のためのユーザ入力を受け付け可能にする処理を実行することなく、制御部202はインストーラ210を起動する。
次に、S1010にて、制御部202はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ200の処理を終了する。
図4(b)は、サービスパックのインストーラであるインストーラ210による処理の流れを示すフローチャートである。
S1009でインストーラ210がインストーラ200によって起動されると、S1101にて、制御部212はアプリケーションソフトウェアの追加機能をインストールする。S1101で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であって、ショートカット作成の処理を含まないものとする。
次に、S1102にて、制御部212はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットが存在するかを判定する。はい(存在する)の場合、インストーラ210の処理を終了する。いいえ(存在しない)の場合、S1103へ進む。
次に、S1103にて、制御部212はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ210の処理を終了する。
なお、S1101でのサービスパックのインストール処理が完了した後、サービスパックのインストーラではなくベースのインストーラがショートカットを作成しても良い。
また、事前にベースのアプリケーションソフトウェアのみをインストール済みの場合、すでにOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットが作成されている。しかしながら、ユーザがOSのデスクトップ画面上からショートカットを削除していることがある。そのため、サービスパックのインストーラが実行するS1102、S1103の処理で、ベースのインストーラが作成していたショートカットを修復する必要があるかを判定し、必要があれば修復するようにしてもよい。
以上、インストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明した。これにより、ベース用とサービスパック用の2つのインストーラが連続で実行される場合、ベースのインストーラでショートカットを作成せずに、サービスパックのインストーラでショートカットを作成できるようになる。従って、インストーラの構成に関わらず、ショートカット作成のタイミングが一律してインストール処理の最後に実施されるようになり、ユーザがインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
[実施例2における各インストーラの処理]
実施例2では、第一のインストーラ200と第二のインストーラ210が連続実行される場合における課題の解決手法を説明する。なお、実施例2では第一のインストーラ200をベースのインストーラ、第二のインストーラ210をオプション機能のインストーラとして扱う。
実施例2における課題を説明する。オプション機能のインストーラとはベースのアプリケーションソフトウェアに対し、オプション機能をインストールできるインストーラである。一般的にオプション機能のインストーラは、ベースに対するオプション機能をインストールするだけであり、ベースのアプリケーションソフトウェアのショートカットを作成する処理は存在しない。そのため、実施例1の課題と同様に、ベース用とオプション機能用の2つのインストーラが連続で実行される場合、オプション機能が有効になる前にユーザがアプリケーションソフトウェアを起動してしまう可能性がある。
実施例2では前述の課題を解決するためのインストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明する。
[実施例2における各インストーラの処理]
図5は、ベースのインストーラ200およびオプション機能のインストーラ210の処理のフロー図である。図1の情報処理装置100上で動作するインストーラ200・210を例に処理の流れを説明する。本フローでは、インストーラにおける動的なショートカット作成処理を実施する手法を示す。また、S1001~S1010の各ステップはインストーラ200による処理であり、S1101~S1103の各ステップはインストーラ210による処理である。なお、図4に示したフローチャートのステップと重複する部分についての説明を省略する。
図5(a)は、ベースのインストーラであるインストーラ200による処理の流れを示すフローチャートである。
S2003にて、複数インストーラ形式のインストーラセットに未インストールのオプション機能が存在するかを判定する。はい(存在する)の場合、S2004へ進み、いいえ(存在しない)の場合、S2005へ進む。
S2003における判定のロジックについて具体的に説明する。初めに制御部202は、オプション機能のインストーラ情報310を取得する。ここでインストーラ情報310が取得できない場合、オプション機能のインストーラ210は存在しないと判定し、S2005へ進む。次に制御部202は、レジストリ情報320を取得する。そして制御部202は、オプション機能のインストーラ情報310とレジストリ情報320を基に、インストーラ情報310が保持するProductCode312がレジストリ情報320に存在するかを解析する。
レジストリ情報320のProductCode324にProductCode302が存在しない場合、または、レジストリ情報320が存在しない場合、未インストールのオプション機能が存在すると判定し、S2004へ進む。一方、レジストリ情報320のProductCode324にProductCode302が存在する場合、インストーラ情報310のInstallerVersion311とレジストリ情報320のProductVersion323とを比較する。ここでは、例えば、それぞれのリビジョンの値を比較することとなる。比較した結果、InstallerVersion311の方が大きい場合、未インストールのオプション機能が存在すると判定し、S2004へ進む。一方、InstallerVersion311の方が小さい或いは同じ場合、未インストールのオプション機能が存在しないと判定し、S2005へ進む。
次に、S2004にて、制御部202はオプション機能のアプリケーションソフトウェアのインストール実行フラグをONにする。
次に、S2005にて、制御部202はインストールするアプリケーションソフトウェアが1つ以上存在するかを判定する。ここで、S2005における判定には「ベースのアプリケーションソフトウェアのインストール実行フラグ」と「オプション機能のアプリケーションソフトウェアのインストール実行フラグ」を用いる。何れかのフラグがONであれば、何らかのアプリケーションソフトウェアをインストールすると判定される。はい(存在する)の場合、S1006へ進み、いいえ(存在しない)の場合、インストーラ200の処理を終了する。
次に、S2008にて、制御部202はオプション機能のアプリケーションソフトウェアのインストール実行フラグがONかを判定する。はい(インストール実行フラグがON)の場合、S2009へ進み、いいえ(インストール実行フラグがOFF)の場合、S2010へ進む。
次に、S2009にて、制御部202はオプション機能のアプリケーションソフトウェアをインストールするためのインストーラ210を起動させ、インストーラ210による処理(図5(b))を実行する。
次に、S2010にて、制御部202はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ200の処理を終了する。
図5(b)は、オプション機能のインストーラであるインストーラ210による処理の流れを示すフローチャートである。
S2009でインストーラ210がインストーラ200によって起動されると、S2101にて、制御部212はベースに対して適用可能なオプション機能をインストールし、インストーラ210の処理を終了する。S2101で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であって、ショートカット作成の処理を含まないものとする。S2101でのオプション機能のインストール処理が完了した後、S2010でインストーラ200によってショートカットが作成される。
以上、インストーラ構成に応じたショートカット作成タイミングの動的な変更手法について説明した。これにより、ベース用とオプション機能用の2つのインストーラが連続で実行される場合、オプション機能のインストーラが終了した後にベースのインストーラでショートカットを作成できるようになる。従って、インストーラの構成に関わらず、ショートカット作成のタイミングが一律してインストール処理の最後に実施されるようになり、ユーザがインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
[実施例3におけるインストーラの処理]
実施例3では、第二のインストーラ210が単体実行される場合における課題の解決手法を説明する。なお、実施例3では第二のインストーラ210をサービスパックのインストーラとして扱う。
実施例3における課題を説明する。事前にベースのアプリケーションソフトウェアがインストールされている状態では、OSのデスクトップ画面上にショートカットが作成済みになっている。この状態でサービスパックのインストールのみを単体で実行した場合、ユーザはサービスパックのインストーラ実行中にOSのデスクトップ画面上に存在するショートカットから容易にアプリケーションソフトウェアが起動できる。そのため、実施例1や実施例2の課題と同様にサービスパックのインストーラを単体で実行する場合、サービスパックのインストールが完了する前にユーザがアプリケーションソフトウェアを起動してしまう可能性がある。
実施例3では、前述の課題を解決するためのショートカット存在の有無に応じたショートカット作成手法について説明する。
[実施例3における各インストーラの処理]
図6は、サービスパックのインストーラ210の処理の流れを示すフローチャートである。図1の情報処理装置100上で動作するインストーラ210を例に処理の流れを説明する。本フローでは、インストーラにおけるショートカット存在の有無に応じたショートカット作成処理を実施する手法を示す。
インストーラ210は起動処理が開始されると、S3001にて、制御部212はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットが存在するかを判定する。はい(存在する)の場合、S3002へ進み、いいえ(存在しない)の場合、S3003へ進む。
次に、S3002にて、制御部212はOSのデスクトップ画面上に存在するアプリケーションソフトウェアのショートカットを削除する。
次に、S3003にて、制御部212はベースに対して適用可能なサービスパックのアプリケーションソフトウェアをインストールする。S3003で実行されるインストール処理は、アプリケーションソフトウェアのファイルコピーやレジストリ登録の処理であり、ショートカット作成の処理を含まないものとする。
次に、S3004にて、制御部212はOSのデスクトップ画面上にアプリケーションソフトウェアのショートカットを作成し、インストーラ210の処理を終了する。
なお、S3002でショートカットを削除するのではなく、アプリケーションを起動できないことを示すようなショートカットの表示に一時的に変更しても良い。
また、実施例3におけるインストーラ210は、サービスパックのインストーラに限ったものとしない。また、実施例3におけるソフトウェア構成は、情報処理装置100には第一のインストーラ200を含まずに、第二のインストーラ210のみを含んでもよい(不図示)。
以上、ショートカット存在の有無に応じたショートカット作成手法について説明した。これにより、サービスパックのインストーラが単体で実行された場合、サービスパックのインストール中はショートカットが削除され、インストール処理の最後にショートカットが作成されるようになる。そのため、ユーザがサービスパックのインストール中にショートカットからアプリケーションソフトウェアを起動することがなくなる。その結果、インストール中におけるアプリケーションソフトウェアの起動操作を抑止することができるようになる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。

Claims (7)

  1. 情報処理装置により実行可能な少なくとも第1のインストーラを含むプログラムのセットであって、
    前記第1のインストーラは、アプリケーションソフトウェアをインストールするための第1のインストール処理を前記情報処理装置に行わせ、さらに、前記アプリケーションソフトウェアをアップデートするための第2のインストール処理を行わせるための第2のインストーラが前記プログラムのセットに含まれている場合に、当該第2のインストーラを前記情報処理装置に実行させることを特徴とし、
    前記プログラムのセットに前記第2のインストーラが含まれていない場合、前記アプリケーションソフトウェアのショートカットは、前記第1のインストール処理が完了した後に作成される一方、
    前記プログラムのセットに前記第2のインストーラが含まれている場合、前記アプリケーションソフトウェアのショートカットは、前記第1のインストール処理が完了した後に作成されずに前記第2のインストール処理が完了した後に作成される、
    ことを特徴とするプログラムのセット。
  2. 前記第1のインストーラは、アプリケーションソフトウェアをインストールするための第1のインストール処理を前記情報処理装置に行わせ、さらに、未実行の前記第2のインストール処理を行わせるための第2のインストーラが前記プログラムのセットに含まれている場合に、当該第2のインストーラを前記情報処理装置に実行させる、ことを特徴とする請求項1に記載のプログラムのセット。
  3. 前記アプリケーションソフトウェアをアップデートするための前記第2のインストール処理では、前記第1のインストール処理によりインストールされたアプリケーションソフトウェアに対して、バグ修正、セキュリティ強化、および機能の追加、の少なくともいずれかが行われる、ことを特徴とする請求項1または2に記載のプログラムのセット。
  4. 前記プログラムのセットに前記第2のインストーラが含まれていない場合、前記第1のインストーラが、前記第1のインストール処理が完了した後に、前記アプリケーションソフトウェアのショートカットを作成させ、
    前記プログラムのセットに前記第2のインストーラが含まれている場合、前記第1のインストーラは、前記第1のインストール処理が完了した後に、前記アプリケーションソフトウェアのショートカットを作成せずに、前記第2のインストーラを前記情報処理装置に実行させて、前記第2のインストーラが、前記第2のインストール処理が完了した後に前記アプリケーションソフトウェアのショートカットを作成させる、
    ことを特徴とする請求項1乃至3のいずれか1項に記載のプログラムのセット。
  5. 前記プログラムのセットに前記第2のインストーラが含まれていない場合、前記第1のインストーラは、前記第1のインストール処理が完了した後に、前記アプリケーションソフトウェアのショートカットを作成させる一方、
    前記プログラムのセットに前記第2のインストーラが含まれている場合、前記第1のインストーラは、前記第1のインストール処理が完了した後に、前記アプリケーションソフトウェアのショートカットを作成せずに、前記第2のインストーラを前記情報処理装置に実行させることによって前記第2のインストール処理が完了した後に、前記アプリケーションソフトウェアのショートカットを作成させる、
    ことを特徴とする請求項1に記載のプログラムのセット。
  6. 請求項1乃至5のいずれか1項に記載のプログラムのセットを記憶した、コンピューター読み出し可能な記憶媒体。
  7. 少なくとも第1のインストーラを含むプログラムのセットを情報処理装置が実行することにより行われる情報処理方法であって、
    前記情報処理装置が前記第1のインストーラを実行することにより、アプリケーションソフトウェアをインストールするための第1のインストール処理を行うステップと、
    前記アプリケーションソフトウェアをアップデートするための第2のインストール処理を行わせるための第2のインストーラが前記プログラムのセットに含まれている場合に、前記情報処理装置が前記第2のインストーラを実行することにより、前記インストールされたアプリケーションソフトウェアをアップデートするための第2のインストール処理を行うステップと、を含み、
    前記プログラムのセットに前記第2のインストーラが含まれていない場合、前記情報処理装置は、前記第1のインストール処理が完了した後に前記アプリケーションソフトウェアのショートカットを作成し、
    前記プログラムのセットに前記第2のインストーラが含まれている場合、前記情報処理装置は、前記第1のインストール処理が完了した後には前記アプリケーションソフトウェアのショートカットを作成せずに、前記第2のインストール処理が完了した後に前記アプリケーションソフトウェアのショートカットを作成する、
    ことを特徴とする情報処理方法。
JP2022002549A 2017-09-06 2022-01-11 プログラムのセット、記憶媒体、及び情報処理方法 Active JP7289940B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022002549A JP7289940B2 (ja) 2017-09-06 2022-01-11 プログラムのセット、記憶媒体、及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017171179A JP7013176B2 (ja) 2017-09-06 2017-09-06 プログラム、情報処理装置、及び制御方法
JP2022002549A JP7289940B2 (ja) 2017-09-06 2022-01-11 プログラムのセット、記憶媒体、及び情報処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017171179A Division JP7013176B2 (ja) 2017-09-06 2017-09-06 プログラム、情報処理装置、及び制御方法

Publications (2)

Publication Number Publication Date
JP2022036206A JP2022036206A (ja) 2022-03-04
JP7289940B2 true JP7289940B2 (ja) 2023-06-12

Family

ID=87846667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022002549A Active JP7289940B2 (ja) 2017-09-06 2022-01-11 プログラムのセット、記憶媒体、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP7289940B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214247A (ja) 2012-04-03 2013-10-17 Canon Inc 情報処理装置、制御方法、およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818734B2 (en) * 2005-01-21 2010-10-19 Callwave, Inc. Methods and systems for transferring data over a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214247A (ja) 2012-04-03 2013-10-17 Canon Inc 情報処理装置、制御方法、およびプログラム

Also Published As

Publication number Publication date
JP2022036206A (ja) 2022-03-04

Similar Documents

Publication Publication Date Title
JP5796755B2 (ja) プリヒート型ソフトウェアインストレーション
US10558405B2 (en) Information processing apparatus and driver customizing method
KR20130140777A (ko) 시스템 리셋
Bott et al. Windows 10 inside out
CN107533425A (zh) 跨平台命令可扩展性
JP4810282B2 (ja) モジュールインストール方法、モジュールインストール装置、及びプログラム
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
EP3115917B1 (en) Information processing apparatus, method, and program
US10402035B1 (en) Content-driven orchestration of multiple rendering components in user interfaces of electronic devices
US10514940B2 (en) Virtual application package reconstruction
JP7691624B2 (ja) 情報処理システム、処理方法及びプログラム
CN112106025B (zh) 用于提供软件平台的服务器和运行服务器的方法
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
JP7289940B2 (ja) プログラムのセット、記憶媒体、及び情報処理方法
JP5720531B2 (ja) ヘルプ作成支援装置、ヘルプ作成支援プログラムおよびヘルプ作成支援方法
JP7013176B2 (ja) プログラム、情報処理装置、及び制御方法
TW201530432A (zh) 多重作業環境服務的管理系統及管理方法
US20030028868A1 (en) Information processor, method for processing information and computer-readable recording medium recorded with program code for controlling a computer to process information
US7702890B2 (en) Information processing apparatus and program
US20260119287A1 (en) Managing lifecycle information, such as automated bulk branching, method, and system
JP5420581B2 (ja) アプリケーション開発支援装置及び方法
EP4298504B1 (en) Operating system partitioning of different users for single-user applications
JP2014099082A (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
JP2008250382A (ja) コンピュータプログラム、情報処理装置および情報処理方法
Heesen Setting up the R Development Environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230531

R151 Written notification of patent or utility model registration

Ref document number: 7289940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151