[go: up one dir, main page]

JP7019968B2 - Information processing program, information processing device and information processing method - Google Patents

Information processing program, information processing device and information processing method Download PDF

Info

Publication number
JP7019968B2
JP7019968B2 JP2017106453A JP2017106453A JP7019968B2 JP 7019968 B2 JP7019968 B2 JP 7019968B2 JP 2017106453 A JP2017106453 A JP 2017106453A JP 2017106453 A JP2017106453 A JP 2017106453A JP 7019968 B2 JP7019968 B2 JP 7019968B2
Authority
JP
Japan
Prior art keywords
user
unit
update
program
main body
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
JP2017106453A
Other languages
Japanese (ja)
Other versions
JP2018205798A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017106453A priority Critical patent/JP7019968B2/en
Publication of JP2018205798A publication Critical patent/JP2018205798A/en
Application granted granted Critical
Publication of JP7019968B2 publication Critical patent/JP7019968B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、情報処理プログラム、情報処理装置および情報処理方法に関する。 The present invention relates to an information processing program, an information processing apparatus and an information processing method.

従来から、クライアントコンピュータに搭載されるソフトウェアプログラム(以下、ソフトウェアと略称する)の更新を行うためのプログラムであるアップデートインストーラを、クライアントコンピュータとネットワークを介して接続可能なファイルサーバや管理用コンピュータなどに配置することが行われている。クライアントコンピュータは、このアップデートインストーラの配置場所を例えば定期的に確認し、搭載されるソフトウェアのバージョンアップなどが必要な場合に、アップデートインストーラを当該配置場所からダウンロードしてクライアントコンピュータ上で実行させ、ソフトウェアの更新(アップデートインストール)を行うことができる。これは、例えば社内の複数のクライアントコンピュータに搭載されるソフトウェアのバージョンや構成を揃えるような場合に、有用である。 Conventionally, an update installer, which is a program for updating software programs (hereinafter abbreviated as software) installed in client computers, is applied to file servers and management computers that can be connected to client computers via a network. Placement is being done. The client computer periodically checks the location of this update installer, and if it is necessary to upgrade the installed software, download the update installer from the location and run it on the client computer to run the software. Can be updated (update installation). This is useful, for example, when the software versions and configurations installed in a plurality of client computers in the company are aligned.

特許文献1には、ユーザコンピュータが管理者コンピュータから送信された配布情報を受信し、受信した配布情報に基づき、管理者コンピュータからプラグイン本体を受信してインストールする技術が開示されている。 Patent Document 1 discloses a technique in which a user computer receives distribution information transmitted from an administrator computer, and based on the received distribution information, receives and installs a plug-in main body from the administrator computer.

ところで、コンピュータに搭載されるオペレーティングシステム(OS)によっては、アップデートインストーラによるアップデートインストール時に、対象のコンピュータの管理者情報の入力や、処理の続行確認などのアクションがユーザに求められる場合がある。この場合において、ユーザが管理者情報を知らない場合、当該アクションがキャンセルされアップデートインストールが行われないおそれがあるという問題点があった。 By the way, depending on the operating system (OS) installed in the computer, the user may be required to take actions such as inputting the administrator information of the target computer and confirming the continuation of the process when the update is installed by the update installer. In this case, if the user does not know the administrator information, there is a problem that the action may be canceled and the update installation may not be performed.

本発明は、上記に鑑みてなされたものであって、ソフトウェアのアップデートインストール処理時にユーザに要求されるアクションを抑制可能とすることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to make it possible to suppress an action required by a user during a software update installation process.

上述した課題を解決し、目的を達成するために、本発明は、システム権限で実行される第1プロセスと、ユーザ権限で実行される第2プロセスと、をコンピュータに実行させるための情報処理プログラムであって、実行時にシステム権限が必要なプロセスをコンピュータに実行させるためのプログラムの起動を指示する起動指示を第1プロセスに通知する、第2プロセスに含まれる通知ステップと、通知ステップによる通知に応じて、該第1プロセスを介して起動された場合に該システム権限が継承される第1プロセスによりプログラムを起動させる起動ステップと、前記第2プロセスを実行させているユーザのユーザ情報を管理する、前記第1プロセスに含まれる管理ステップと、をコンピュータに実行させ、前記通知ステップは、前記起動指示を前記第1プロセスに通知する際に、前記管理ステップに対して、当該通知ステップの実行に係るユーザ以外の他のユーザにより前記第2プロセスが実行されているか否かを問い合わせ、該問い合わせの結果、前記第2プロセスを実行させている該他のユーザが存在しないとされた場合に、前記起動指示を前記第1プロセスに通知するための情報処理プログラムである。 In order to solve the above-mentioned problems and achieve the object, the present invention is an information processing program for causing a computer to execute a first process executed with system authority and a second process executed with user authority. In addition, the notification step included in the second process and the notification step that notify the first process of the start instruction instructing the computer to start the process for causing the computer to execute the process that requires system authority at the time of execution. Accordingly, it manages the start step of starting the program by the first process to which the system authority is inherited when it is started via the first process, and the user information of the user who is executing the second process. , The management step included in the first process, and the notification step are used to execute the notification step for the management step when notifying the first process of the activation instruction. When an inquiry is made as to whether or not the second process is being executed by a user other than the user concerned, and as a result of the inquiry, it is determined that the other user who is executing the second process does not exist. This is an information processing program for notifying the first process of an activation instruction .

本発明によれば、ソフトウェアのアップデートインストール処理時にユーザに要求されるアクションを抑制できるという効果を奏する。 According to the present invention, there is an effect that the action required for the user during the software update installation process can be suppressed.

図1は、実施形態に適用可能なシステム構成の例を示すブロック図である。FIG. 1 is a block diagram showing an example of a system configuration applicable to the embodiment. 図2は、実施形態に適用可能なクライアントPCのハードウェア構成の例を示すブロック図である。FIG. 2 is a block diagram showing an example of a hardware configuration of a client PC applicable to the embodiment. 図3は、既存技術による、UACによるポップアップ表示画面の例を示す図である。FIG. 3 is a diagram showing an example of a pop-up display screen by UAC by the existing technology. 図4は、実施形態に係る情報処理プログラムとしての支援ソフトウェアの構成の例を示すブロック図である。FIG. 4 is a block diagram showing an example of the configuration of the support software as the information processing program according to the embodiment. 図5は、実施形態に係る支援ソフトウェアを起動させた場合のクライアントPCの機能を説明するための一例の機能ブロック図である。FIG. 5 is a functional block diagram of an example for explaining the function of the client PC when the support software according to the embodiment is activated. 図6は、実施形態に係る支援ソフトウェアの動作を示す一例のフローチャートである。FIG. 6 is an example flowchart showing the operation of the support software according to the embodiment. 図7は、実施形態に係るアップデートインストール処理をより詳細に説明するためのブロック図である。FIG. 7 is a block diagram for explaining the update installation process according to the embodiment in more detail. 図8は、実施形態に適用可能な、アップデートインストール処理の実行状況を示す進捗表示画面の例を示す図である。FIG. 8 is a diagram showing an example of a progress display screen showing an execution status of the update installation process, which is applicable to the embodiment. 図9は、現在他のユーザが本体ユーザプロセス部を起動しているか否かを判定する処理を説明するためのブロック図である。FIG. 9 is a block diagram for explaining a process of determining whether or not another user is currently activating the main body user process unit.

以下に添付図面を参照して、情報処理プログラム、情報処理装置および情報処理方法の実施形態を詳細に説明する。 Hereinafter, embodiments of an information processing program, an information processing apparatus, and an information processing method will be described in detail with reference to the accompanying drawings.

図1は、実施形態に適用可能なシステム構成の例を示す。図1において、ネットワークシステム1は、それぞれネットワーク2に接続されるクライアントコンピュータ(クライアントPC)10a、10b、…と、ファイルサーバ20とを含む。ネットワーク2は、画像形成装置21など他の情報機器がさらに接続されていてもよい。 FIG. 1 shows an example of a system configuration applicable to an embodiment. In FIG. 1, the network system 1 includes client computers (client PCs) 10a, 10b, ..., And a file server 20, which are connected to the network 2, respectively. The network 2 may be further connected to other information devices such as the image forming apparatus 21.

各クライアントPC10a、10b、…は、所定のソフトウェアプログラムが共通に搭載されるものとする。以下、「ソフトウェアプログラム」を「ソフトウェア」と略称し、この、各クライアントPC10a、10b、…に共通して搭載される所定のソフトウェアを、特定ソフトウェアと呼ぶ。ファイルサーバ20は、各クライアントPC10a、10b、…に搭載される特定ソフトウェアの更新(アップデートインストール)を行うためのアップデートインストーラが配置される。なお、ソフトウェアの配置とは、ソフトウェアを構成する1以上のファイルを所定のフォルダに格納することをいう。また、アップデートインストーラは、UI表示などを行わないサイレントモードでの実行が可能とされている。 It is assumed that a predetermined software program is commonly mounted on each of the client PCs 10a, 10b, .... Hereinafter, the "software program" is abbreviated as "software", and the predetermined software commonly installed in the client PCs 10a, 10b, ... Is referred to as specific software. The file server 20 is arranged with an update installer for updating (update installation) specific software mounted on each client PC 10a, 10b, .... Note that the placement of software means storing one or more files constituting the software in a predetermined folder. In addition, the update installer can be executed in silent mode without displaying the UI.

ここで、特定ソフトウェアに対応するアップデートインストーラは、例えば最新バージョンの特定ソフトウェアが同梱または内包される。より具体的には、特定ソフトウェアに対応するアップデートインストーラは、アップデートインストーラによるアップデートインストール処理を支援する、実施形態に係る支援ソフトウェア(詳細は後述する)を内包し、支援ソフトウェアは、特定ソフトウェアを内包する。アップデートインストーラが支援ソフトウェアに対するアップデートインストール処理を行うことで、特定ソフトウェアのアップデートインストール処理も行われる。また、アップデートインストーラおよび支援ソフトウェアは、バージョンを共通としている。 Here, the update installer corresponding to the specific software includes, for example, the latest version of the specific software. More specifically, the update installer corresponding to the specific software includes the support software (details will be described later) according to the embodiment that supports the update installation process by the update installer, and the support software includes the specific software. .. When the update installer performs the update installation process for the support software, the update installation process for the specific software is also performed. In addition, the update installer and support software have the same version.

画像形成装置21は、プリント機能を有するプリンタ装置であってもよいし、プリント機能、スキャナ機能、コピー機能、FAX機能といった複数の機能を1台の筐体で実現した複合機であってもよい。例えば各クライアントPC10a、10b、…は、この画像形成装置21に対応するドライバプログラムがそれぞれ搭載される。各クライアントPC10a、10b、…は、搭載されるドライバプログラムにより、画像形成装置21の機能を利用することができる。 The image forming apparatus 21 may be a printer apparatus having a print function, or may be a multifunction device that realizes a plurality of functions such as a print function, a scanner function, a copy function, and a fax function in one housing. .. For example, each client PC 10a, 10b, ... Is equipped with a driver program corresponding to the image forming apparatus 21. Each client PC 10a, 10b, ... Can utilize the function of the image forming apparatus 21 by the installed driver program.

図2は、実施形態に適用可能なクライアントPC10a、10b、…のハードウェア構成の例を示す。なお、クライアントPC10a、10b、…は、同様の構成で実現可能であるため、以下では、特に記載の無い限り、クライアントPC10a、10b、…をクライアントPC10aで代表させて説明を行う。 FIG. 2 shows an example of the hardware configuration of the client PCs 10a, 10b, ... Applicable to the embodiment. Since the client PCs 10a, 10b, ... Can be realized with the same configuration, the client PCs 10a, 10b, ... Will be represented below by the client PC 10a unless otherwise specified.

図2において、クライアントPC10aは、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、グラフィクスI/F(インタフェース)1003と、ストレージ1004と、データI/F1005と、通信I/F1006とを備え、これら各部がバス1010により互いに通信可能に接続される。 In FIG. 2, the client PC 10a includes a CPU (Central Processing Unit) 1000, a ROM (Read Only Memory) 1001, a RAM (Random Access Memory) 1002, a graphics I / F (interface) 1003, a storage 1004, and data. The I / F 1005 and the communication I / F 1006 are provided, and each of these parts is communicably connected to each other by the bus 1010.

ストレージ1004は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ1004は、CPU1000が動作するためのプログラムやデータが記憶される。例えば上述した特定ソフトウェアを構成するプログラムは、このストレージ1004に記憶される。 The storage 1004 is a storage medium for storing data non-volatilely, and a hard disk drive or a flash memory can be applied. The storage 1004 stores programs and data for operating the CPU 1000. For example, the program constituting the above-mentioned specific software is stored in the storage 1004.

CPU1000は、例えば、ROM1001やストレージ1004に予め記憶されたプログラムに従い、RAM1002をワークメモリとして用い、このクライアントPC10aの全体の動作を制御する。グラフィクスI/F1003は、CPU1000によりプログラムに従い生成された表示制御信号に基づき、ディスプレイ1007が対応可能な表示信号を生成する。ディスプレイ1007は、グラフィクスI/F1003から供給された表示信号に応じた画面を表示する。 The CPU 1000 uses the RAM 1002 as a work memory according to a program stored in advance in the ROM 1001 or the storage 1004, and controls the entire operation of the client PC 10a, for example. The graphics I / F 1003 generates a display signal compatible with the display 1007 based on the display control signal generated according to the program by the CPU 1000. The display 1007 displays a screen corresponding to the display signal supplied from the graphics I / F 1003.

データI/F1005は、外部の機器との間でデータの送受信を行う。データI/F1005としては、例えばUSB(Universal Serial Bus)を適用可能である。この例では、データI/F1005に、ユーザ入力を受け付ける入力デバイスとしてキーボード1008aおよびポインティングデバイス1008bが接続されている。通信I/F1006は、CPU1000の指示に従い、ネットワーク2に対する通信を制御する。 The data I / F 1005 transmits / receives data to / from an external device. As the data I / F 1005, for example, USB (Universal Serial Bus) can be applied. In this example, a keyboard 1008a and a pointing device 10008b are connected to the data I / F 1005 as input devices for receiving user input. The communication I / F 1006 controls communication to the network 2 according to the instruction of the CPU 1000.

(既存技術によるアップデートインストール処理)
次に、理解を容易とするために、既存技術によるソフトウェアのアップデートインストール処理の例について、概略的に説明する。クライアントPC10aに既に搭載されているあるソフトウェア(対象ソフトウェアとする)を考える。一例として、対象ソフトウェアは、クライアントPC10a上で起動されると、ファイルサーバ20にアクセスし、自身のバージョンよりも新しいバージョンの対象ソフトウェアに対応するアップデートインストーラをファイルサーバ20から取得する。このアップデートインストーラは、当該新しいバージョンの対象ソフトウェアを内包しているものとする。
(Update installation process using existing technology)
Next, in order to facilitate understanding, an example of software update installation processing using existing technology will be described schematically. Consider some software (target software) that is already installed in the client PC 10a. As an example, when the target software is started on the client PC 10a, it accesses the file server 20 and acquires an update installer corresponding to the target software of a version newer than its own version from the file server 20. This update installer shall include the target software of the new version.

対象ソフトウェアは、取得したアップデートインストーラを起動させる。クライアントPC10aにおいて、アップデートインストーラは、同梱される新しいバージョンの対象ソフトウェアのアップデートインストール処理を実行する。 The target software starts the acquired update installer. On the client PC 10a, the update installer executes the update installation process of the target software of the new version bundled.

このアップデートインストーラによるアップデートインストール処理が、クライアントPC10aのOS(Operating System)に変更を加える場合がある。例えばパーソナルコンピュータ上で動作するOSの一つであるWindows(登録商標)では、レジストリと呼ばれる設定情報のデータベースを有し、アップデートインストール処理によっては、このレジストリの特定項目の書き換えが行われ、OSに変更が加えられる。このような、OSに特定の変更を加えるような処理の実行に際して、OSが所定の管理権限(例えばシステム権限)を要求する場合がある。 The update installation process by this update installer may change the OS (Operating System) of the client PC 10a. For example, Windows (registered trademark), which is one of the OSs running on a personal computer, has a database of setting information called a registry, and depending on the update installation process, specific items of this registry are rewritten to the OS. Changes will be made. The OS may request predetermined management authority (for example, system authority) when executing such a process of making a specific change to the OS.

一方、アップデートインストーラによるアップデートインストール処理は、一般的には、OSに対する権限としてシステム権限よりも下位の権限であるユーザ権限のプロセス(ユーザ権限プロセス)により実行される。OSは、ユーザ権限プロセスにより実行されるアップデートインストール処理に対し、一定の制限を与えることができる。例えば、Windows Vista(登録商標)以上のバージョンのWindows(登録商標)では、UAC(User Account Control)と呼ばれる仕組みにより、アップデートインストーラによりアップデートインストール処理が実行される際に、OSの管理者権限を持つ管理者情報の入力や、インストール処理の続行の確認を行うためのUI(User Interface)画面をディスプレイ1007に対してポップアップ表示させる。 On the other hand, the update installation process by the update installer is generally executed by a process of user authority (user authority process), which is an authority lower than the system authority as the authority to the OS. The OS can impose certain restrictions on the update installation process executed by the user authority process. For example, Windows Vista (registered trademark) or higher versions of Windows (registered trademark) have OS administrator authority when the update installation process is executed by the update installer by a mechanism called UAC (User Account Control). A UI (User Interface) screen for inputting administrator information and confirming the continuation of the installation process is popped up on the display 1007.

図3は、既存技術による、UACによりポップアップ表示されるUI画面としてのポップアップ表示画面の例を示す。図3において、ポップアップ表示画面30は、表示領域31、32および33と、ボタン35および36とを含む。また、表示領域33は、入力領域34を含む。図3の例では、表示領域31は、このポップアップ表示画面30に関するメッセージが表示され、表示領域32は、アップデートインストール処理の対象のソフトウェアに関する情報が表示される。表示領域33は、管理者情報の入力をユーザに促すためのメッセージが表示され、管理者情報(管理者パスワード)を入力するための入力領域34が設けられる。 FIG. 3 shows an example of a pop-up display screen as a UI screen that is pop-up-displayed by UAC by the existing technology. In FIG. 3, the pop-up display screen 30 includes display areas 31, 32 and 33, and buttons 35 and 36. Further, the display area 33 includes an input area 34. In the example of FIG. 3, the display area 31 displays a message regarding the pop-up display screen 30, and the display area 32 displays information about the software to be updated and installed. The display area 33 displays a message for prompting the user to input the administrator information, and is provided with an input area 34 for inputting the administrator information (administrator password).

ボタン35は、入力領域34に入力された管理者パスワードの照合を行いアップデートインストール処理を続行させるためのボタンである。入力領域34に正しい管理者パスワードが入力された状態でボタン35が操作された場合、このポップアップ表示画面30が閉じられ、アップデートインストール処理が続行される。一方、入力領域34に誤った管理者パスワードが入力された状態でボタン35が操作された場合、ポップアップ表示画面30の表示が継続され、入力領域34に対する管理者パスワードの入力が促される。 The button 35 is a button for collating the administrator password entered in the input area 34 and continuing the update installation process. If the button 35 is operated with the correct administrator password entered in the input area 34, the pop-up display screen 30 is closed and the update installation process is continued. On the other hand, when the button 35 is operated with the incorrect administrator password entered in the input area 34, the pop-up display screen 30 continues to be displayed, and the input of the administrator password in the input area 34 is urged.

ボタン36は、アップデートインストール処理を中止するためのボタンである。ボタン36が操作された場合、このポップアップ表示画面30が閉じられ、アップデートインストール処理が中止(キャンセル)される。例えば、ユーザが管理者情報を知らない場合、このボタン36を操作することで、アップデートインストール処理を中止させることができる。 The button 36 is a button for canceling the update installation process. When the button 36 is operated, the pop-up display screen 30 is closed and the update installation process is canceled (cancelled). For example, if the user does not know the administrator information, the update installation process can be stopped by operating this button 36.

上述したように、UACによるポップアップ表示画面30は、例えばアップデートインストーラといったプログラムがOSに特定の変更を加える場合に、必要な管理権限が無ければ表示される。当該プログラムが、Windowsにより提供されWindowsの動作中はバックグラウンドで動作する、Windowsサービスとして動作するプログラムであれば、当該プログラムは、システム権限のプロセス(システム権限プロセス)で動作し、管理者権限を持つ。また、Windowsサービスから起動されたプロセスは、システム権限がWindowsサービスから継承される。そのため、Windowsサービスからシステム権限を継承したサブプロセスとしてアップデートインストーラを起動することで、ポップアップ表示画面30の表示を抑制できる。 As described above, the pop-up display screen 30 by UAC is displayed if a program such as an update installer does not have the necessary management authority when making a specific change to the OS. If the program is provided by Windows and operates in the background while Windows is operating and operates as a Windows service, the program operates in a system privilege process (system privilege process) and has administrator privileges. Have. In addition, the system authority of the process started from the Windows service is inherited from the Windows service. Therefore, the display of the pop-up display screen 30 can be suppressed by starting the update installer as a subprocess that inherits the system authority from the Windows service.

一方、OSにログイン中のユーザに対して、現在実行されているプログラム(例えばアップデートインストーラ)の情報を通知するためのUI画面を表示するためには、当該プログラムがWindowsサービス以外のプロセスであって、ユーザ権限プロセスであるユーザプロセスで動作している必要がある。すなわち、Windowsサービスとして動作するプログラムの動作環境は、ログイン中のユーザの動作環境と切り離されているため、Windowsサービスから権限を引き継いだサブプロセスとして起動されたアップデートインストーラは、複数有り得る動作環境から表示すべきデスクトップを特定できず、UI画面を表示することができないためである。 On the other hand, in order to display the UI screen for notifying the user logged in to the OS of the information of the program currently being executed (for example, the update installer), the program is a process other than the Windows service. , Must be running in a user process that is a user authority process. That is, since the operating environment of the program that operates as the Windows service is separated from the operating environment of the logged-in user, the update installer started as a subprocess that inherits the authority from the Windows service is displayed from multiple possible operating environments. This is because the desktop to be used cannot be specified and the UI screen cannot be displayed.

また、アップデートインストーラは、ソフトウェアの更新(アップデートインストール)を実行する際に、更新対象のソフトウェアを構成するモジュール(ファイル)を上書きする。そのため、更新対象のソフトウェア自身は、動作が停止した状態でなければならない。したがって、更新対象のソフトウェアとは別のプロセスで動作するコンポーネントが、アップデートインストーラを制御する必要がある。 In addition, the update installer overwrites the modules (files) that make up the software to be updated when the software is updated (update installation). Therefore, the software to be updated must be in a stopped operation. Therefore, a component running in a process different from the software to be updated needs to control the update installer.

(実施形態に係るアップデートインストール処理)
次に、実施形態に係るアップデートインストール処理について説明する。実施形態では、実施形態に係るアップデートインストール処理を行うために、アップデートインストーラによる処理を支援する支援ソフトウェアを提供する。図4は、実施形態に係る情報処理プログラムとしての支援ソフトウェアの構成の例を示す。
(Update installation process related to the embodiment)
Next, the update installation process according to the embodiment will be described. In the embodiment, in order to perform the update installation process according to the embodiment, support software that supports the process by the update installer is provided. FIG. 4 shows an example of the configuration of the support software as the information processing program according to the embodiment.

図4において、実施形態に係る支援ソフトウェア100は、本体ユーザプロセス部111および本体システムサービス部121を含む本体ソフトウェアと、アップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122を含むアップデートエージェントと、特定ソフトウェア130と、を含む。アップデートエージェントは、本体ソフトウェアから起動されるコンポーネントを含む。アップデートエージェントは、本体ソフトウェアを停止および起動させることができると共に、アップデートインストーラによるアップデートインストール処理を制御する。すなわち、アップデートエージェントは、本体ソフトウェアからアップデートインストーラによるアップデートインストール処理を制御する際の仲介を行う仲介部であると考えることができる。 In FIG. 4, the support software 100 according to the embodiment is specified as the main body software including the main body user process unit 111 and the main body system service unit 121, and the update agent including the update agent user process unit 112 and the update agent system process unit 122. Includes software 130 and. The update agent contains components that are launched from the main unit software. The update agent can stop and start the main unit software and control the update installation process by the update installer. That is, the update agent can be considered as an intermediary unit that mediates when controlling the update installation process by the update installer from the main body software.

特定ソフトウェア130は、例えば、各クライアントPC10a、10b、…に共通して搭載されるソフトウェアである。特定ソフトウェア130の例として、画像形成装置21を各クライアントPC10a、10b、…から利用するためのドライバプログラムを適用することができる。特定ソフトウェア130は、ドライバプログラムに限られず、他の種類のソフトウェアであってもよい。 The specific software 130 is, for example, software commonly installed in the client PCs 10a, 10b, .... As an example of the specific software 130, a driver program for using the image forming apparatus 21 from the client PCs 10a, 10b, ... Can be applied. The specific software 130 is not limited to the driver program, and may be other types of software.

支援ソフトウェア100は、ファイルサーバ20上においては、支援ソフトウェア100自身を更新(アップデートインストール)するためのアップデートインストーラに同梱または内包されて、所定のフォルダに格納される。 On the file server 20, the support software 100 is bundled with or included in an update installer for updating (update installation) the support software 100 itself, and is stored in a predetermined folder.

支援ソフトウェア100において、アップデートエージェントに含まれるアップデートエージェントユーザプロセス部112は、ユーザ権限プロセス(第2プロセス)で動作するコンポーネントである。アップデートエージェントユーザプロセス部112は、本体ユーザプロセス部111の起動および停止を行うための本体ユーザプロセス起動・停止部1120と、UI表示を行うためのUI表示部1121と、アップデートインストーラによる処理進捗状況を監視するためのアップデート状況監視部1122と、を含む。 In the support software 100, the update agent user process unit 112 included in the update agent is a component that operates in the user authority process (second process). The update agent user process unit 112 displays the processing progress status of the main unit user process unit 112 for starting and stopping the main unit user process unit 111, the UI display unit 1121 for displaying the UI, and the update installer. It includes an update status monitoring unit 1122 for monitoring.

また、アップデートエージェントに含まれるアップデートエージェントシステムプロセス部122は、システム権限プロセス(第1プロセス)で動作して、アップデートインストーラをシステム権限プロセスのサブプロセスとして起動させるためのコンポーネントである。アップデートエージェントシステムプロセス部122は、本体システムサービス部121の起動および停止を行うためのシステムサービス起動・停止部1221と、アップデートインストーラの動作を監視するためのアップデートインストーラプロセス監視部1220と、を含む。 Further, the update agent system process unit 122 included in the update agent is a component that operates in the system authority process (first process) to start the update installer as a subprocess of the system authority process. The update agent system process unit 122 includes a system service start / stop unit 1221 for starting and stopping the main body system service unit 121, and an update installer process monitoring unit 1220 for monitoring the operation of the update installer.

支援ソフトウェア100において、本体ソフトウェアに含まれる本体ユーザプロセス部111は、ユーザ権限プロセスで動作するコンポーネントである。本体ユーザプロセス部111は、ファイルサーバ20にアクセスしてアップデートインストーラを探索するためのアップデート確認部1110と、ファイルサーバ20からアップデートインストーラをダウンロードし取得するためのインストーラ取得部1111と、アップデートエージェントユーザプロセス部112を起動するためのアップデートエージェントユーザプロセス起動部1112と、を含む。本体ユーザプロセス部111は、さらに、特定ソフトウェア130を含む。 In the support software 100, the main body user process unit 111 included in the main body software is a component that operates in the user authority process. The main body user process unit 111 includes an update confirmation unit 1110 for accessing the file server 20 and searching for an update installer, an installer acquisition unit 1111 for downloading and acquiring an update installer from the file server 20, and an update agent user process. The update agent user process activation unit 1112 for activating the unit 112 is included. The main body user process unit 111 further includes the specific software 130.

また、本体ソフトウェアに含まれる本体システムサービス部121は、システム権限プロセスで動作するコンポーネントである。本体システムサービス部121は、この支援ソフトウェア100が起動された例えばクライアントPC10aのOSにログインしているログインユーザのユーザ情報を管理するためのログインユーザ管理部1211と、アップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122を管理するためのアップデートエージェント管理部1212と、を含む。 Further, the main body system service unit 121 included in the main body software is a component that operates in the system authority process. The main body system service unit 121 includes a login user management unit 1211 for managing user information of a logged-in user who is logged in to the OS of, for example, the client PC 10a in which the support software 100 is started, an update agent user process unit 112, and an update. It includes an update agent management unit 1212 for managing the agent system process unit 122.

ここで、OSがWindows(登録商標)である場合、本体システムサービス部121は、Windowsサービスである。上述したアップデートエージェントシステムプロセス部122は、本体システムサービス部121から起動される。これにより、アップデートエージェントシステムプロセス部122は、システム権限プロセスとして動作できる。 Here, when the OS is Windows (registered trademark), the main body system service unit 121 is a Windows service. The update agent system process unit 122 described above is started from the main body system service unit 121. As a result, the update agent system process unit 122 can operate as a system privilege process.

なお、本体ソフトウェア(本体ユーザプロセス部111および本体システムサービス部121)は、アップデートエージェント(アップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122)の各モジュールを、アップデートインストーラがアクセスしない一時フォルダにコピーし、一時フォルダ内のアップデートエージェントを起動する。これは、アップデートインストーラがアップデートエージェントのモジュールを更新する場合に対応するためである。 The main unit software (main unit user process unit 111 and main unit system service unit 121) copies each module of the update agent (update agent user process unit 112 and update agent system process unit 122) to a temporary folder that the update installer does not access. Then start the update agent in the temporary folder. This is to handle the case where the update installer updates the module of the update agent.

図5は、実施形態に係る支援ソフトウェア100を起動させた場合のクライアントPC10aの機能を説明するための一例の機能ブロック図である。なお、図5において、上述した図4の支援ソフトウェア100がクライアントPC10aにおいて実行されることでクライアントPC10a上で実現される機能は、図4の対応する部分と同一の名称および符号を付して示している。 FIG. 5 is a functional block diagram of an example for explaining the function of the client PC 10a when the support software 100 according to the embodiment is activated. In FIG. 5, the functions realized on the client PC 10a by executing the support software 100 of FIG. 4 described above on the client PC 10a are shown with the same names and reference numerals as the corresponding parts of FIG. ing.

図5において、支援ソフトウェア100が起動されたクライアントPC10aは、本体ユーザプロセス部111と、アップデートエージェントユーザプロセス部112と、本体システムサービス部121と、アップデートエージェントシステムプロセス部122と、を含む。これらのうち、本体ユーザプロセス部111およびアップデートエージェントユーザプロセス部112は、ユーザ権限プロセスで動作するグループ(ユーザプロセス部110)として示している。また、本体システムサービス部121およびアップデートエージェントシステムプロセス部122は、システム権限プロセスで動作するグループ(システムプロセス部120)として示している。 In FIG. 5, the client PC 10a in which the support software 100 is activated includes a main body user process unit 111, an update agent user process unit 112, a main body system service unit 121, and an update agent system process unit 122. Of these, the main body user process unit 111 and the update agent user process unit 112 are shown as a group (user process unit 110) that operates in the user authority process. Further, the main body system service unit 121 and the update agent system process unit 122 are shown as a group (system process unit 120) operating in the system authority process.

ユーザプロセス部110は、クライアントPC10aのOSにログインしたログインユーザ毎に起動される。すなわち、支援ソフトウェア100は、複数のユーザプロセス部110を並行して起動させることができる。 The user process unit 110 is started for each logged-in user who has logged in to the OS of the client PC 10a. That is, the support software 100 can start a plurality of user process units 110 in parallel.

図5において、本体ユーザプロセス部111は、アップデート確認部1110と、インストーラ取得部1111と、アップデートエージェントユーザプロセス起動部1112とを含む。アップデートエージェントユーザプロセス部112は、本体ユーザプロセス起動・停止部1120と、UI表示部1121と、アップデート状況監視部1122とを含む。本体システムサービス部121は、ログインユーザ管理部1211と、アップデートエージェント管理部1212とを含む。また、アップデートエージェントシステムプロセス部122は、アップデートインストーラプロセス監視部1220と、システムサービス起動・停止部1221とを含む。 In FIG. 5, the main body user process unit 111 includes an update confirmation unit 1110, an installer acquisition unit 1111, and an update agent user process activation unit 1112. The update agent user process unit 112 includes a main body user process start / stop unit 1120, a UI display unit 1121, and an update status monitoring unit 1122. The main body system service unit 121 includes a login user management unit 1211 and an update agent management unit 1212. Further, the update agent system process unit 122 includes an update installer process monitoring unit 1220 and a system service start / stop unit 1221.

これら本体ユーザプロセス部111、アップデートエージェントユーザプロセス部112、本体システムサービス部121およびアップデートエージェントシステムプロセス部122、ならびに、これらに含まれる各部は、実施形態に係る情報処理プログラムとしての支援ソフトウェア100がCPU1000上で動作することにより実現される。これに限らず、図5に示される各部の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。 The main body user process unit 111, the update agent user process unit 112, the main body system service unit 121, the update agent system process unit 122, and each part included in these are the support software 100 as an information processing program according to the embodiment CPU1000. It is realized by operating on. Not limited to this, a part or all of each part shown in FIG. 5 may be configured by a hardware circuit that operates in cooperation with each other.

クライアントPC10aにおける実施形態に係る各機能を実現するための支援ソフトウェア100は、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該支援ソフトウェア100を、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該支援ソフトウェア100をインターネットなどのネットワークを経由して提供または配布するように構成してもよい。 The support software 100 for realizing each function according to the embodiment in the client PC 10a is a file in an installable format or an executable format, such as a CD (Compact Disk), a flexible disk (FD), or a DVD (Digital Versatile Disk). It is provided by recording on a recording medium that can be read by a computer. Not limited to this, the support software 100 may be provided by storing it on a computer connected to a network such as the Internet and downloading it via the network. Further, the support software 100 may be configured to be provided or distributed via a network such as the Internet.

当該支援ソフトウェア100は、本体ユーザプロセス部111、アップデートエージェントユーザプロセス部112、本体システムサービス部121およびアップデートエージェントシステムプロセス部122、ならびに、これらに含まれる各部を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がストレージ1004などの記憶媒体から当該支援ソフトウェア100を読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、本体ユーザプロセス部111、アップデートエージェントユーザプロセス部112、本体システムサービス部121およびアップデートエージェントシステムプロセス部122、ならびに、これらに含まれる各部が主記憶装置上に生成されるようになっている。 The support software 100 has a module configuration including a main body user process unit 111, an update agent user process unit 112, a main body system service unit 121, an update agent system process unit 122, and each unit included therein. As actual hardware, when the CPU 1000 reads the support software 100 from a storage medium such as the storage 1004 and executes the support software 100, each of the above-mentioned parts is loaded on a main storage device such as the RAM 1002, and the main body user process unit 111 is updated. The agent user process unit 112, the main body system service unit 121, the update agent system process unit 122, and each unit included in these are generated on the main storage device.

次に、図5に示される、本体ユーザプロセス部111、アップデートエージェントユーザプロセス部112、本体システムサービス部121およびアップデートエージェントシステムプロセス部122に含まれる各部について、より詳細に説明する。 Next, each part included in the main body user process unit 111, the update agent user process unit 112, the main body system service unit 121, and the update agent system process unit 122 shown in FIG. 5 will be described in more detail.

本体ユーザプロセス部111において、アップデート確認部1110は、ファイルサーバ20にアクセスして、クライアントPC10aに搭載される当該支援ソフトウェア100に対応するアップデートインストーラの存在を確認する。アップデート確認部1110は、対応するアップデートインストーラの存在が確認された場合、そのアップデートインストーラのバージョンを取得し、取得したバージョンに基づき支援ソフトウェア100のアップデートが必要か否かを判定する。 In the main body user process unit 111, the update confirmation unit 1110 accesses the file server 20 and confirms the existence of the update installer corresponding to the support software 100 mounted on the client PC 10a. When the existence of the corresponding update installer is confirmed, the update confirmation unit 1110 acquires the version of the update installer and determines whether or not the support software 100 needs to be updated based on the acquired version.

インストーラ取得部1111は、アップデート確認部1110の確認結果に応じて、ファイルサーバ20からアップデートインストーラを取得し、取得したアップデートインストーラを、例えばストレージ1004上に設けられる一時フォルダに保存する。アップデートエージェントユーザプロセス起動部1112は、アップデートエージェントユーザプロセス部112を起動する。 The installer acquisition unit 1111 acquires the update installer from the file server 20 according to the confirmation result of the update confirmation unit 1110, and saves the acquired update installer in a temporary folder provided on the storage 1004, for example. The update agent user process start unit 1112 starts the update agent user process unit 112.

アップデートエージェントユーザプロセス部112において、本体ユーザプロセス起動・停止部1120は、本体ユーザプロセス部111の起動および停止を行う。UI表示部1121は、UIによる画面表示を行う。例えば、UI表示部1121は、アップデートインストーラによるアップデートインストール処理の進捗や、結果を示す画面の表示を行う。アップデート状況監視部1122は、アップデートエージェントシステムプロセス部122と通信を行い、アップデートインストーラの状況を監視する。 In the update agent user process unit 112, the main body user process start / stop unit 1120 starts and stops the main body user process unit 111. The UI display unit 1121 displays the screen by the UI. For example, the UI display unit 1121 displays the progress of the update installation process by the update installer and a screen showing the result. The update status monitoring unit 1122 communicates with the update agent system process unit 122 and monitors the status of the update installer.

本体システムサービス部121において、ログインユーザ管理部1211は、本体ユーザプロセス部111を起動したログインユーザのユーザ情報をOSから取得し、取得したユーザ情報を、表1に示されるような起動ユーザリストに登録して例えばRAM1002に記憶する(管理ステップ)。起動ユーザリストに登録するユーザ情報は、ユーザがログイン時に入力するユーザ名であってもよいし、当該ユーザのアカウントに対応するSID(Security Identifier)であってもよい。 In the main body system service unit 121, the login user management unit 1211 acquires the user information of the login user who started the main unit user process unit 111 from the OS, and the acquired user information is put into the start user list as shown in Table 1. Register and store in, for example, RAM 1002 (management step). The user information registered in the activation user list may be a user name entered by the user at login, or may be a SID (Security Identifier) corresponding to the user's account.

Figure 0007019968000001
Figure 0007019968000001

表1の例では、現在、本体ユーザプロセス部111が、ユーザ名「userA」およびユーザ名「userB」の2人のユーザにより起動されていることが示されている。ログインユーザ管理部1211は、新たなユーザにより本体ユーザプロセス部111が起動された場合には、当該ユーザのユーザ情報を起動ユーザリストに追加する。また、ログインユーザ管理部1211は、起動ユーザリストのエントリに含まれるユーザ情報が示すユーザがログアウトした場合、そのユーザ情報のエントリを削除する。また、ログインユーザ管理部1211は、本体ユーザプロセス部111が終了された場合に、当該ユーザプロセス部111を起動したユーザのユーザ情報を、起動ユーザリストから削除する。この起動ユーザリストを参照することで、現在起動されている本体ユーザプロセス部111の数や、ログイン中のユーザのアカウント情報を把握することができる。 In the example of Table 1, it is shown that the main body user process unit 111 is currently activated by two users having the user name “userA” and the user name “userB”. When the main body user process unit 111 is started by a new user, the login user management unit 1211 adds the user information of the user to the start user list. Further, when the user indicated by the user information included in the entry of the activation user list logs out, the login user management unit 1211 deletes the entry of the user information. Further, the login user management unit 1211 deletes the user information of the user who started the user process unit 111 from the startup user list when the main body user process unit 111 is terminated. By referring to this activation user list, it is possible to grasp the number of the main body user process units 111 currently activated and the account information of the logged-in user.

アップデートエージェント管理部1212は、アップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122を構成するための各モジュールの、ストレージ1004における一時フォルダへの記憶、および、これら各モジュールが不要になった場合の一時フォルダからの削除を行う。また、アップデートエージェント管理部1212は、アップデートエージェントシステムプロセス部122を起動させる。 The update agent management unit 1212 stores the modules for configuring the update agent user process unit 112 and the update agent system process unit 122 in the temporary folder in the storage 1004, and when these modules are no longer needed. Delete from the temporary folder. Further, the update agent management unit 1212 activates the update agent system process unit 122.

システムプロセス部120において、アップデートエージェントシステムプロセス部122に含まれるアップデートインストーラプロセス監視部1220は、上述したインストーラ取得部1111により一時フォルダに記憶されたアップデートインストーラを起動させる。アップデートインストーラは、システム権限プロセスによるアップデートインストーラプロセス監視部1220から起動されるため、アップデートインストーラプロセス監視部1220からシステム権限が継承される。これにより、上述したUACによるポップアップ表示画面30の表示を抑制できる。 In the system process unit 120, the update installer process monitoring unit 1220 included in the update agent system process unit 122 activates the update installer stored in the temporary folder by the installer acquisition unit 1111 described above. Since the update installer is started from the update installer process monitoring unit 1220 by the system authority process, the system authority is inherited from the update installer process monitoring unit 1220. As a result, the display of the pop-up display screen 30 by the above-mentioned UAC can be suppressed.

また、アップデートインストーラプロセス監視部1220は、起動させたアップデートインストーラによるプロセスを、当該アップデートインストーラが終了するまで監視する。 Further, the update installer process monitoring unit 1220 monitors the process by the started update installer until the update installer is completed.

システムサービス起動・停止部1221は、アップデートインストーラの起動前に、本体システムサービス部121の動作を停止させる。また、システムサービス起動・停止部1221は、アップデートインストーラの終了後に、本体システムサービス部121を起動させる。 The system service start / stop unit 1221 stops the operation of the main body system service unit 121 before starting the update installer. Further, the system service start / stop unit 1221 starts the main body system service unit 121 after the update installer is completed.

(実施形態に係るアップデートインストーラ制御の詳細)
次に、実施形態に係るアップデートインストーラ制御について、より詳細に説明する。なお、以下では、ファイルサーバ20は、各クライアントPC10a、10b、…にインストールされる特定ソフトウェアをより新しいバージョンの特定ソフトウェア130にアップデートインストールするためのアップデートインストーラが配置されている。上述したように、このアップデートインストーラは、実施形態に係る支援ソフトウェア100が内包され、この支援ソフトウェア100は、当該特定ソフトウェアより新しいバージョンの特定ソフトウェア130が内包される。また、アップデートインストーラは、UI表示などを行わないサイレントモードでアップデートインストール処理を実行可能であるものとする。
(Details of update installer control according to the embodiment)
Next, the update installer control according to the embodiment will be described in more detail. In the following, the file server 20 is provided with an update installer for updating and installing the specific software installed on each client PC 10a, 10b, ... To a newer version of the specific software 130. As described above, the update installer includes the support software 100 according to the embodiment, and the support software 100 includes the specific software 130 of a version newer than the specific software. Further, it is assumed that the update installer can execute the update installation process in the silent mode without displaying the UI.

図6は、実施形態に係る支援ソフトウェアの動作を示す一例のフローチャートである。例えばクライアントPC10aにおいて、ステップS100で、支援ソフトウェア100が所定のトリガに応じて起動される。例えば、例えばクライアントPC10aのOSにログインしたログインユーザが当該支援ソフトウェア100に含まれる特定ソフトウェア130を起動したことをトリガとして、支援ソフトウェア100が起動される。これに限らず、支援ソフトウェア100は、クライアントPC10aのOSに対するユーザのログインをトリガとして起動されてもよい。支援ソフトウェア100が起動されることで、当該支援ソフトウェア100の本体ユーザプロセス部111が起動される。 FIG. 6 is an example flowchart showing the operation of the support software according to the embodiment. For example, in the client PC 10a, in step S100, the support software 100 is activated in response to a predetermined trigger. For example, the support software 100 is started by a login user who has logged in to the OS of the client PC 10a as a trigger to start the specific software 130 included in the support software 100. Not limited to this, the support software 100 may be started by the user's login to the OS of the client PC 10a as a trigger. When the support software 100 is started, the main body user process unit 111 of the support software 100 is started.

本体ユーザプロセス部111は、起動されると、自身を起動したログインユーザのユーザ情報を本体システムサービス部121に渡す。本体システムサービス部121において、ログインユーザ管理部1211は、本体ユーザプロセス部111から渡されたユーザ情報を、起動ユーザリスト(表1参照)に追加登録する。 When the main body user process unit 111 is started, the user information of the logged-in user who started the main body user information unit 111 is passed to the main body system service unit 121. In the main body system service unit 121, the login user management unit 1211 additionally registers the user information passed from the main body user process unit 111 to the activated user list (see Table 1).

次のステップS101で、支援ソフトウェア100において、アップデート確認部1110は、ファイルサーバ20にアクセスし、クライアントPC10aに既に搭載されている支援ソフトウェア100に対応するアップデートインストーラを探索する。例えば、ファイルサーバ20は、アップデートインストーラの実行ファイルと同じフォルダに、ソフトウェアを一意に識別可能なGUID(Globally Unique Identifier)が記述された所定フォーマットの設定情報ファイルを配置しておく。アップデート確認部1110は、ファイルサーバ20からこの設定情報ファイルを取得し読み込むことで、当該アップデートインストーラのファイルサーバ20への配置の有無を確認する(ステップS102)。 In the next step S101, in the support software 100, the update confirmation unit 1110 accesses the file server 20 and searches for an update installer corresponding to the support software 100 already installed in the client PC 10a. For example, the file server 20 arranges a setting information file in a predetermined format in which a GUID (Globally Unique Identifier) that can uniquely identify the software is described in the same folder as the execution file of the update installer. The update confirmation unit 1110 acquires and reads this setting information file from the file server 20 to confirm whether or not the update installer is placed on the file server 20 (step S102).

ステップS102で、アップデート確認部1110は、探索対象のアップデートインストーラのファイルサーバ20への配置が確認されなかった場合(ステップS102、「無し」)、処理をステップS110に移行させる。ステップS110で、支援ソフトウェア100の通常起動が行われる。通常起動は、アップデートインストール処理を行わない起動である。例えば、支援ソフトウェア100は、通常起動において、特定ソフトウェア130を起動させる。例えば、ステップS110において起動された特定ソフトウェア130による動作が終了されると、処理がステップS107に移行され、支援ソフトウェア100の動作が終了される。 In step S102, when the update confirmation unit 1110 does not confirm the placement of the update installer to be searched on the file server 20 (step S102, “none”), the update confirmation unit 1110 shifts the process to step S110. In step S110, the support software 100 is normally started. Normal boot is a boot that does not perform the update installation process. For example, the support software 100 activates the specific software 130 at normal startup. For example, when the operation by the specific software 130 activated in step S110 is completed, the process is shifted to step S107, and the operation of the support software 100 is terminated.

ステップS102で、アップデート確認部1110は、探索対象のアップデートインストーラのファイルサーバ20への配置が確認された場合(ステップS102、「有り」)、処理をステップS103に移行させる。ステップS103で、アップデート確認部1110は、ステップS102で確認されたアップデートインストーラのバージョンと、クライアントPC10aに現在搭載されている当該支援ソフトウェア100のバージョンとを比較する。 In step S102, when the update confirmation unit 1110 confirms that the update installer to be searched is placed on the file server 20 (step S102, “Yes”), the update confirmation unit 1110 shifts the process to step S103. In step S103, the update confirmation unit 1110 compares the version of the update installer confirmed in step S102 with the version of the support software 100 currently installed in the client PC 10a.

例えば、ファイルサーバ20は、アップデートインストーラのバージョンが記述された所定フォーマットの設定情報ファイルを、当該アップデートインストーラの実行ファイルと同じフォルダに配置しておく。アップデート確認部1110は、ファイルサーバ20からこのバージョンが記述された設定情報ファイルを取得し読み込むことで、当該アップデートインストーラのバージョンを知ることができる。アップデート確認部1110は、クライアントPC10aに搭載される支援ソフトウェア100のバージョンと、アップデートインストーラのバージョンとを比較する。 For example, the file server 20 arranges a setting information file having a predetermined format in which the version of the update installer is described in the same folder as the executable file of the update installer. The update confirmation unit 1110 can know the version of the update installer by acquiring and reading the setting information file in which this version is described from the file server 20. The update confirmation unit 1110 compares the version of the support software 100 mounted on the client PC 10a with the version of the update installer.

アップデート確認部1110は、ステップS103の比較の結果、アップデートインストーラのバージョンが、クライアントPC10aに搭載される支援ソフトウェア100のバージョンより低い、または、両者のバージョンが同じと判定した場合(ステップS104、「低いor同じ」)、処理をステップS110に移行させ、例えば特定ソフトウェア130を通常起動させる。 When the update confirmation unit 1110 determines that the version of the update installer is lower than the version of the support software 100 mounted on the client PC 10a as a result of the comparison in step S103, or both versions are the same (step S104, "low"). Or the same "), the process is shifted to step S110, and for example, the specific software 130 is normally started.

一方、アップデート確認部1110は、ステップS103の比較の結果、アップデートインストーラのバージョンが、クライアントPC10aに搭載される支援ソフトウェア100のバージョンよりも高いと判定した場合(ステップS104、「高い」)、処理をステップS105に移行させる。 On the other hand, when the update confirmation unit 1110 determines that the version of the update installer is higher than the version of the support software 100 mounted on the client PC 10a as a result of the comparison in step S103 (step S104, "high"), the process is performed. The process proceeds to step S105.

ステップS105で、支援ソフトウェア100において、本体ユーザプロセス部111は、現在他のユーザが本体ユーザプロセス部111を起動していないことを確認する(詳細は後述する)。本体ユーザプロセス部111は、この確認の結果に基づき、現在他のユーザが本体ユーザプロセス部111を起動していると判定した場合(ステップS105、「No」)、処理をステップS111に移行させ、当該本体ユーザプロセス部111によるアップデートインストールが実行できない旨のエラー表示を行い、処理をステップS110に移行させる。 In step S105, in the support software 100, the main body user process unit 111 confirms that another user is not currently activating the main body user process unit 111 (details will be described later). When the main body user process unit 111 determines that another user is currently activating the main body user process unit 111 based on the result of this confirmation (step S105, "No"), the process shifts to step S111. An error message indicating that the update installation cannot be executed by the user process unit 111 of the main body is displayed, and the process proceeds to step S110.

一方、本体ユーザプロセス部111は、ステップS105で、ログインユーザ管理部1211による確認の結果に基づき、現在本体ユーザプロセス部111を起動している他のユーザが存在しないと判定した場合(ステップS105、「Yes」)、処理をステップS106に移行させる。ステップS106で、支援ソフトウェア100は、アップデートインストーラによるアップデートインストール処理を実行する(詳細は後述する)。 On the other hand, when the main body user process unit 111 determines in step S105 that there is no other user who is currently starting the main body user process unit 111 based on the result of confirmation by the login user management unit 1211 (step S105, "Yes"), the process is shifted to step S106. In step S106, the support software 100 executes the update installation process by the update installer (details will be described later).

アップデートインストーラによるアップデートインストール処理が完了すると、処理がステップS107に移行され、支援ソフトウェア100の動作が終了される。 When the update installation process by the update installer is completed, the process proceeds to step S107, and the operation of the support software 100 is terminated.

次に、図7を用いて、上述したステップS106による、実施形態に係るアップデートインストール処理をより詳細に説明する。本体ユーザプロセス部111は、インストーラ取得部1111により、上述のステップS101およびステップS102によるアップデートインストーラの探索結果に基づき、ファイルサーバ20からアップデートインストーラをダウンロードし、アップデートインストーラを取得する(ステップS1)。 Next, the update installation process according to the embodiment according to the above-mentioned step S106 will be described in more detail with reference to FIG. 7. The main body user process unit 111 downloads the update installer from the file server 20 based on the search results of the update installer in steps S101 and S102 described above by the installer acquisition unit 111, and acquires the update installer (step S1).

次に、本体ユーザプロセス部111は、アップデートエージェントユーザプロセス起動部1112により、アップデートエージェントユーザプロセス部112を起動させる(ステップS10)。 Next, the main body user process unit 111 activates the update agent user process unit 112 by the update agent user process activation unit 1112 (step S10).

ここで、アップデートエージェントユーザプロセス起動部1112は、アップデートエージェントユーザプロセス部112を起動させる前に、支援ソフトウェア100に内包されるアップデートエージェント(アップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122)を構成するプログラムファイルなど一式を、クライアントPC10aにおいて例えばストレージ1004上に作成された一時フォルダにコピーする。ステップS10で、アップデートエージェントユーザプロセス起動部1112は、この一時フォルダにコピーされたアップデートエージェントのプログラムファイル一式に含まれるアップデートエージェントユーザプロセス部112を起動させる。すなわち、このアップデートエージェントのプログラムファイル一式も、アップデートの対象となるため、コピーされたプログラムの方を実行させる。 Here, the update agent user process start unit 1112 configures an update agent (update agent user process unit 112 and update agent system process unit 122) included in the support software 100 before starting the update agent user process unit 112. A set of program files and the like to be created is copied to a temporary folder created on the storage 1004, for example, on the client PC 10a. In step S10, the update agent user process start unit 1112 starts the update agent user process unit 112 included in the set of update agent program files copied to this temporary folder. That is, since the set of program files of this update agent is also the target of the update, the copied program is executed.

本体ユーザプロセス部111は、アップデートエージェントユーザプロセス部112を起動させると、ステップS11で、アップデートインストーラ140の起動を指示する起動指示を含む通知を本体システムサービス部121に渡す(通知ステップ)。 When the main body user process unit 111 starts the update agent user process unit 112, in step S11, the main body user process unit 111 passes a notification including a start instruction instructing the start of the update installer 140 to the main body system service unit 121 (notification step).

本体システムサービス部121は、ステップS11で本体ユーザプロセス部111から渡された通知を受け取ると、アップデートエージェント管理部1212により、アップデートエージェントシステムプロセス部122を起動させる(ステップS12)。アップデートエージェントシステムプロセス部122は、本体システムサービス部121から起動されることで、システム権限を継承することができる。 When the main body system service unit 121 receives the notification passed from the main body user process unit 111 in step S11, the update agent management unit 1212 activates the update agent system process unit 122 (step S12). The update agent system process unit 122 can inherit the system authority by being started from the main body system service unit 121.

ステップS12でアップデートエージェントシステムプロセス部122が起動された後、本体ユーザプロセス部111および本体システムサービス部121の動作を停止させる必要がある。例えば、起動したアップデートエージェントユーザプロセス部112およびアップデートエージェントシステムプロセス部122において、本体ユーザプロセス起動・停止部1120により本体ユーザプロセス部111を停止させ、システムサービス起動・停止部1221が本体システムサービス部121を停止させる。これに限らず、本体ユーザプロセス部111や本体システムサービス部121が自身を終了させることができる場合には、自身で終了させてもよい。 After the update agent system process unit 122 is started in step S12, it is necessary to stop the operations of the main body user process unit 111 and the main body system service unit 121. For example, in the started update agent user process unit 112 and update agent system process unit 122, the main unit user process unit 111 is stopped by the main unit user process start / stop unit 1120, and the system service start / stop unit 1221 is the main unit system service unit 121. To stop. Not limited to this, if the main body user process unit 111 or the main body system service unit 121 can terminate itself, it may terminate itself.

アップデートエージェントシステムプロセス部122は、ステップS13で、アップデートインストーラプロセス監視部1220により、アップデートインストーラ140をサイレントモードで起動させる(起動ステップ)。アップデートエージェントシステムプロセス部122は、システム権限で動作している。そのため、アップデートエージェントシステムプロセス部122が生成したアップデートインストーラ140のプロセスは、システム権限を継承して動作することができ、UACによるポップアップ表示画面30の表示を回避できる。 In step S13, the update agent system process unit 122 activates the update installer 140 in silent mode by the update installer process monitoring unit 1220 (startup step). The update agent system process unit 122 is operating with system privileges. Therefore, the process of the update installer 140 generated by the update agent system process unit 122 can operate by inheriting the system authority, and can avoid the display of the pop-up display screen 30 by the UAC.

また、アップデートエージェントシステムプロセス部122は、自身が起動したアップデートインストーラ140の実行状況を監視する。 In addition, the update agent system process unit 122 monitors the execution status of the update installer 140 started by itself.

アップデートインストーラ140は、内包される支援ソフトウェア100の各コンポーネントにより、クライアントPC10aに搭載されている支援ソフトウェア100を更新し、支援ソフトウェア100のアップデートインストール処理を行う。このとき、アップデートインストーラ140は、支援ソフトウェア100の本体ユーザプロセス部111に内包される特定ソフトウェア130のアップデートインストール処理も実行する。 The update installer 140 updates the support software 100 mounted on the client PC 10a by each component of the support software 100 included in the update installer 140, and performs an update installation process of the support software 100. At this time, the update installer 140 also executes the update installation process of the specific software 130 included in the main body user process unit 111 of the support software 100.

一方、アップデートエージェントユーザプロセス部112は、アップデート状況監視部1122により、アップデートエージェントシステムプロセス部122を介して、アップデートインストーラ140によるアップデートインストール処理の実行状況を監視する(ステップS14)。より具体的には、アップデートエージェントユーザプロセス部112は、アップデート状況監視部1122により、名前付きパイプを用いてアップデートエージェントシステムプロセス部122と定期的に通信を行い(ステップS14a、ステップS14b)、アップデートインストーラプロセス監視部1220からアップデートインストーラ140の実行状況を示す情報を取得する。 On the other hand, the update agent user process unit 112 monitors the execution status of the update installation process by the update installer 140 by the update status monitoring unit 1122 via the update agent system process unit 122 (step S14). More specifically, the update agent user process unit 112 periodically communicates with the update agent system process unit 122 by the update status monitoring unit 1122 using a named pipe (step S14a, step S14b), and the update installer. Information indicating the execution status of the update installer 140 is acquired from the process monitoring unit 1220.

アップデートエージェントユーザプロセス部112は、UI表示部1121により、アップデート状況監視部1122からアップデートインストーラ140の実行状況を示す情報を取得し、当該実行状況を提示するための表示を行う(提示ステップ)。UI表示部1121は、この実行状況を示す情報がアップデートインストール処理が終了していないことを示している場合には、アップデートインストール処理が実行中であることを示す表示を行う。また、UI表示部1121は、実行状況を示す情報がアップデートインストール処理が完了したことを示している場合には、アップデートインストール処理の成功または失敗を示す表示を行う。 The update agent user process unit 112 acquires information indicating the execution status of the update installer 140 from the update status monitoring unit 1122 by the UI display unit 1121, and displays the information for presenting the execution status (presentation step). When the information indicating the execution status indicates that the update installation process has not been completed, the UI display unit 1121 displays that the update installation process is being executed. Further, when the information indicating the execution status indicates that the update installation process has been completed, the UI display unit 1121 displays the success or failure of the update installation process.

図8は、実施形態に適用可能な、UI表示部1121により表示されるアップデートインストール処理の実行状況を示す進捗表示画面の例を示す。図8(a)は、アップデートインストール処理が実行中であることを示す進捗表示画面40の例を示す。図8(a)の例では、進捗表示画面40は、アップデートインストール処理が実行中である旨を示すメッセージ400と、アップデートインストール処理の進捗状況を概略的に示す進捗表示401および402と、を含む。進捗表示401は、アップデートインストール処理の進捗状況をグラフィカルに表現した例である。また、進捗表示402は、当該進捗状況を、アップデートインストール処理が終了するまでの概略的な残時間を推測して表現した例である。 FIG. 8 shows an example of a progress display screen showing the execution status of the update installation process displayed by the UI display unit 1121, which is applicable to the embodiment. FIG. 8A shows an example of a progress display screen 40 indicating that the update installation process is being executed. In the example of FIG. 8A, the progress display screen 40 includes a message 400 indicating that the update installation process is being executed, and progress displays 401 and 402 indicating the progress of the update installation process. .. The progress display 401 is an example of graphically expressing the progress of the update installation process. Further, the progress display 402 is an example in which the progress status is expressed by estimating the approximate remaining time until the update installation process is completed.

なお、図8(a)の例では、進捗表示画面40が、メッセージ400と、進捗表示401および402とを含んでいるが、これはこの例に限定されない。すなわち、進捗表示画面40は、ユーザがアップデートインストール処理が実行中であることを認識可能な表示が行われていればよく、例えば、メッセージ400、進捗表示401および402のうち少なくとも1つが表示されていればよい。また、アップデートインストール処理の実行中を示す表示は、図8(a)の例に限定されない。 In the example of FIG. 8A, the progress display screen 40 includes the message 400 and the progress displays 401 and 402, but this is not limited to this example. That is, the progress display screen 40 may be displayed so that the user can recognize that the update installation process is being executed. For example, at least one of the message 400, the progress display 401, and the 402 is displayed. Just do it. Further, the display indicating that the update installation process is being executed is not limited to the example of FIG. 8A.

図8(b)は、アップデートインストール処理が終了した場合の進捗表示画面41の例を示す。図8(b)に示される進捗表示画面41は、アップデートインストール処理の成功または失敗を示すメッセージ410が表示される。この例では、メッセージ410は、アップデートインストール処理が成功し、アップデートインストール処理が完了した旨を示している。ボタン411は、この進捗表示画面41を閉じるためのボタンである。 FIG. 8B shows an example of the progress display screen 41 when the update installation process is completed. On the progress display screen 41 shown in FIG. 8B, a message 410 indicating the success or failure of the update installation process is displayed. In this example, message 410 indicates that the update installation process was successful and the update installation process was completed. Button 411 is a button for closing the progress display screen 41.

アップデートエージェントシステムプロセス部122において、システムサービス起動・停止部1221は、アップデートインストーラプロセス監視部1220からアップデートインストール処理の完了を示す情報を取得すると、本体システムサービス部121を起動させる(ステップS15)。同様に、アップデートエージェントユーザプロセス部112において、本体ユーザプロセス起動・停止部1120は、アップデート状況監視部1122からアップデートインストール処理の完了を示す情報を取得すると、本体ユーザプロセス部111を起動させる(ステップS16)。 In the update agent system process unit 122, the system service start / stop unit 1221 starts the main body system service unit 121 when it obtains information indicating the completion of the update installation process from the update installer process monitoring unit 1220 (step S15). Similarly, in the update agent user process unit 112, when the main unit user process start / stop unit 1120 acquires information indicating the completion of the update installation process from the update status monitoring unit 1122, the main unit user process unit 111 is started (step S16). ).

ステップS15およびステップS16にて本体ユーザプロセス部111および本体システムサービス部121が起動されると、図6のフローチャートにおける処理が、ステップS106からステップS107に移行され、支援ソフトウェア100の動作が終了される。 When the main body user process unit 111 and the main body system service unit 121 are started in steps S15 and S16, the processing in the flowchart of FIG. 6 is shifted from step S106 to step S107, and the operation of the support software 100 is terminated. ..

次に、図9を用いて、上述したステップS105による、現在他のユーザが本体ユーザプロセス部111を起動しているか否かを判定する処理について、より詳細に説明する。本体ユーザプロセス部111は、本体ユーザプロセス部111が起動されると、自身を起動させたログインユーザのユーザ情報をOSから取得して本体システムサービス部121に渡す。 Next, with reference to FIG. 9, the process of determining whether or not another user is currently activating the main body user process unit 111 according to step S105 described above will be described in more detail. When the main body user process unit 111 is started, the main body user process unit 111 acquires the user information of the logged-in user who started the main body user process unit 111 from the OS and passes it to the main body system service unit 121.

上述したように、本体システムサービス部121において、ログインユーザ管理部1211は、本体ユーザプロセス部111から渡されたユーザ情報を起動ユーザリストに登録し、例えばRAM1002に記憶する。ログインユーザ管理部1211は、起動ユーザリストに登録されたユーザ情報を、そのユーザ情報が示すユーザがログアウトするか、当該ユーザ情報が示すユーザにより起動された本体ユーザプロセス部111が終了されるまで、RAM1002上に保持する。起動ユーザリストは、必要に応じて本体システムサービス部121により参照される。 As described above, in the main body system service unit 121, the login user management unit 1211 registers the user information passed from the main body user process unit 111 in the activation user list and stores it in, for example, the RAM 1002. The login user management unit 1211 logs out the user information registered in the activation user list until the user indicated by the user information logs out or the main body user process unit 111 activated by the user indicated by the user information is terminated. It is held on the RAM 1002. The activation user list is referred to by the main body system service unit 121 as necessary.

図9の例では、ログインユーザ名「userA」および「userB」の各ユーザによりそれぞれ本体ユーザプロセス部111が起動された状態が示されている。図9において、ログインユーザ名「userA」のユーザにより起動された本体ユーザプロセス部111を本体ユーザプロセス部111#Aとし、ログインユーザ名「userB」のユーザにより起動された本体ユーザプロセス部111を本体ユーザプロセス部111#Bとして、それぞれ示されている。 In the example of FIG. 9, the state in which the main body user process unit 111 is started by each user of the login user names “userA” and “userB” is shown. In FIG. 9, the main body user process unit 111 started by the user with the login user name “userA” is referred to as the main body user process unit 111 # A, and the main body user process unit 111 started by the user with the login user name “userB” is the main body. It is shown as a user process unit 111 # B, respectively.

本体ユーザプロセス部111#Aおよび111#Bは、それぞれ、例えばログインユーザ名「userA」および「userB」をユーザ情報として本体システムサービス部121に渡す。本体システムサービス部121において、ログインユーザ管理部1211は、これらログインユーザ名「userA」および「userB」を起動ユーザリスト(表1参照)に登録し、例えばRAM1002に記憶させ保持する。 The main body user process units 111 # A and 111 # B pass, for example, the login user names "userA" and "userB" as user information to the main body system service unit 121, respectively. In the main body system service unit 121, the login user management unit 1211 registers these login user names “userA” and “userB” in the activation user list (see Table 1), and stores and retains them in, for example, RAM 1002.

図6のステップS105において、本体ユーザプロセス部111は、アップデートインストール処理の実行を開始する前に、本体システムサービス部121に対して、自身を起動させたユーザのユーザ情報を渡し、自身以外に、他のユーザ情報を持つユーザにより本体ユーザプロセス部111が起動されているか否かを問い合わせる。 In step S105 of FIG. 6, the main body user process unit 111 passes the user information of the user who started itself to the main body system service unit 121 before starting the execution of the update installation process, and other than itself, Inquires whether or not the main body user process unit 111 is started by a user having other user information.

本体システムサービス部121において、ログインユーザ管理部1211は、この問い合わせに応じて、保持している起動ユーザリストを参照して、本体ユーザプロセス部111から渡されたユーザ情報以外のユーザ情報が当該起動ユーザリストに登録されているか否かを調べ、その結果を本体ユーザプロセス部111に渡す。本体ユーザプロセス部111は、ログインユーザ管理部1211から渡された結果が、本体システムサービス部121に渡したユーザ情報以外のユーザ情報が起動ユーザリストに登録されている旨を示している場合、現在、他のユーザにより本体ユーザプロセス部111が起動中であると判定する。 In the main body system service unit 121, the login user management unit 1211 refers to the held start user list in response to this inquiry, and user information other than the user information passed from the main body user process unit 111 is used for the start. It is checked whether or not it is registered in the user list, and the result is passed to the main body user process unit 111. When the result passed from the login user management unit 1211 indicates that the user information other than the user information passed to the main unit system service unit 121 is registered in the activation user list, the main body user process unit 111 is currently , It is determined that the main body user process unit 111 is being started by another user.

例えば、図9の例において、起動ユーザリストにユーザ情報「userA」および「userB」が登録されている状態で、本体ユーザプロセス部111#Bからログインユーザ管理部1211に対して、ユーザ情報「userB」に関して問い合わせがなされたものとする。この場合、起動ユーザリストには、ユーザ情報「userB」の他に、当該ユーザ情報「userB」とは異なるユーザ情報「userA」が登録されているため、現在、他のユーザにより本体ユーザプロセス部111(この場合は本体ユーザプロセス部111#A)が起動中であると判定する。 For example, in the example of FIG. 9, the user information "userB" is registered from the main body user process unit 111 # B to the login user management unit 1211 while the user information "userA" and "userB" are registered in the activation user list. It is assumed that an inquiry has been made regarding. In this case, since the user information "userA" different from the user information "userB" is registered in the activation user list in addition to the user information "userB", the main body user process unit 111 is currently registered by another user. (In this case, it is determined that the main body user process unit 111 # A) is being started.

なお、上述では、実施形態に係る支援ソフトウェア100を内包するアップデートインストーラがファイルサーバ20に保存されているように説明したが、これはこの例に限定されない。例えば、ネットワーク2に接続される管理用コンピュータに当該アップデートインストーラを保存しておくことも考えられる。 In the above description, the update installer including the support software 100 according to the embodiment is described as being stored in the file server 20, but this is not limited to this example. For example, it is conceivable to save the update installer on the management computer connected to the network 2.

上述したように、実施形態では、アップデートインストーラがシステム権限プロセスによるアップデートインストーラプロセス監視部1220から起動されるため、システム権限が継承される。これにより、UACによるポップアップ表示画面30の表示が回避され、ソフトウェアのアップデートインストール処理時にユーザに要求されるアクションを抑制できる。 As described above, in the embodiment, since the update installer is started from the update installer process monitoring unit 1220 by the system authority process, the system authority is inherited. As a result, the display of the pop-up display screen 30 by the UAC is avoided, and the action required for the user during the software update installation process can be suppressed.

また、実施形態では、ログインユーザによりアップデートインストーラの起動が指示された際に、ログインユーザ管理部1211により、起動ユーザリストに基づき他のログインユーザが本体ユーザプロセス部111を起動していない場合に、アップデートインストーラの起動を可能としている。 Further, in the embodiment, when the login user instructs to start the update installer, the login user management unit 1211 does not start the main body user process unit 111 based on the startup user list. It is possible to start the update installer.

そのため、アップデートインストーラがシステム権限を継承して動作していても、複数有り得る動作環境からアップデートインストーラが起動されているデスクトップを特定でき、アップデートインストーラの動作に応じたUI画面を表示可能である。また、他のログインユーザが本体ユーザプロセス部111の機能を実行してる場合に、その機能が妨げられることが防がれる。 Therefore, even if the update installer inherits the system privileges and operates, it is possible to identify the desktop on which the update installer is running from multiple possible operating environments, and it is possible to display the UI screen according to the operation of the update installer. Further, when another logged-in user is executing the function of the main body user process unit 111, it is possible to prevent the function from being hindered.

なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。 It should be noted that each of the above-described embodiments is a preferred example of the present invention, but is not limited thereto, and can be carried out by various modifications without departing from the gist of the present invention.

2 ネットワーク
10a,10b クライアントPC
20 ファイルサーバ
30 ポップアップ表示画面
40,41 進捗表示画面
100 支援ソフトウェア
110 ユーザプロセス部
111,111#A,111#B 本体ユーザプロセス部
112 アップデートエージェントユーザプロセス部
120 システムプロセス部
121 本体システムサービス部
122 アップデートエージェントシステムプロセス部
130 特定ソフトウェア
140 アップデートインストーラ
1110 アップデート確認部
1111 インストーラ取得部
1112 アップデートエージェントユーザプロセス起動部
1120 本体ユーザプロセス起動・停止部
1121 UI表示部
1122 アップデート状況監視部
1211 ログインユーザ管理部
1212 アップデートエージェント管理部
1220 アップデートインストーラプロセス監視部
1221 システムサービス起動・停止部
2 Network 10a, 10b Client PC
20 File server 30 Pop-up display screen 40, 41 Progress display screen 100 Support software 110 User process unit 111, 111 # A, 111 # B Main unit User process unit 112 Update agent User process unit 120 System process unit 121 Main unit system service unit 122 Update Agent System process unit 130 Specific software 140 Update installer 1110 Update confirmation unit 1111 Installer acquisition unit 1112 Update agent User process startup unit 1120 Main unit User process start / stop unit 1121 UI display unit 1122 Update status monitoring unit 1211 Login user management unit 1212 Update agent Management unit 1220 Update installer Process monitoring unit 1221 System service start / stop unit

特開2014-179006号公報Japanese Unexamined Patent Publication No. 2014-179006

Claims (4)

システム権限で実行される第1プロセスと、ユーザ権限で実行される第2プロセスと、をコンピュータに実行させるための情報処理プログラムであって、
実行時に前記システム権限が必要なプロセスを前記コンピュータに実行させるためのプログラムの起動を指示する起動指示を前記第1プロセスに通知する、前記第2プロセスに含まれる通知ステップと、
前記通知ステップによる前記通知に応じて、該第1プロセスを介して起動された場合に該システム権限が継承される第1プロセスにより前記プログラムを起動させる起動ステップと、
前記第2プロセスを実行させているユーザのユーザ情報を管理する、前記第1プロセスに含まれる管理ステップと、
をコンピュータに実行させ
前記通知ステップは、
前記起動指示を前記第1プロセスに通知する際に、前記管理ステップに対して、当該通知ステップの実行に係るユーザ以外の他のユーザにより前記第2プロセスが実行されているか否かを問い合わせ、該問い合わせの結果、前記第2プロセスを実行させている該他のユーザが存在しないとされた場合に、前記起動指示を前記第1プロセスに通知する
ための情報処理プログラム。
An information processing program for causing a computer to execute a first process executed with system privileges and a second process executed with user privileges.
A notification step included in the second process, which notifies the first process of a start instruction instructing the computer to start a program that requires the system privilege at the time of execution.
In response to the notification by the notification step, a start step of starting the program by the first process to which the system authority is inherited when the program is started via the first process.
A management step included in the first process, which manages user information of a user who is executing the second process, and
Let the computer run
The notification step is
When notifying the first process of the activation instruction, the management step is inquired as to whether or not the second process is being executed by a user other than the user involved in the execution of the notification step. As a result of the inquiry, when it is determined that the other user who is executing the second process does not exist, the start instruction is notified to the first process.
Information processing program for.
前記プログラムによる動作に応じた情報を提示する、前記第2プロセスに含まれる提示ステップをさらに含み、
前記起動ステップは、起動させた前記プログラムの動作を監視し、
前記提示ステップは、該起動ステップによる該監視の結果に基づき前記情報を提示する
請求項1に記載の情報処理プログラム。
Further including a presentation step included in the second process, which presents information according to the operation of the program.
The start step monitors the operation of the started program and monitors it.
The information processing program according to claim 1, wherein the presentation step presents the information based on the result of the monitoring by the activation step.
システム権限で実行される第1処理部と、ユーザ権限で実行される第2処理部と、を有する情報処理装置であって、
実行時に前記システム権限が必要な処理を前記情報処理装置に実行させるためのプログラムの起動を、起動指示に応じて前記第1処理部に通知する、前記第2処理部に含まれる通知部と、
前記通知部による前記通知に応じて、該第1処理部を介して起動された場合に該システム権限が継承される第1処理部により前記プログラムを起動させる起動部と、
前記第2処理部を実行させているユーザのユーザ情報を管理する、前記第1処理部に含まれる管理部と、
を有し、
前記通知部は、
前記起動指示を前記第1処理部に通知する際に、前記管理部に対して、当該通知部の実行に係るユーザ以外の他のユーザにより前記第2処理部が実行されているか否かを問い合わせ、該問い合わせの結果、前記第2処理部を実行させている該他のユーザが存在しないとされた場合に、前記起動指示を前記第1処理部に通知する
情報処理装置。
An information processing device having a first processing unit executed with system privileges and a second processing unit executed with user privileges.
A notification unit included in the second processing unit that notifies the first processing unit of the start of a program for causing the information processing apparatus to execute a process requiring the system authority at the time of execution.
In response to the notification by the notification unit, the activation unit that activates the program by the first processing unit to which the system authority is inherited when the program is activated via the first processing unit.
A management unit included in the first processing unit that manages user information of a user who is executing the second processing unit, and a management unit.
Have,
The notification unit
When notifying the first processing unit of the activation instruction, the management unit is inquired as to whether or not the second processing unit is being executed by a user other than the user who is involved in the execution of the notification unit. As a result of the inquiry, when it is determined that the other user who is executing the second processing unit does not exist, the activation instruction is notified to the first processing unit.
Information processing equipment.
システム権限で実行される第1プロセスと、ユーザ権限で実行される第2プロセスと、が実行される情報処理装置における情報処理方法であって、
実行時に前記システム権限が必要なプロセスを前記情報処理装置に実行させるためのプログラムの起動を、起動指示に応じて前記第1プロセスに通知する、前記第2プロセスに含まれる通知ステップと、
前記通知ステップによる前記通知に応じて、該第1プロセスを介して起動された場合に該システム権限が継承される第1プロセスにより前記プログラムを起動させる起動ステップと、
前記第2プロセスを実行させているユーザのユーザ情報を管理する、前記第1プロセスに含まれる管理ステップと、
を有し、
前記通知ステップは、
前記起動指示を前記第1プロセスに通知する際に、前記管理ステップに対して、当該通知ステップの実行に係るユーザ以外の他のユーザにより前記第2プロセスが実行されているか否かを問い合わせ、該問い合わせの結果、前記第2プロセスを実行させている該他のユーザが存在しないとされた場合に、前記起動指示を前記第1プロセスに通知する
情報処理方法。
It is an information processing method in an information processing apparatus in which a first process executed with system authority and a second process executed with user authority are executed.
A notification step included in the second process, which notifies the first process of the start of a program for causing the information processing apparatus to execute a process requiring the system authority at the time of execution, in response to a start instruction.
In response to the notification by the notification step, a start step of starting the program by the first process to which the system authority is inherited when the program is started via the first process.
A management step included in the first process, which manages user information of a user who is executing the second process, and
Have,
The notification step is
When notifying the first process of the activation instruction, the management step is inquired as to whether or not the second process is being executed by a user other than the user involved in the execution of the notification step. As a result of the inquiry, when it is determined that the other user who is executing the second process does not exist, the start instruction is notified to the first process.
Information processing method.
JP2017106453A 2017-05-30 2017-05-30 Information processing program, information processing device and information processing method Active JP7019968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017106453A JP7019968B2 (en) 2017-05-30 2017-05-30 Information processing program, information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017106453A JP7019968B2 (en) 2017-05-30 2017-05-30 Information processing program, information processing device and information processing method

Publications (2)

Publication Number Publication Date
JP2018205798A JP2018205798A (en) 2018-12-27
JP7019968B2 true JP7019968B2 (en) 2022-02-16

Family

ID=64957889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017106453A Active JP7019968B2 (en) 2017-05-30 2017-05-30 Information processing program, information processing device and information processing method

Country Status (1)

Country Link
JP (1) JP7019968B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310424A (en) 2007-06-12 2008-12-25 Canon Inc Information processing method and program
WO2016105969A1 (en) 2014-12-26 2016-06-30 Mcafee, Inc. Trusted updates

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011238154A (en) * 2010-05-13 2011-11-24 Seiko Epson Corp Installation control device, installation control program and installation control method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310424A (en) 2007-06-12 2008-12-25 Canon Inc Information processing method and program
WO2016105969A1 (en) 2014-12-26 2016-06-30 Mcafee, Inc. Trusted updates

Also Published As

Publication number Publication date
JP2018205798A (en) 2018-12-27

Similar Documents

Publication Publication Date Title
US8243294B2 (en) Simplified walk-up print driver installation
US11216266B2 (en) Information processing apparatus and firmware updating method
JP7069672B2 (en) Application update method and program
JP2011238154A (en) Installation control device, installation control program and installation control method
US9612818B2 (en) Information processing apparatus, program management method for information processing apparatus, and non-transitory computer-readable storage medium
JP6889617B2 (en) Information processing equipment, program management methods, and programs
JP5487962B2 (en) Operation suppression system, image forming apparatus, operation suppression information providing apparatus, and operation suppression method
JP4946141B2 (en) Configuration change program and information processing apparatus
US20090241099A1 (en) Image forming apparatus and firmware history information offering method thereof
JP2011180681A (en) Installer and method for installing printer driver
JP4792744B2 (en) Image processing device
JP2016099775A (en) Electronic device having firmware update function
JP7019968B2 (en) Information processing program, information processing device and information processing method
US10554841B2 (en) Image forming apparatus, control method thereof and medium
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
US12105790B2 (en) Information processing apparatus, method, and program storage medium
JP5526663B2 (en) Information processing apparatus, software management system, and software management method
JP2007304768A (en) Recovery management device
CN112579119A (en) Firmware update system, electronic device, and computer-readable non-transitory recording medium
JP2008090727A (en) Information processing apparatus, information processing method, and information processing program
JP4678342B2 (en) Print control program
US20230138149A1 (en) Image forming apparatus, and control method for controlling image forming apparatus
JP2005216079A (en) Information processor, information processing system, and method and program for device setting information management
US20250013401A1 (en) Image forming apparatus communicably connected with management server managing application, method for controlling image forming apparatus, storage medium, and management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220117

R151 Written notification of patent or utility model registration

Ref document number: 7019968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151