JP2021165939A - program - Google Patents

program Download PDF

Info

Publication number
JP2021165939A
JP2021165939A JP2020069066A JP2020069066A JP2021165939A JP 2021165939 A JP2021165939 A JP 2021165939A JP 2020069066 A JP2020069066 A JP 2020069066A JP 2020069066 A JP2020069066 A JP 2020069066A JP 2021165939 A JP2021165939 A JP 2021165939A
Authority
JP
Japan
Prior art keywords
program
installation
target
version
target program
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.)
Granted
Application number
JP2020069066A
Other languages
Japanese (ja)
Other versions
JP7484356B2 (en
Inventor
紀彦 浅井
Norihiko Asai
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020069066A priority Critical patent/JP7484356B2/en
Publication of JP2021165939A publication Critical patent/JP2021165939A/en
Application granted granted Critical
Publication of JP7484356B2 publication Critical patent/JP7484356B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide a technique which appropriately operates an installed program which is used for program installation.SOLUTION: A CPU 11 of a PC 1 determines whether a program being a different version of an object program to be installed or a program being a same version as the object program has been installed or not by running an installer 47 and installs the object program when determining that neither the different version program nor the same version program has been installed, and avoids a procedure of installing the object program without uninstalling the already installed different version program when determining that the different version program has been installed.SELECTED DRAWING: Figure 2

Description

本発明は、プログラムのインストールに用いるプログラムに関する。 The present invention relates to a program used to install a program.

プログラムのインストールに用いるプログラムに関する技術が知られている。例えば、特許文献1には、FAX装置を制御するFAXドライバをインストールするためのインストーラが開示されている。 The technology related to the program used to install the program is known. For example, Patent Document 1 discloses an installer for installing a FAX driver that controls a FAX device.

特開2020−27358号公報Japanese Unexamined Patent Publication No. 2020-27358

インストール済みのプログラムをアップデートする場合、アップデート後のプログラムの動作で不具合が生じる場合がある。 When updating an installed program, problems may occur in the operation of the updated program.

本明細書は、プログラムのインストールに用いるプログラムであって、インストールしたプログラムを適切に動作させる技術を開示する。 This specification is a program used for installing a program, and discloses a technique for appropriately operating the installed program.

この課題の解決を目的としてなされたインストール用のプログラムは、情報処理装置のコンピュータに、インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、さらに前記コンピュータに、前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順である、ことを特徴としている。 The installation program made for the purpose of solving this problem is the computer of the information processing device, and whether the target program to be installed has a different version program or the same version program already installed in the information processing device. When the installation determination process for determining whether or not to perform is executed, and the installation determination process determines that neither the version difference program nor the same version program has been installed on the computer, the target program is subjected to the information. When the installation process for installing in the processing device is executed and the installation determination process determines that the version difference program has already been installed, the avoidance process for avoiding the first update procedure is executed. The first update procedure is characterized in that the target program is installed without uninstalling the installed different version program.

本明細書に開示されるプログラムによれば、対象プログラムとバージョンが異なるバージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールすることなく対象プログラムをインストールする第1更新手順を回避する。第1更新手順を実行すると、インストール後の対象プログラムの動作で不具合が発生する可能性が高まる。本プログラムは、この第1更新手順を回避することから、インストール対象の対象プログラムの動作で不具合が生じる可能性を低減でき、対象プログラムが適切に動作する可能性が高まる。 According to the program disclosed in the present specification, when a different version program having a different version from the target program is already installed, the first update procedure for installing the target program without uninstalling the different version program is avoided. When the first update procedure is executed, there is a high possibility that a problem will occur in the operation of the target program after installation. Since this program avoids this first update procedure, it is possible to reduce the possibility that a problem will occur in the operation of the target program to be installed, and the possibility that the target program will operate properly will increase.

上記プログラムによって実現される制御方法、当該プログラムを実行する情報処理装置、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。 A control method realized by the above program, an information processing device that executes the program, and a storage medium that can be read by a computer that stores the program are also new and useful.

本明細書に開示される技術によれば、プログラムのインストールに用いるプログラムであって、インストールしたプログラムを適切に動作させる技術が実現される。 According to the technique disclosed in the present specification, a program used for installing a program and a technique for appropriately operating the installed program is realized.

実施の形態にかかるPCの概略構成図である。It is a schematic block diagram of the PC which concerns on embodiment. セットアップ処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a setup process. 選択受付画面の例を示す説明図である。It is explanatory drawing which shows the example of the selection reception screen. 最新メッセージの例を示す説明図である。It is explanatory drawing which shows the example of the latest message. 更新処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the update process. 要アンインストールメッセージの例を示す説明図である。It is explanatory drawing which shows the example of the uninstall required message. セットアップ処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of a setup process. アンインストールメッセージの例を示す説明図である。It is explanatory drawing which shows the example of the uninstall message.

以下、プログラムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)にて実行されるプログラムを開示するものである。 Hereinafter, embodiments in which the program is embodied will be described in detail with reference to the attached drawings. This embodiment discloses a program executed by a personal computer (hereinafter referred to as "PC").

本形態のPC1は、プリント機能とスキャン機能との少なくとも一方を有するデバイスと接続可能なものである。PC1は、接続されているデバイスに各種の機能を行わせるための各種のアプリケーションプログラム(以下、「アプリ」とする)を実行可能な装置である。本形態のPC1は、図1に示すように、例えば、複合機2と通信可能に接続され、これらを制御する。PC1は、情報処理装置の一例である。PC1に代えて、例えば、スマートフォン、タブレットコンピュータであっても良い。複合機2は、プリント機能とスキャン機能との両方の機能を有するデバイスである。 The PC 1 of this embodiment can be connected to a device having at least one of a print function and a scan function. The PC 1 is a device capable of executing various application programs (hereinafter referred to as "applications") for causing a connected device to perform various functions. As shown in FIG. 1, the PC 1 of this embodiment is communicably connected to, for example, the multifunction device 2 and controls them. PC1 is an example of an information processing device. Instead of PC1, for example, a smartphone or a tablet computer may be used. The multifunction device 2 is a device having both a print function and a scan function.

本形態のPC1は、図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。CPU11は、コンピュータの一例である。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、図1中のコントローラ10は、PC1等の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1等に存在する単一のハードウェアを表すとは限らない。 As shown in FIG. 1, the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12. The CPU 11 is an example of a computer. Further, the PC 1 includes a user interface (hereinafter referred to as “user IF”) 13 and a communication interface (hereinafter referred to as “communication IF”) 14, which are electrically connected to the controller 10. .. Note that the controller 10 in FIG. 1 is a general term for hardware and software used for controlling the PC 1 and the like, and does not necessarily represent a single hardware that actually exists in the PC 1 and the like.

CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。メモリ12は、例えば、ROM、RAM、HDD、フラッシュメモリであり、PC1を起動するための起動プログラム等の各種のプログラムや、画像データ、文書データ、各種の設定情報等の各種のデータ、が記憶される記憶領域である。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。 The CPU 11 executes various processes according to the program read from the memory 12 and based on the user's operation. The memory 12 is, for example, a ROM, a RAM, an HDD, or a flash memory, and stores various programs such as a startup program for starting the PC 1 and various data such as image data, document data, and various setting information. The storage area to be stored. The memory 12 is also used as a work area when various processes are executed. The buffer included in the CPU 11 is also an example of the memory.

メモリ12の一例は、PC1に内蔵されるHDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。 An example of the memory 12 is not limited to the HDD built in the PC 1, and may be a storage medium that can be read and written by the CPU 11. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, the non-transitory medium also includes a recording medium such as a CD-ROM or a DVD-ROM. The non-transitory medium is also a tangible medium. On the other hand, an electric signal that carries a program downloaded from a server on the Internet is a computer-readable signal medium, which is a kind of computer-readable medium, but is a storage that can be read by a non-transitory computer. Not included in the medium.

ユーザIF13は、情報を画面に表示するハードウェアと、ユーザによる入力操作を受け付けるハードウェアと、を含む。ユーザIF13は、表示用のディスプレイと、キーボード、マウス等との組み合わせであっても良いし、表示機能と入力受付機能とを備えるタッチパネルであっても良い。ユーザIF13は、出力インタフェースの一例と入力インタフェースの一例とを含む。 The user IF 13 includes hardware that displays information on the screen and hardware that accepts input operations by the user. The user IF 13 may be a combination of a display for display, a keyboard, a mouse, or the like, or may be a touch panel having a display function and an input reception function. The user IF 13 includes an example of an output interface and an example of an input interface.

通信IF14は、複合機2等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信方式は、有線でも無線でも良いし、イーサネット(登録商標)、Wi−Fi(登録商標)、Bluetooth(登録商標)、USB、LAN等、どのような規格の方式でもよい。また、通信IF14は、複数の方式の構成を含んでいても良い。 The communication IF 14 includes hardware for communicating with an external device such as the multifunction device 2. The communication method of the communication IF14 may be wired or wireless, and may be any standard method such as Ethernet (registered trademark), Wi-Fi (registered trademark), Bluetooth (registered trademark), USB, and LAN. Further, the communication IF 14 may include a configuration of a plurality of methods.

PC1のメモリ12には、図1に示すように、オペレーティングシステム(以下、「OS」とする)41と、プリンタドライバXU45、スキャナドライバXU46と、インストーラ47と、が組み込まれている。OS41は、例えば、Windows(登録商標)、macOS(登録商標)、iOS(登録商標)、Android(登録商標)、Linux(登録商標)である。 As shown in FIG. 1, the memory 12 of the PC 1 incorporates an operating system (hereinafter referred to as “OS”) 41, a printer driver XU45, a scanner driver XU46, and an installer 47. OS41 is, for example, Windows (registered trademark), macOS (registered trademark), iOS (registered trademark), Android (registered trademark), Linux (registered trademark).

プリンタドライバは、プリント機能を有するデバイスと通信を行って、印刷のための動作を制御するプログラムである。本形態のプリンタドライバXU45は、モデルXの複合機2とUSBによる通信を行って印刷を行わせるためのプログラムである。プリンタドライバXU45は、印刷に関するパラメータの編集指示、例えば、印刷媒体としての用紙種類や用紙サイズの選択、印字品質の指定、給紙トレイや排紙トレイの選択、を受け付ける。プリンタドライバXU45が受け付ける印刷パラメータには、複数の項目が含まれる。 A printer driver is a program that communicates with a device having a print function and controls an operation for printing. The printer driver XU45 of this embodiment is a program for communicating with the multifunction device 2 of the model X by USB to perform printing. The printer driver XU45 accepts editing instructions for printing parameters, such as selection of paper type and paper size as a print medium, designation of print quality, and selection of a paper feed tray and a paper output tray. The print parameters accepted by the printer driver XU45 include a plurality of items.

スキャナドライバは、スキャン機能を有するデバイスと通信を行って、原稿の画像の読取のための動作を制御するプログラムである。本形態のスキャナドライバXU46は、モデルXの複合機2とUSBによる通信を行って原稿の画像の読み取りを行わせるためのプログラムである。スキャナドライバXU46は、読み取りに関するパラメータの編集指示、例えば、原稿サイズの選択、カラー読取/モノクロ読取の選択、読取解像度の指定、を受け付ける。スキャナドライバXU46が受け付ける読取パラメータには、複数の項目が含まれる。 A scanner driver is a program that communicates with a device having a scanning function and controls an operation for reading an image of a document. The scanner driver XU46 of this embodiment is a program for communicating with the multifunction device 2 of the model X by USB to read the image of the original. The scanner driver XU46 accepts editing instructions for parameters related to scanning, such as selection of document size, selection of color scanning / monochrome scanning, and specification of scanning resolution. The reading parameters accepted by the scanner driver XU46 include a plurality of items.

インストーラ47は、複合機2等のデバイスを制御するプリンタドライバやスキャナドライバを、PC1にインストールするために使用されるインストール用のプログラムである。プリンタドライバやスキャナドライバは、対応するデバイスのモデルや通信IFの種類ごとにそれぞれ異なるプログラムであり、機能の追加や不具合の解消のために適宜更新される。 The installer 47 is an installation program used to install a printer driver or a scanner driver that controls a device such as the multifunction device 2 on the PC1. The printer driver and the scanner driver are different programs depending on the model of the corresponding device and the type of communication IF, and are updated as appropriate in order to add functions and solve problems.

例えば、PC1にインストール済みのプリンタドライバXU45やスキャナドライバXU46が更新された場合、更新後のプログラムのインストールを希望するユーザは、図1に示すように、PC1にインストーラ47を組み込んで、インストーラ47を実行させる。また、PC1と複合機2とをUSB以外の通信方法で接続して使用する場合も、異なるプログラムが必要となることから、インストーラ47を実行させる必要がある。インストーラ47は、例えば、複合機2のベンダによって管理されるサーバからダウンロードされて、PC1に組み込まれる。インストーラ47は、CD−ROMやDVD−ROM等から読み込まれても良い。 For example, when the printer driver XU45 or the scanner driver XU46 installed on the PC1 is updated, a user who wants to install the updated program installs the installer 47 in the PC1 and installs the installer 47 as shown in FIG. Let it run. Further, when the PC 1 and the multifunction device 2 are connected and used by a communication method other than USB, a different program is required, so that the installer 47 needs to be executed. The installer 47 is, for example, downloaded from a server managed by the vendor of the multifunction device 2 and incorporated into the PC 1. The installer 47 may be read from a CD-ROM, a DVD-ROM, or the like.

なお、本形態のインストーラ47は、例えば、デバイスのシリーズごとに用意されて配布される。デバイスの各シリーズには、複数のモデルのデバイスが含まれる場合がある。つまり、インストーラ47は、複数のモデルのデバイスにそれぞれ対応する複数のプログラムを含む場合がある。そのため、複合機2と同じシリーズの複合機をPC1に新たに接続する場合にも、PC1に同じインストーラ47が組み込まれる。 The installer 47 of this embodiment is prepared and distributed for each series of devices, for example. Each series of devices may include devices of multiple models. That is, the installer 47 may include a plurality of programs corresponding to devices of a plurality of models. Therefore, even when a multifunction device of the same series as the multifunction device 2 is newly connected to the PC 1, the same installer 47 is incorporated in the PC 1.

インストーラ47は、図1に示すように、デバイスのモデルや通信IFの種類ごとにそれぞれ異なる複数のセットアップファイルを含む。各セットアップファイルは、インストール対象のプログラムと、そのプログラムをインストールする際に使用されるインストール情報と、を含む。インストーラ47に含まれる各セットアップファイルには、プリント用又はスキャン用を示す機能と、デバイスのモデルと、通信の種類と、の少なくとも1つが異なる場合、異なる名称が付けられている。 As shown in FIG. 1, the installer 47 includes a plurality of setup files that are different for each device model and communication IF type. Each setup file contains the program to be installed and the installation information used to install the program. Each setup file included in the installer 47 is given a different name if at least one of the print or scan function, the device model, and the type of communication is different.

本形態のインストーラ47は、例えば、図1に示すように、プリンタドライバXUのセットアップファイルであるプリントXUセット71と、スキャナドライバXUのセットアップファイルであるスキャンXUセット72と、を含む。プリントXUセット71は、プリンタドライバXU711と、プリンタドライバXU711をインストールする際に使用されるインストール情報712と、を含む。スキャンXUセット72は、スキャナドライバXU721と、スキャナドライバXU721をインストールする際に使用されるインストール情報722と、を含む。 As shown in FIG. 1, the installer 47 of the present embodiment includes, for example, a print XU set 71 which is a setup file of the printer driver XU and a scan XU set 72 which is a setup file of the scanner driver XU. The print XU set 71 includes a printer driver XU711 and installation information 712 used when installing the printer driver XU711. The scan XU set 72 includes a scanner driver XU721 and installation information 722 used when installing the scanner driver XU721.

本形態のインストーラ47は、さらに、複合機2とLANにて通信するためのプリンタドライバやスキャナドライバのセットアップファイルである、プリントXLセット73やスキャンXLセット74を含む。インストーラ47は、さらに、複合機2とは異なるモデルYの複合機用のプリンタドライバやスキャナドライバのセットアップファイルである、プリントYLセット75やスキャンYLセット76を含む。各セット73〜76も、インストール対象のプログラムとインストール情報とを含む。インストーラ47は、さらに、複合機2等のデバイスの機能を利用するアプリやツールのプログラムをインストールするためのセットアップファイルを含んでも良い。 The installer 47 of this embodiment further includes a print XL set 73 and a scan XL set 74, which are setup files of a printer driver and a scanner driver for communicating with the multifunction device 2 via a LAN. The installer 47 further includes a print YL set 75 and a scan YL set 76, which are setup files of a printer driver and a scanner driver for a multifunction device of model Y different from the multifunction device 2. Each set 73-76 also includes a program to be installed and installation information. The installer 47 may further include a setup file for installing a program of an application or tool that uses the functions of a device such as the multifunction device 2.

インストーラ47は、インストール対象のプログラムを含むセットアップファイルの指定を受け付け、受け付けたセットアップファイルに含まれるプログラムを、PC1にインストールする。各種のOS41のなかには、所定の形式のファイルとインストールの指示を受け取ることで、インストールのための処理を行う機能を有するものがある。そのようなOS41を使用するPC1では、インストーラ47は、セットアップファイルをOS41に渡して、OS41にインストールのための処理を実行させる。 The installer 47 accepts the specification of the setup file including the program to be installed, and installs the program included in the accepted setup file on the PC1. Some of the various OS 41s have a function of performing an installation process by receiving a file in a predetermined format and an installation instruction. In PC1 using such OS41, the installer 47 passes the setup file to OS41 and causes OS41 to execute the process for installation.

OS41は、受け取ったセットアップファイルに含まれるインストール情報を用いて、セットアップファイルに含まれる対象プログラムをPC1にインストールし、インストールが完了したら、インストール完了をインストーラ47に通知する。また、OS41は、インストール済みのプログラムをアンインストールする機能も有し、アンインストールが完了したらアンインストール完了を通知する。セットアップファイルとしては、Windowsにて使用される「.msi」ファイルが該当する。 The OS 41 installs the target program included in the setup file on the PC1 using the installation information included in the received setup file, and when the installation is completed, notifies the installer 47 of the completion of the installation. The OS 41 also has a function of uninstalling the installed program, and notifies the completion of the uninstallation when the uninstallation is completed. The setup file corresponds to the ".msi" file used by Windows.

なお、セットアップファイルは、インストール対象のプログラムを含み、インストール情報を含まないものであっても良い。その場合、インストーラ47は、セットアップファイルと、そのセットアップファイルに対応するインストール情報とをOS41に渡すことで、OS41にインストールのための処理を実行させる。インストーラ47は、例えば、複合機2のベンダによって管理されるサーバからダウンロードすることでインストール情報を取得しても良い。また、インストーラ47は、ユーザ操作によって指定されたファイルを読み込んで、インストール情報を取得しても良い。 The setup file may include the program to be installed and may not include the installation information. In that case, the installer 47 causes the OS 41 to execute the process for installation by passing the setup file and the installation information corresponding to the setup file to the OS 41. The installer 47 may acquire installation information by downloading from, for example, a server managed by the vendor of the multifunction device 2. Further, the installer 47 may read the file specified by the user operation to acquire the installation information.

プリンタドライバやスキャナドライバは、適宜更新されることから、それぞれバージョン情報が付加されている。インストーラ47は、その配布時期などによって、異なるバージョンのプログラムを含む可能性がある。例えば、PC1にインストール済みのプリンタドライバXU45と、インストーラ47に含まれるプリントXUセット71のプリンタドライバXU711とは、名称が同じであってもバージョンが異なる可能性がある。なお、同じシルーズの異なるモデル用のプログラムや、同じモデルで通信IFの種類が異なるプログラムでは、一部のモジュールが共通の場合がある。共通のモジュールが更新された場合、そのモジュールを使用する全てのプログラムのバージョン情報が更新される。 Since the printer driver and the scanner driver are updated as appropriate, version information is added to each. The installer 47 may include a different version of the program depending on the distribution time and the like. For example, the printer driver XU45 installed on the PC1 and the printer driver XU711 of the print XU set 71 included in the installer 47 may have different versions even if they have the same name. Note that some modules may be common to programs for different models of the same Shiruzu or programs of the same model but different types of communication IFs. When a common module is updated, the version information of all programs that use that module is updated.

インストーラ47は、OS41がWindowsであれば、OS41によって管理されるレジストリを参照することで、そのプログラムがPC1にインストール済みであるか否かの情報、および、インストール済みであればそのバージョン情報を取得できる。同じ名称で同じバージョンのプログラムは、全く同一のプログラムであり、同バージョンプログラムの一例である。一方、同じ名称であってバージョンの異なるプログラムは、一部が異なるプログラムであり、バージョン違いプログラムの一例である。また、名称の異なるプログラムは、多くの部分が異なる別プログラムである。 If the OS 41 is Windows, the installer 47 refers to the registry managed by the OS 41 to acquire information on whether or not the program is installed on the PC 1, and if it is installed, its version information. can. A program with the same name and the same version is an exact same program and is an example of the same version program. On the other hand, programs having the same name but different versions are partially different programs and are examples of programs with different versions. Also, programs with different names are different programs with many different parts.

なお、プログラムの識別は、名称によるものに限らない。インストール済みのプログラムとインストール対象のプログラムとの対応関係が識別できれば良く、例えば、各プログラムに付与されるID番号によっても良い。 The identification of the program is not limited to the name. It suffices if the correspondence between the installed program and the program to be installed can be identified, and for example, the ID number assigned to each program may be used.

そして、バージョンの異なるプリンタドライバやスキャナドライバでは、使用するパラメータの形式が異なる場合がある。パラメータの形式が異なる場合、バージョンアップ前のプログラムで使用していたパラメータを残したまま、そのパラメータをバージョンアップ後のプログラムで使用すると、不具合が生じる可能性がある。例えば、ある項目のパラメータにて選択可能な選択肢の数が、バージョンアップによって変更される場合がある。パラメータの情報には、選択肢とその選択肢が選択された場合に適用される情報とが組み合わせて記憶されており、選択肢の数が変更されると使用する記憶領域の大きさが異なることから、他の項目のパラメータの情報が乱される可能性がある。そのため、既にインストール済みのプログラムに対して、バージョンの異なるプログラムを安易に上書きしてインストールすることは好ましくない。 The format of the parameters used may differ between printer drivers and scanner drivers of different versions. If the parameter format is different, a problem may occur if the parameter used in the program before the version upgrade is left and the parameter is used in the program after the version upgrade. For example, the number of options that can be selected with the parameters of a certain item may be changed by version upgrade. The parameter information is stored in combination with the options and the information applied when the options are selected, and the size of the storage area used differs when the number of options is changed. The parameter information of the item may be disturbed. Therefore, it is not preferable to easily overwrite and install a program having a different version on a program that has already been installed.

しかし、例えば、OS41によるインストール機能を用いた場合、同じ名称のプログラムがPC1にインストール済みであれば、インストール対象として指定されたプログラムがインストール済みのプログラムに上書きしてインストールされる可能性がある。そのため、インストール済みのプログラムをアンインストールせずに、インストール対象のプログラムのインストールを行うと、インストール後のプログラムの動作で不具合が発生する可能性がある。 However, for example, when the installation function by OS41 is used, if a program having the same name is already installed on the PC1, the program specified as the installation target may overwrite the installed program and be installed. Therefore, if the program to be installed is installed without uninstalling the installed program, a problem may occur in the operation of the program after installation.

次に、インストーラ47によるセットアップ手順について、フローチャートを参照して説明する。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、PC1のOSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。 Next, the setup procedure by the installer 47 will be described with reference to the flowchart. The following processing and each processing step in the flowchart basically indicate the processing of the CPU 11 according to the instruction described in the program. That is, the processing of "judgment", "extraction", "selection", "calculation", "decision", "specification", "acquisition", "acceptance", "control", etc. in the following description is the processing of the CPU 11. Represents. The processing by the CPU 11 also includes hardware control using the API of the OS of the PC1. In this specification, the operation of each program will be described by omitting the description of the OS. That is, in the following description, the description to the effect that "program B controls hardware C" may refer to "program B controls hardware C using the API of the OS". In addition, the processing of the CPU 11 according to the instructions described in the program may be described in abbreviated terms. For example, it may be described as "CPU 11 performs". Further, the processing of the CPU 11 according to the instruction described in the program may be described by a wording that omits the CPU, such as "program A performs".

なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPU11がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。 Note that "acquisition" is used in a concept that does not require a request. That is, the process of receiving the data without the CPU 11 requesting is also included in the concept of "the CPU 11 acquires the data". Further, the "data" in the present specification is represented by a bit string that can be read by a computer. Then, data having the same substantial meaning and contents but different formats are treated as the same data. The same applies to "information" in the present specification. Further, "requesting" and "instructing" are concepts indicating that information indicating that a request is being made or information indicating that an instruction is being given is output to the other party. In addition, the information indicating that the request is made or the information indicating that the instruction is given is simply described as "request" or "instruction".

また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。 Further, the process of determining whether or not the information A indicates that the information A is the matter B by the CPU 11 is conceptually described as "determining whether or not the information A is the matter B from the information A". There is. The process of determining whether the information A indicates that the information A is the matter B or the matter C by the CPU 11 is "determined from the information A whether the information A is the matter B or the matter C." It may be described conceptually as.

以下、セットアップ処理の手順について、図2のフローチャートを参照して説明する。このセットアップ処理は、PC1にてインストーラ47が起動されたことを契機に、PC1のCPU11にて実行される。 Hereinafter, the procedure of the setup process will be described with reference to the flowchart of FIG. This setup process is executed by the CPU 11 of the PC 1 when the installer 47 is started by the PC 1.

セットアップ処理では、CPU11は、ユーザによる各種の選択を受け付けるための選択受付画面をユーザIF13に表示させる(S101)。そして、CPU11は、モデルの選択を受け付け(S102)、通信IF14の種類の選択を受け付け(S103)、機能の選択を受け付ける(S104)。S102〜S104により、CPU11は、インストール対象のプログラムである対象プログラムを決定する。すなわち、CPU11は、インストール対象のプログラムを含むセットアップファイルを決定する。S102〜S104は、プログラム選択処理の一例である。 In the setup process, the CPU 11 causes the user IF 13 to display a selection acceptance screen for accepting various selections by the user (S101). Then, the CPU 11 accepts the selection of the model (S102), the selection of the type of the communication IF 14 (S103), and the selection of the function (S104). According to S102 to S104, the CPU 11 determines a target program which is a program to be installed. That is, the CPU 11 determines a setup file including the program to be installed. S102 to S104 are examples of program selection processing.

S102にて受け付けるモデルの選択は、第2選択の一例であり、S102にて選択されたモデルのデバイスは、選択デバイスの一例である。また、S103にて受け付ける通信IF14の種類の選択は、第1選択の一例であり、S103にて選択された通信IF14の種類は、選択インタフェースの一例である。対象プログラムは、S103にて選択された通信IFを用いてS102にて選択されたモデルのデバイスと通信するためのプログラムである。 The selection of the model accepted in S102 is an example of the second selection, and the device of the model selected in S102 is an example of the selection device. Further, the selection of the type of communication IF14 received in S103 is an example of the first selection, and the type of communication IF14 selected in S103 is an example of the selection interface. The target program is a program for communicating with the device of the model selected in S102 using the communication IF selected in S103.

選択受付画面は、例えば、図3に示すように、モデル、通信IFの種類、機能、のそれぞれの選択を受け付ける各ラジオボタンと、OKボタン511とを含む選択受付画面51である。各ラジオボタンは、その項目の複数の選択肢のうちの1つの選択を受け付けるボタンである。CPU11は、選択受付画面51中のOKボタン511への操作を受け付けた場合、その時点で選択されている内容をユーザの選択として受け付ける。例えば、図3に示すように、モデルとして「モデルX」、通信IFの種類として「LAN」、機能として「プリント」が選択された状態でOKボタン511が操作された場合、CPU11は、プリントXLセット73(図1参照)をインストール対象のプログラムを含むセットアップファイルとして決定する。 As shown in FIG. 3, the selection reception screen is, for example, a selection reception screen 51 including each radio button that accepts selection of a model, a type of communication IF, and a function, and an OK button 511. Each radio button is a button that accepts the selection of one of a plurality of options for the item. When the CPU 11 accepts an operation on the OK button 511 on the selection acceptance screen 51, the CPU 11 accepts the content selected at that time as a user's selection. For example, as shown in FIG. 3, when the OK button 511 is operated with "model X" selected as the model, "LAN" as the communication IF type, and "print" selected as the function, the CPU 11 prints XL. Set 73 (see FIG. 1) is determined as the setup file containing the program to be installed.

プリンタドライバやスキャナドライバは、デバイスのモデルおよび通信IFの種類ごとに設けられる。本形態のインストーラ47は、複数のセットアップファイルを含み、その中からセットアップファイルの選択を受け付けて、選択されたセットアップファイルのインストールを実行するインストーラである。1つのセットアップファイルのみを含むインストーラであれば、インストール対象のプログラムごとに異なるインストーラをPC1に組み込む必要がある。本形態のインストーラ47は、複数のプログラムを選択的にインストール可能な1つのインストールパッケージとして提供されるので、そのようなユーザの手間を軽減できる。 Printer drivers and scanner drivers are provided for each device model and communication IF type. The installer 47 of this embodiment is an installer that includes a plurality of setup files, accepts the selection of the setup file from the set-up files, and executes the installation of the selected setup file. If the installer contains only one setup file, it is necessary to install a different installer in PC1 for each program to be installed. Since the installer 47 of this embodiment is provided as one installation package in which a plurality of programs can be selectively installed, the trouble of such a user can be reduced.

なお、図3では、モデル、通信IFの種類、機能の全てを受け付ける1つの画面の例を示しているが、それぞれの項目ごとに異なる画面で順次受け付けても良い。また、ラジオボタンに限らず、複数のプログラムを選択可能に受け付ける画面であっても良い。例えば、各選択肢にチェックボックスを設け、複数の選択肢を選択する操作を受け付けても良い。複数の選択肢が選択された場合、CPU11は、複数のセットアップファイルをインストール対象として決定し、セットアップファイルごとに以後の処理(図2のS105〜S113の処理)を実行する。例えば、モデルX、LAN、プリントとスキャン、が選択された場合、CPU11は、プリントXLセット73の処理を実行し、続けて、スキャンXLセット74の処理を実行する。 Although FIG. 3 shows an example of one screen that accepts all of the model, the type of communication IF, and the function, it may be sequentially accepted on a different screen for each item. Further, the screen is not limited to the radio button, and may be a screen that accepts a plurality of programs in a selectable manner. For example, a check box may be provided for each option to accept an operation for selecting a plurality of options. When a plurality of options are selected, the CPU 11 determines a plurality of setup files as installation targets, and executes subsequent processes (processes S105 to S113 in FIG. 2) for each setup file. For example, when model X, LAN, print and scan are selected, the CPU 11 executes the process of the print XL set 73, and subsequently executes the process of the scan XL set 74.

CPU11は、対象プログラムを決定した後、選択された対象プログラムがPC1にインストール済みであるか否かを判断する(S105)。S105は、インストール判断処理の一例である。S105では、CPU11は、選択された対象プログラムと同じ名称のプログラムがインストール済みであれば、バージョンの一致/不一致に関わらず、インストール済みであると判断する。CPU11は、例えば、OS41がWindowsであれば、レジストリを参照することで、S105の判断を行う。 After determining the target program, the CPU 11 determines whether or not the selected target program is already installed in the PC 1 (S105). S105 is an example of the installation determination process. In S105, if a program having the same name as the selected target program is already installed, the CPU 11 determines that the program has been installed regardless of whether the versions match or does not match. For example, if the OS 41 is Windows, the CPU 11 determines S105 by referring to the registry.

対象プログラムがPC1にインストール済みではないと判断した場合(S105:NO)、つまり、バージョン違いプログラムも同バージョンプログラムもどちらもインストール済みではないと判断した場合、CPU11は、対象プログラムのインストールを行う(S106)。S106は、インストール処理の一例である。 When it is determined that the target program is not installed on PC1 (S105: NO), that is, when it is determined that neither the different version program nor the same version program is installed, the CPU 11 installs the target program (S105: NO). S106). S106 is an example of the installation process.

例えば、図1の構成では、プリンタドライバXU45とスキャナドライバXU46がインストール済みであることから、プリントXUセット71やスキャンXUセット72が選択された場合には、CPU11は、S105にてインストール済みであると判断する。一方、対象プログラムとして、通信IF14の種類が異なるプリントXLセット73やスキャンXLセット74、または、モデルの異なる複合機用のプリントYLセット75やスキャンYLセット76、が選択された場合、CPU11は、S105にてインストール済みではないと判断する。新規のプログラムをインストールする場合には、インストールによる不具合が発生する可能性は低く、CPU11は、対象プログラムをインストールする。 For example, in the configuration of FIG. 1, since the printer driver XU45 and the scanner driver XU46 are already installed, when the print XU set 71 or the scan XU set 72 is selected, the CPU 11 is already installed in S105. Judge. On the other hand, when a print XL set 73 or a scan XL set 74 having a different type of communication IF 14 or a print YL set 75 or a scan YL set 76 for a multifunction device having a different model is selected as the target program, the CPU 11 determines. It is determined in S105 that it has not been installed. When installing a new program, it is unlikely that a problem will occur due to the installation, and the CPU 11 installs the target program.

OS41がインストール機能を有している場合、CPU11は、対象プログラムを含むセットアップファイルを取得し、取得したセットアップファイルをOS41に渡してインストールを指示する。OS41が対象プログラムのインストールを行うことで、インストールに必要なインストーラ47の処理がシンプルになる。 When the OS 41 has an installation function, the CPU 11 acquires a setup file including the target program, passes the acquired setup file to the OS 41, and instructs the installation. When OS 41 installs the target program, the processing of the installer 47 required for installation becomes simple.

CPU11は、インストールが完了したら、完了を示すメッセージをユーザIF13に表示させて(S107)。OS41のインストール機能を利用した場合、CPU11は、OS41からインストール完了の通知を受け取った後、S107を行う。 When the installation is completed, the CPU 11 causes the user IF 13 to display a message indicating the completion (S107). When the installation function of the OS 41 is used, the CPU 11 performs S107 after receiving the notification of the completion of the installation from the OS 41.

一方、対象プログラムがPC1にインストール済みであると判断した場合(S105:YES)、CPU11は、インストール済みのプログラムと対象プログラムとのバージョンが同じであるか否かを判断する(S108)。対象プログラムのバージョン情報は、選択されたセットアップファイルから取得できる。取得したバージョン情報に基づいて、CPU11は、インストール済みのプログラムが、バージョン違いプログラムであるか、同バージョンプログラムであるか、を判断する。例えば、図1の構成で、対象プログラムとしてプリントXUセット71が選択され、プリンタドライバXU711とプリンタドライバXU45とのバージョンが一致している場合、CPU11は、同バージョンプログラムであると判断する。 On the other hand, when it is determined that the target program is already installed in the PC 1 (S105: YES), the CPU 11 determines whether or not the version of the installed program and the target program are the same (S108). The version information of the target program can be obtained from the selected setup file. Based on the acquired version information, the CPU 11 determines whether the installed program is a different version program or the same version program. For example, in the configuration of FIG. 1, when the print XU set 71 is selected as the target program and the versions of the printer driver XU711 and the printer driver XU45 match, the CPU 11 determines that the program is the same version.

同バージョンプログラムであると判断した場合(S108:YES)、CPU11は、インストールを実行せず、インストール済みのプログラムが最新であることを示す最新メッセージをユーザIF13に表示させる(S109)。最新メッセージは、例えば、図4に示すように、既に最新のプログラムがインストール済みであって、セットアップを終了させることを報知するメッセージ52である。メッセージ52は、対象プログラムのインストールをしないことを示す通知であり、S109は、通知処理の一例である。 If it is determined that the program is the same version (S108: YES), the CPU 11 does not execute the installation, and causes the user IF13 to display the latest message indicating that the installed program is the latest (S109). The latest message is, for example, as shown in FIG. 4, a message 52 notifying that the latest program has already been installed and the setup is terminated. Message 52 is a notification indicating that the target program is not installed, and S109 is an example of notification processing.

S107またはS109の後、CPU11は、表示させたメッセージを終了させるユーザの操作を受け付けたか否かを判断する(S110)。そして、受け付けていないと判断した場合(S110:NO)、CPU11は、受け付けるまで待機する。受け付けたと判断した場合(S110:YES)、CPU11は、メッセージの表示を終了して、セットアップ処理を終了する。 After S107 or S109, the CPU 11 determines whether or not the user's operation to end the displayed message has been accepted (S110). Then, when it is determined that the reception is not accepted (S110: NO), the CPU 11 waits until it is accepted. If it is determined that the message has been accepted (S110: YES), the CPU 11 ends the display of the message and ends the setup process.

CPU11は、例えば、図4に示すメッセージ52中のOKボタン521への操作を受け付けた場合、S110にてYESと判断する。同バージョンプログラムがインストール済みの場合には対象プログラムをインストールする必要が無い。単に、インストールしないことを通知することで、ユーザにインストールしていないことが伝わり、また、無駄な処理を行わずに済む。なお、CPU11は、メッセージの表示後、所定の時間が経過してもユーザの操作を受け付けなかった場合、セットアップ処理を終了させても良い。 For example, when the CPU 11 receives an operation on the OK button 521 in the message 52 shown in FIG. 4, the CPU 11 determines YES in S110. If the same version program is already installed, there is no need to install the target program. By simply notifying the user that it will not be installed, the user will be informed that it has not been installed, and unnecessary processing will be avoided. If the CPU 11 does not accept the user's operation even after a predetermined time has elapsed after displaying the message, the CPU 11 may end the setup process.

インストール済みのプログラムと対象プログラムとのバージョンが同じではない、つまり、バージョン違いプログラムであると判断した場合(S108:NO)、CPU11は、更新処理を実行する(S111)。例えば、図1の構成で、インストール対象として、スキャンXUセット72が選択され、スキャナドライバXU721とスキャナドライバXU46とのバージョンが一致していない場合、CPU11は、バージョン違いプログラムであると判断する。更新処理は、インストール済みのバージョン違いプログラムを、対象プログラムによって更新する処理である。更新処理の手順について、図5のフローチャートを参照して説明する。 When it is determined that the versions of the installed program and the target program are not the same, that is, the programs are different versions (S108: NO), the CPU 11 executes the update process (S111). For example, in the configuration of FIG. 1, when the scan XU set 72 is selected as the installation target and the versions of the scanner driver XU721 and the scanner driver XU46 do not match, the CPU 11 determines that the program is a different version. The update process is a process of updating an installed version difference program by a target program. The procedure of the update process will be described with reference to the flowchart of FIG.

更新処理では、CPU11は、インストール済みのプログラムをアンインストールする必要があることを報知する要アンインストールメッセージをユーザIF13に表示させる(S201)。前述したように、バージョンアップによってパラメータの形式が変更されている可能性があり、その場合には、旧バージョンをアンインストールせずにインストールを行うことは好ましくない。要アンインストールメッセージは、インストール済みのバージョン違いプログラムをアンインストールする旨を示す通知の一例である。 In the update process, the CPU 11 causes the user IF 13 to display an uninstall required message notifying that the installed program needs to be uninstalled (S201). As mentioned above, the parameter format may have changed due to the version upgrade, and in that case, it is not preferable to install without uninstalling the old version. The uninstall required message is an example of a notification indicating that the installed different version program will be uninstalled.

要アンインストールメッセージは、例えば、図6に示すように、アンインストールを行ってセットアップを継続するか否かをユーザに問い合わせるメッセージ53である。CPU11は、例えば、図6に示すように、メッセージ53として、セットアップ中止ボタン531と、設定保持ボタン532と、設定初期化ボタン533とを表示させ、ユーザの選択を受け付ける。なお、単にアンインストールを行うと、インストール済みのプログラムで受け付けたユーザによる設定は、全て初期化される。そこで、CPU11は、メッセージ53にて、設定を初期化するか否かも合わせて問い合わせている。 The uninstall required message is, for example, a message 53 asking the user whether to uninstall and continue the setup, as shown in FIG. For example, as shown in FIG. 6, the CPU 11 displays the setup stop button 531, the setting holding button 532, and the setting initialization button 533 as the message 53, and accepts the user's selection. If you simply uninstall, all the settings made by the user accepted by the installed program will be initialized. Therefore, the CPU 11 also inquires in the message 53 whether or not to initialize the settings.

そして、CPU11は、セットアップを中止する指示を受け付けたか否かを判断する(S202)。CPU11は、例えば、メッセージ53のセットアップ中止ボタン531への操作、セットアップ処理のウィンドウを閉じる操作、によって、セットアップを中止する指示を受け付ける。セットアップを中止する指示を受け付けたと判断した場合(S202:YES)、CPU11は、対象プログラムをインストールせずに、この更新処理および図2のセットアップ処理を終了させる。 Then, the CPU 11 determines whether or not the instruction to cancel the setup has been accepted (S202). The CPU 11 receives an instruction to cancel the setup by, for example, an operation of the setup cancel button 531 of the message 53 or an operation of closing the setup processing window. When it is determined that the instruction to cancel the setup has been accepted (S202: YES), the CPU 11 ends the update process and the setup process of FIG. 2 without installing the target program.

この場合、OS41が対象プログラムのインストールを行う機能を有している場合でも、CPU11は、OS41にセットアップファイルを渡さない。セットアップファイルをOS41に渡さないことで、シンプルな処理で、インストール済みのプログラムをアンインストールせずに対象プログラムをインストールする手順を回避できる。 In this case, even if the OS 41 has a function of installing the target program, the CPU 11 does not pass the setup file to the OS 41. By not passing the setup file to OS41, it is possible to avoid the procedure of installing the target program without uninstalling the installed program by a simple process.

セットアップを中止する指示を受け付けていないと判断した場合(S202:NO)、CPU11は、クリーンインストールを行う指示を受け付けたか否かを判断する(S203)。S203は、インストール選択処理の一例である。クリーンインストールは、インストール済みのプログラムを単にアンインストールし、その後に対象プログラムをインストールする手順であり、ユーザによる設定は全て初期化される。例えば、メッセージ53の設定初期化ボタン533への操作を受け付けた場合、CPU11は、クリーンインストールを行う指示を受け付けたと判断する。 When it is determined that the instruction to cancel the setup is not accepted (S202: NO), the CPU 11 determines whether or not the instruction to perform the clean installation has been accepted (S203). S203 is an example of the installation selection process. A clean installation is a procedure that simply uninstalls the installed program and then installs the target program, and all user settings are initialized. For example, when the operation to the setting initialization button 533 of the message 53 is accepted, the CPU 11 determines that the instruction to perform the clean installation has been accepted.

クリーンインストールを行う指示を受け付けたと判断した場合(S203:YES)、CPU11は、インストール済みのプログラムをアンインストールする(S204)。CPU11は、例えば、プログラムを指定してOS41にアンインストールの指示を渡す。そして、CPU11は、アンインストールに成功したか否かを判断する(S205)。CPU11は、例えば、OS41からアンインストールに成功したことを示す情報を受け取った場合、アンインストールに成功したと判断する。 When it is determined that the instruction to perform the clean installation has been accepted (S203: YES), the CPU 11 uninstalls the installed program (S204). The CPU 11 specifies, for example, a program and passes an uninstall instruction to the OS 41. Then, the CPU 11 determines whether or not the uninstallation is successful (S205). When the CPU 11 receives, for example, information indicating that the uninstallation has been successful from the OS 41, the CPU 11 determines that the uninstallation has been successful.

アンインストールに成功したと判断した場合(S205:YES)、CPU11は、対象プログラムをインストールする(S206)。CPU11は、例えば、対象プログラムを含むセットアップファイルをOS41に渡してインストールを指示する。S204の後にS206を行う手順は、第2更新手順の一例であり、S204とS206とは、クリーンインストール処理の一例である。クリーンインストールの実行を選択できることで、ユーザが自らアンインストールする手間を省くことができる。 When it is determined that the uninstallation is successful (S205: YES), the CPU 11 installs the target program (S206). The CPU 11 passes the setup file including the target program to the OS 41 and instructs the installation, for example. The procedure of performing S206 after S204 is an example of the second update procedure, and S204 and S206 are examples of the clean installation process. Being able to choose to perform a clean install saves the user the trouble of uninstalling himself.

アンインストールに成功しなかったと判断した場合(S205:NO)、CPU11は、失敗を報知する(S207)。S206またはS207の後、CPU11は、更新処理を終了して、セットアップ処理に戻る。アンインストールに失敗してバージョン違いプログラムが残ったまま対象プログラムのインストールを指示すると、対象プログラムがバージョン違いプログラムに上書きされる可能性が高い。このようにすると、新たにインストールした対象プログラムの動作で不具合が発生する可能性が高まる。そこで、バージョン違いプログラムのアンインストールが確実に成功したことを契機に対象プログラムをインストールすることで、不具合が発生する可能性を低減できる。 If it is determined that the uninstallation was not successful (S205: NO), the CPU 11 notifies the failure (S207). After S206 or S207, the CPU 11 ends the update process and returns to the setup process. If the uninstallation fails and the installation of the target program is instructed while the version difference program remains, there is a high possibility that the target program will be overwritten by the version difference program. In this way, there is a high possibility that a problem will occur in the operation of the newly installed target program. Therefore, it is possible to reduce the possibility that a problem will occur by installing the target program when the uninstall of the different version program is surely successful.

一方、クリーンインストールを行う指示を受け付けていないと判断した場合(S203:NO)、つまり、メッセージ53の設定保持ボタン532への操作を受け付けたと判断した場合、CPU11は、インストール済みのプログラムのパラメータの形式を示す情報と、対象プログラムのパラメータの形式を示す情報とを取得する(S210)。 On the other hand, when it is determined that the instruction to perform the clean installation is not accepted (S203: NO), that is, when it is determined that the operation to the setting holding button 532 of the message 53 is accepted, the CPU 11 determines the parameters of the installed program. The information indicating the format and the information indicating the format of the parameters of the target program are acquired (S210).

そして、CPU11は、S210にて取得した情報に基づいて、インストール済みのプログラムのパラメータの形式と対象プログラムのパラメータの形式とが、同じ形式であるか否かを判断する(S211)。CPU11は、例えば、選択されたインストール対象のプログラムにて使用されるパラメータの項目数や選択肢の数が、インストール済みのプログラムと同じであれば、パラメータの形式が同じであると判断する。パラメータの形式が同じであれば、インストール済みのプログラムにて使用されるパラメータを、設定されている選択肢を含めてそのままで、対象プログラムでも使用可能である。S211は、互換性判断処理の一例である。 Then, the CPU 11 determines whether or not the parameter format of the installed program and the parameter format of the target program are the same format based on the information acquired in S210 (S211). For example, if the number of parameter items and the number of options used in the selected program to be installed is the same as the installed program, the CPU 11 determines that the parameter format is the same. If the parameter format is the same, the parameters used in the installed program can be used in the target program as they are, including the set options. S211 is an example of the compatibility determination process.

パラメータの形式を示す情報として、CPU11は、例えば、バージョン情報の特定の桁の数値を取得する。例えば、インストール済みのプログラムのバージョン情報がバージョン1.1.0を示す情報である場合、CPU11は、対象プログラムのバージョン情報が、バージョン1.2.0を示す情報であればパラメータの形式は異なっており、バージョン1.1.1を示す情報であればパラメータの形式は同じであると判断する。この例では、バージョン情報の上から2つめの桁の数値が一致していれば、CPU11は、パラメータの形式は同じであると判断する。 As information indicating the format of the parameter, the CPU 11 acquires, for example, a numerical value of a specific digit of the version information. For example, if the version information of the installed program is information indicating version 1.1.0, the CPU 11 has a different parameter format if the version information of the target program is information indicating version 1.2.0. If the information indicates version 1.1.1, it is judged that the parameter format is the same. In this example, if the numerical values of the second digit from the top of the version information match, the CPU 11 determines that the parameter formats are the same.

パラメータの形式が同じではないと判断した場合(S211:NO)、CPU11は、インストール済みのプログラムが用いるパラメータを退避する(S212)。S212は、記憶処理の一例である。同じ形式ではない場合、インストール済みのプログラムが用いるパラメータは、第1形式のパラメータの一例であり、対象プログラムが用いるパラメータは、第2形式のパラメータの一例である。 When it is determined that the parameter formats are not the same (S211: NO), the CPU 11 saves the parameters used by the installed program (S212). S212 is an example of storage processing. If they are not in the same format, the parameters used by the installed program are examples of the parameters of the first format, and the parameters used by the target program are examples of the parameters of the second format.

S212では、具体的には、CPU11は、インストール済みのプログラムが用いるパラメータの項目と各項目に選択されている選択肢の情報とをメモリ12から読み出し、読み出した情報を、インストーラ47によって利用可能な領域であって、インストール済みのプログラムが利用する領域以外の領域に、記憶する。インストール済みのプログラムが利用する領域は、第1記憶領域の一例であり、インストーラ47によって利用可能な領域は、第2記憶領域の一例である。 In S212, specifically, the CPU 11 reads the parameter items used by the installed program and the information of the options selected for each item from the memory 12, and the read information is used by the installer 47 as an area. It is stored in an area other than the area used by the installed program. The area used by the installed program is an example of the first storage area, and the area available by the installer 47 is an example of the second storage area.

パラメータを退避した後、CPU11は、インストール済みのプログラムをアンインストールする(S213)。S213は、アンインストール処理の一例である。CPU11は、例えば、OS41にアンインストールを指示する。そして、OS41からアンインストールに成功したことを示す情報を取得したか否かを判断する(S214)。 After saving the parameters, the CPU 11 uninstalls the installed program (S213). S213 is an example of the uninstallation process. The CPU 11 instructs the OS 41 to uninstall, for example. Then, it is determined whether or not the information indicating that the uninstallation was successful has been acquired from the OS 41 (S214).

アンインストールに成功したと判断した場合(S214:YES)、CPU11は、対象プログラムをインストールする(S215)。S215は、再インストール処理の一例である。CPU11は、例えば、対象プログラムを含むセットアップファイルをOS41に渡してインストールを指示する。 When it is determined that the uninstallation is successful (S214: YES), the CPU 11 installs the target program (S215). S215 is an example of the reinstallation process. The CPU 11 passes the setup file including the target program to the OS 41 and instructs the installation, for example.

さらに、CPU11は、S212にて退避したパラメータをインストールした対象プログラムのパラメータの形式に合わせて復元する(S216)。S216は、復元処理の一例である。CPU11は、退避したパラメータの各項目の値を、新たなパラメータの対応する項目の値として、インストールした対象プログラムが利用する領域に書き込む。インストールした対象プログラムが利用する領域は、第3記憶領域の一例である。インストールした対象プログラムが利用する領域は、アンインストールの前にインストール済みのプログラムが利用していた領域と同じ領域を含んでいても良いし、異なっていても良い。 Further, the CPU 11 restores the parameters saved in S212 according to the parameter format of the installed target program (S216). S216 is an example of the restoration process. The CPU 11 writes the value of each item of the saved parameter as the value of the corresponding item of the new parameter in the area used by the installed target program. The area used by the installed target program is an example of the third storage area. The area used by the installed target program may include the same area as the area used by the installed program before the uninstallation, or may be different.

なお、退避したパラメータと対象プログラムのパラメータとで形式が異なる場合には、CPU11は、形式を変換し、変換後のパラメータを書き込む。形式を変更して復元することで、対象プログラムが適切に動作する可能性が高まる。S212〜S216の処理は、インストール済みのバージョン違いプログラムをアンインストールしてから、対象プログラムをインストールする処理であり、回避処理の一例である。 If the format is different between the saved parameter and the parameter of the target program, the CPU 11 converts the format and writes the converted parameter. By changing the format and restoring, the possibility that the target program will work properly increases. The processes of S212 to S216 are processes of uninstalling the installed different version programs and then installing the target program, which is an example of avoidance processes.

例えば、図1の構成で、対象プログラムとして、スキャンXUセット72が選択された場合、スキャナドライバXU46にて選択されていた読取パラメータが退避された後、記憶済みのスキャナドライバXU46が削除される。さらに、新たにスキャナドライバXU721がメモリ12に記憶された後、退避された読取パラメータが、新たに記憶されたスキャナドライバXU721の読取パラメータとして設定される。これにより、以前のプログラムにて使用していた設定が新バージョンのプログラムでも使用できる。 For example, in the configuration of FIG. 1, when the scan XU set 72 is selected as the target program, the stored scanner driver XU46 is deleted after the reading parameters selected by the scanner driver XU46 are saved. Further, after the scanner driver XU721 is newly stored in the memory 12, the saved read parameter is set as the read parameter of the newly stored scanner driver XU721. This allows the settings used in the previous program to be used in the new version of the program.

アンインストールに成功しなかったと判断した場合(S214:NO)、CPU11は、失敗を報知する(S217)。S216またはS217の後、S212にて退避したパラメータの情報を削除して(S218)、更新処理を終了し、セットアップ処理に戻る。 If it is determined that the uninstallation was not successful (S214: NO), the CPU 11 notifies the failure (S217). After S216 or S217, the parameter information saved in S212 is deleted (S218), the update process is terminated, and the process returns to the setup process.

一方、インストール済みのプログラムのパラメータの形式と対象プログラムのパラメータの形式とが、同じ形式であると判断した場合(S211:YES)、CPU11は、インストール済みのプログラムをアンインストールすることなく、対象プログラムのインストールをOS41に指示する(S221)。S221は、アップデート処理の一例である。これにより、インストールされた対象プログラムは、インストール済みのプログラムに上書きされる。インストール済みのバージョン違いプログラムをアンインストールせずに、対象プログラムをインストールする手順は、第1更新手順の一例である。バージョンが異なってもパラメータに互換性が有る場合は上書きによるインストールを行っても不具合が生じ難いため、この手順を行うことで、アンインストールの手間を省くことができる。 On the other hand, when it is determined that the parameter format of the installed program and the parameter format of the target program are the same format (S211: YES), the CPU 11 does not uninstall the installed program and the target program. Is instructed to OS41 to install (S221). S221 is an example of the update process. As a result, the installed target program is overwritten with the installed program. The procedure for installing the target program without uninstalling the installed version difference program is an example of the first update procedure. Even if the versions are different, if the parameters are compatible, problems are unlikely to occur even if the installation is performed by overwriting. Therefore, by performing this procedure, the trouble of uninstalling can be saved.

インストールの後、CPU11は、プリントキューが追加されたか否かを判断する(S222)。対象プログラムがプリンタドライバであって、OS41にインストールを実行させた場合、指定されたデバイスと指定された通信IFの種類とに対応するプリントキューが生成され、OS41に登録される。アンインストールを行わずにインストールした場合、同じデバイスと同じ通信IFに対応する複数のプリントキューが生成されることになる。プリントキューは、デバイスキューの一例である。なお、OS41は、プリンタドライバをアンインストールした場合、対応するプリントキューを削除する。 After the installation, the CPU 11 determines whether or not the print queue has been added (S222). When the target program is a printer driver and the installation is executed in OS41, a print queue corresponding to the specified device and the specified communication IF type is generated and registered in OS41. If installed without uninstalling, multiple print queues corresponding to the same device and the same communication IF will be generated. The print queue is an example of a device queue. When the printer driver is uninstalled, OS41 deletes the corresponding print queue.

プリントキューが追加されたと判断した場合(S222:YES)、CPU11は、新たに生成されたプリントキューを削除する(S223)。S223は、削除処理の一例である。重複した無駄なプリントキューを削除することでリソースの有効活用が図られる。S223の後、または、対象プログラムがプリンタドライバではない場合など、プリントキューが追加されていないと判断した場合(S222:NO)、CPU11は、更新処理を終了して、セットアップ処理に戻る。 When it is determined that the print queue has been added (S222: YES), the CPU 11 deletes the newly generated print queue (S223). S223 is an example of the deletion process. Effective use of resources can be achieved by deleting duplicate and useless print queues. After S223, or when it is determined that the print queue has not been added (S222: NO), such as when the target program is not a printer driver, the CPU 11 ends the update process and returns to the setup process.

図2のセットアップ処理の説明に戻る。CPU11は、S111の更新処理の後、更新処理にてインストールを実行したか否かを判断する(S112)。更新処理のS206、S215、S221のいずれかを実行した場合、CPU11は、対象プログラムのインストールを実行したと判断する。インストールを実行したと判断した場合(S112:YES)、CPU11は、更新メッセージをユーザIF13に表示させる(S113)。更新メッセージは、プログラムを最新バージョンに更新した旨を報知するメッセージである。 Returning to the description of the setup process of FIG. After the update process of S111, the CPU 11 determines whether or not the installation is executed by the update process (S112). When any one of the update processes S206, S215, and S221 is executed, the CPU 11 determines that the target program has been installed. When it is determined that the installation has been executed (S112: YES), the CPU 11 causes the user IF 13 to display an update message (S113). The update message is a message notifying that the program has been updated to the latest version.

一方、更新処理にて、S202にてYESと判断した場合やアンインストールに成功しなかった場合には、CPU11は、インストールを実行しなかったと判断する。S113の後、または、インストールを実行しなかったと判断した場合(S112:NO)、CPU11は、セットアップ処理を終了する。 On the other hand, in the update process, if YES in S202 or if the uninstallation is not successful, the CPU 11 determines that the installation has not been executed. After S113, or when it is determined that the installation has not been executed (S112: NO), the CPU 11 ends the setup process.

なお、インストーラ47は、アンインストールが必要であると判断した場合、アンインストールを行う代わりに、単にアンインストールが必要であることを報知するメッセージを表示して終了する構成であっても良い。そのようなインストーラ47によるセットアップ処理の手順について、図7のフローチャートを参照して説明する。このセットアップ処理は、PC1にてインストーラ47が起動されたことを契機に、PC1のCPU11にて実行される。図7では、図2と同じ手順については、同じ符号を付して説明を省略する。 If it is determined that the installer 47 needs to be uninstalled, the installer 47 may be configured to simply display a message notifying that the uninstallation is necessary and terminate the installation instead of performing the uninstallation. The procedure of the setup process by the installer 47 will be described with reference to the flowchart of FIG. This setup process is executed by the CPU 11 of the PC 1 when the installer 47 is started by the PC 1. In FIG. 7, the same procedure as in FIG. 2 is designated by the same reference numerals and description thereof will be omitted.

図7に示すセットアップ処理では、CPU11は、図2の処理と同様に、選択受付画面をユーザIFに表示させて、ユーザの選択を受け付ける(S101〜S104)。さらに、CPU11は、選択された対象プログラムがPC1にインストール済みであるか否かを判断し(S105)、インストール済みであると判断した場合(S105:YES)、バージョンが同じであるか否かを判断する(S108)。インストール済みでないと判断した場合(S105:NO)、または、バージョンが同じであると判断した場合(S108:YES)、CPU11は、図2と同じ手順を実行する(S106〜S107、S109〜S110)。 In the setup process shown in FIG. 7, the CPU 11 displays the selection acceptance screen on the user IF and accepts the user's selection (S101 to S104), as in the process of FIG. Further, the CPU 11 determines whether or not the selected target program is installed in the PC 1 (S105), and if it determines that the selected target program is installed (S105: YES), determines whether or not the versions are the same. Judgment (S108). If it is determined that it is not installed (S105: NO), or if it is determined that the versions are the same (S108: YES), the CPU 11 executes the same procedure as in FIG. 2 (S106 to S107, S109 to S110). ..

一方、バージョンが同じではないと判断した場合(S108:NO)、CPU11は、アンインストールメッセージをユーザIF13に表示させる(S301)。アンインストールメッセージは、例えば、図8に示すように、インストール済みのバージョン違いプログラムのアンインストールが必要であることを報知するメッセージ55である。メッセージ55には、OKボタン551が含まれる。 On the other hand, if it is determined that the versions are not the same (S108: NO), the CPU 11 causes the user IF 13 to display an uninstall message (S301). The uninstall message is, for example, as shown in FIG. 8, a message 55 notifying that the installed version difference program needs to be uninstalled. The message 55 includes an OK button 551.

CPU11は、表示させたメッセージ55中のOKボタン551への操作を受け付けたか否かを判断する(S302)。そして、受け付けていないと判断した場合(S302:NO)、CPU11は、受け付けるまで待機する。受け付けたと判断した場合(S302:YES)、CPU11は、メッセージ55の表示を終了して、セットアップ処理を終了する。なお、CPU11は、メッセージの表示後、所定の時間が経過してもユーザの操作を受け付けなかった場合、セットアップ処理を終了させても良い。この場合、CPU11は、対象プログラムをインストールせず、また、更新処理を実行せず、このセットアップ処理を終了させる。なお、通知は、メッセージ表示の他、例えば音声ガイダンスであってもよい。 The CPU 11 determines whether or not the operation to the OK button 551 in the displayed message 55 has been accepted (S302). Then, when it is determined that the reception is not accepted (S302: NO), the CPU 11 waits until it is accepted. If it is determined that the message has been accepted (S302: YES), the CPU 11 ends the display of the message 55 and ends the setup process. If the CPU 11 does not accept the user's operation even after a predetermined time has elapsed after displaying the message, the CPU 11 may end the setup process. In this case, the CPU 11 does not install the target program, does not execute the update process, and ends this setup process. In addition to displaying a message, the notification may be, for example, voice guidance.

このようにしても、メッセージ55によってアンインストールが必要である旨を通知することで、インストール済みのバージョン違いプログラムについてユーザによるアンインストール操作が期待できる。ユーザは、例えば、都合の良いタイミングでインストール済みのプログラムをアンインストールして、再度インストーラ47を起動することができる。アンインストール後に実行されるセットアップ処理では、図7のS105にてNOと判断されることから、対象プログラムが適切にインストールされる。 Even in this way, by notifying by message 55 that the uninstallation is necessary, the user can expect the uninstall operation for the installed version difference program. The user can, for example, uninstall the installed program at a convenient time and start the installer 47 again. In the setup process executed after the uninstallation, since it is determined as NO in S105 of FIG. 7, the target program is properly installed.

以上、詳細に説明したように、本形態のインストーラ47によれば、対象プログラムとバージョンが異なるバージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールすることなく対象プログラムをインストールする手順を回避する。バージョン違いプログラムがインストール済みの場合、そのバージョン違いプログラムをアンインストールせずに対象プログラムをインストールすると、インストール後の対象プログラムの動作で不具合が発生する可能性が高まる。この手順を回避することで、インストール後の対象プログラムの動作で不具合が生じる可能性を低減できる。 As described in detail above, according to the installer 47 of this embodiment, when a different version program having a different version from the target program is already installed, the procedure for installing the target program without uninstalling the different version program is performed. To avoid. If a different version program is already installed and the target program is installed without uninstalling the different version program, there is a high possibility that a problem will occur in the operation of the target program after installation. By avoiding this procedure, it is possible to reduce the possibility that a problem will occur in the operation of the target program after installation.

さらに、本形態のインストーラ47では、複数の対象プログラムからインストールする対象プログラムを選択可能であり、さらに、デバイスのモデルや通信IFの種類の選択によって対象プログラムが決定されるので、対象プログラムを選択し易い。 Further, in the installer 47 of this embodiment, the target program to be installed can be selected from a plurality of target programs, and the target program is determined by the selection of the device model and the type of communication IF. Therefore, the target program is selected. easy.

また、本形態では、OS41の機能を利用してインストールを行うことから、OS41にセットアップファイルを渡さないことでインストールを回避できる。従って、インストーラ47の処理がシンプルになる。 Further, in this embodiment, since the installation is performed using the function of the OS 41, the installation can be avoided by not passing the setup file to the OS 41. Therefore, the process of the installer 47 becomes simple.

また、本形態では、既に最新バージョンがインストール済みである場合、アンインストールが必要である場合、対象プログラムの更新に成功した場合等に、適宜メッセージにてユーザに通知するので、状況が確認できる。 Further, in this embodiment, when the latest version has already been installed, when it is necessary to uninstall it, when the target program is successfully updated, etc., the user is notified by an appropriate message, so that the situation can be confirmed.

また、本形態では、インストール済みのバージョン違いプログラムとインストール対象の対象プログラムとでパラメータの形式が異なる場合、バージョン違いプログラムのパラメータを退避し、退避したパラメータを、対象プログラムのパラメータの形式に変換して復元する。これにより、バージョン違いプログラムをアンインストールせずに対象プログラムをインストールする手順を回避しつつ、設定済みのパラメータを保持できる。一方、パラメータの形式が同じであれば、そのまま使用できる可能性が高いことから、バージョン違いプログラムをアンインストールせずに対象プログラムをインストールする手順を行うので、退避や復元の処理が不要となる。 Further, in this embodiment, when the parameter format differs between the installed version difference program and the target program to be installed, the parameters of the version difference program are saved and the saved parameters are converted to the parameter format of the target program. To restore. This makes it possible to retain the set parameters while avoiding the procedure of installing the target program without uninstalling the different version program. On the other hand, if the parameter formats are the same, there is a high possibility that they can be used as they are. Therefore, since the procedure for installing the target program is performed without uninstalling the different version program, the process of saving or restoring becomes unnecessary.

なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、対象プログラムによって制御されるデバイスは、複合機に限らず、プリンタ、スキャナ、FAX装置、ミシン等であっても良い。つまり、インストールの対象となるプログラムは、プリンタドライバ、スキャナドライバに限らず、FAXドライバ、縫製指示プログラム、刺繍指示プログラム、でも良い。また、PCやデバイスの数、各種の表示メッセージの文言等は、いずれも、図示の例に限らない。 It should be noted that the present embodiment is merely an example and does not limit the present invention in any way. Therefore, the techniques disclosed in the present specification can of course be variously improved and modified without departing from the gist thereof. For example, the device controlled by the target program is not limited to the multifunction device, and may be a printer, a scanner, a fax machine, a sewing machine, or the like. That is, the program to be installed is not limited to the printer driver and the scanner driver, but may be a FAX driver, a sewing instruction program, and an embroidery instruction program. Further, the number of PCs and devices, the wording of various display messages, and the like are not limited to the illustrated examples.

また、本形態では、複数の対象プログラムを含むインストーラ47について説明したが、対象プログラムごとに別のインストーラであっても良い。その場合、モデルや通信IFの選択の受け付け(S101〜S104)は不要である。また、各種のメッセージの表示は行わなくても良い。 Further, in the present embodiment, the installer 47 including a plurality of target programs has been described, but a different installer may be used for each target program. In that case, it is not necessary to accept the selection of the model or communication IF (S101 to S104). Moreover, it is not necessary to display various messages.

また、本形態では、対象プログラムと同じバーションのプログラムがインストール済みであれば、インストールを行わないとしたが、行っても良い。その場合、CPU11は、対象プログラムのセットアップファイルをOS41に渡し、終了後に、例えば、完了を示すメッセージを表示させるとしても良い。 Further, in this embodiment, if a program of the same version as the target program is already installed, the installation is not performed, but it may be performed. In that case, the CPU 11 may pass the setup file of the target program to the OS 41 and display, for example, a message indicating completion after the completion.

また、本形態では、パラメータの形式が同じ場合にはアンインストールしないとしたが、アンインストールしても良い。つまり、パラメータの形式に関わらず退避して復元するとしても良い。ただし、パラメータの形式が同じであれば、不具合が発生する可能性は低いことから、上書きによるインストールを行うことで、セットアップに要する時間を短縮できる。 Further, in this embodiment, if the parameter formats are the same, it is not uninstalled, but it may be uninstalled. That is, it may be saved and restored regardless of the parameter format. However, if the parameter formats are the same, it is unlikely that a problem will occur. Therefore, by performing the installation by overwriting, the time required for setup can be shortened.

また、本形態では、上書きによるインストールによってプリントキューが生成された場合、生成されたプリントキューを削除するとしたが、削除しなくても良い。ただし、削除すれば、デバイスの選択時におけるユーザの困惑を軽減できるので好ましい。 Further, in this embodiment, when the print queue is generated by the installation by overwriting, the generated print queue is deleted, but it is not necessary to delete it. However, deleting it is preferable because it can reduce the user's confusion when selecting a device.

また、本形態では、OS41の機能を用いてインストールやアンインストールを行うとしたが、インストーラ47自身の機能を用いてインストールやアンインストールを行っても良い。 Further, in this embodiment, the installation or uninstallation is performed using the function of the OS 41, but the installation or uninstallation may be performed using the function of the installer 47 itself.

また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。 Further, in any flowchart disclosed in the embodiment, the plurality of processes in the arbitrary plurality of steps can be arbitrarily changed in the execution order or executed in parallel as long as the processing contents do not conflict with each other.

また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。 Further, the process disclosed in the embodiment may be executed by a single CPU, a plurality of CPUs, hardware such as an ASIC, or a combination thereof. In addition, the process disclosed in the embodiment can be realized in various aspects such as a recording medium or a method in which a program for executing the process is recorded.

1 PC
2 複合機
11 CPU
12 メモリ
13 ユーザIF
14 通信IF
47 インストーラ
1 PC
2 Multifunction device 11 CPU
12 memory 13 user IF
14 Communication IF
47 installer

Claims (13)

情報処理装置のコンピュータに、
インストール対象のプログラムである対象プログラムについて、バージョン違いプログラムもしくは同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断するインストール判断処理を実行させ、
さらに前記コンピュータに、
前記バージョン違いプログラムも前記同バージョンプログラムもどちらもインストール済みでないと前記インストール判断処理にて判断した場合に、前記対象プログラムを前記情報処理装置にインストールするためのインストール処理を実行させ、
前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第1更新手順を回避するための回避処理を実行させ、前記第1更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールせずに前記対象プログラムをインストールする手順である、
ことを特徴とするインストール用のプログラム。
To the computer of the information processing device
For the target program, which is the program to be installed, an installation determination process for determining whether or not a different version program or the same version program has already been installed in the information processing device is executed.
Furthermore, to the computer
When it is determined by the installation determination process that neither the version difference program nor the same version program has been installed, the installation process for installing the target program in the information processing apparatus is executed.
When it is determined by the installation determination process that the version difference program has been installed, an avoidance process for avoiding the first update procedure is executed, and the first update procedure is the installed version difference program. This is the procedure for installing the target program without uninstalling.
A program for installation that features that.
請求項1に記載するインストール用のプログラムにおいて、
前記コンピュータに、
複数あるインストール可能なプログラムの中から前記対象プログラムを選択するプログラム選択処理を実行させ、
前記インストール判断処理では、前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムもしくは前記同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断させ、
前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、前記回避処理を実行させる、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 1,
On the computer
A program selection process for selecting the target program from a plurality of installable programs is executed, and the program is executed.
In the installation determination process, the target program selected in the program selection process is made to determine whether or not the version difference program or the same version program has already been installed in the information processing apparatus.
When the installation determination process determines that the version difference program has already been installed for the target program selected in the program selection process, the avoidance process is executed.
A program for installation that features that.
請求項2に記載するインストール用のプログラムにおいて、
前記プログラム選択処理では、
前記情報処理装置がデバイスと通信するための通信インタフェースの種類を選択する第1選択を行い、前記デバイスは、プリント機能とスキャン機能との少なくとも一方を有するデバイスであり、前記複数あるインストール可能なプログラムは、前記デバイスを制御するプログラムであって、前記デバイスのモデルおよび前記通信インタフェースの種類ごとに設けられたプログラムであり、
さらに前記プログラム選択処理では、
前記対象プログラムが制御するデバイスのモデルを選択する第2選択を行い、選択インタフェースを用いて選択デバイスと通信するためのプログラムを、前記対象プログラムとして選択し、前記選択インタフェースは、前記第1選択によって選択した種類の前記通信インタフェースであり、前記選択デバイスは、前記第2選択によって選択したモデルのデバイスであり、
前記インストール判断処理では、
前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムもしくは前記同バージョンプログラムが前記情報処理装置にインストール済みであるか否かを判断し、
前記プログラム選択処理にて選択された前記対象プログラムについて、前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、前記コンピュータに前記回避処理を実行させる、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 2.
In the program selection process,
The information processing device makes a first selection to select the type of communication interface for communicating with the device, and the device is a device having at least one of a print function and a scan function, and the plurality of installable programs. Is a program for controlling the device, and is a program provided for each model of the device and the type of the communication interface.
Further, in the program selection process,
A second selection is made to select a model of the device controlled by the target program, a program for communicating with the selected device using the selection interface is selected as the target program, and the selection interface is selected by the first selection. The communication interface of the selected type, the selected device being the device of the model selected by the second selection.
In the installation judgment process,
With respect to the target program selected in the program selection process, it is determined whether or not the version difference program or the same version program is already installed in the information processing apparatus.
When the installation determination process determines that the version difference program has already been installed for the target program selected in the program selection process, the computer is made to execute the avoidance process.
A program for installation that features that.
請求項3に記載するインストール用のプログラムにおいて、
前記コンピュータに、
前記プログラム選択処理の実行後、前記第1更新手順によって前記対象プログラムをインストールした場合に、前記対象プログラムのインストールによって生成されたデバイスキューを削除する削除処理を実行させ、前記情報処理装置は、前記対象プログラムをインストールした場合、前記選択インタフェースを用いて前記選択デバイスと通信するための前記デバイスキューを生成する、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 3,
On the computer
After the execution of the program selection process, when the target program is installed by the first update procedure, a deletion process for deleting the device queue generated by the installation of the target program is executed, and the information processing apparatus performs the above-mentioned information processing apparatus. When the target program is installed, the device queue for communicating with the selected device is generated using the selection interface.
A program for installation that features that.
請求項1から請求項4のいずれか1つに記載するインストール用のプログラムにおいて、
前記インストール処理では、
前記対象プログラムに対応するセットアップファイルを取得し、取得した前記セットアップファイルを前記情報処理装置のオペレーティングシステムに渡して前記オペレーティングシステムにインストールを指示し、前記オペレーティングシステムは、前記セットアップファイルに含まれる前記対象プログラムを前記情報処理装置にインストールする、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 4.
In the installation process,
The setup file corresponding to the target program is acquired, the acquired setup file is passed to the operating system of the information processing apparatus to instruct the operating system to install, and the operating system is the target included in the setup file. Install the program on the information processing device,
A program for installation that features that.
請求項5に記載するインストール用のプログラムにおいて、
前記インストール処理では、
前記対象プログラムと、前記対象プログラムのインストールに用いるインストール情報と、を含む前記セットアップファイルを取得し、前記オペレーティングシステムは、前記セットアップファイルに含まれる前記インストール情報を用いて、前記セットアップファイルに含まれる前記対象プログラムを前記情報処理装置にインストールする、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 5.
In the installation process,
The setup file including the target program and the installation information used for installing the target program is acquired, and the operating system uses the installation information included in the setup file to be included in the setup file. Install the target program on the information processing device,
A program for installation that features that.
請求項5または請求項6に記載するインストール用のプログラムにおいて、
前記回避処理では、
前記セットアップファイルを前記オペレーティングシステムに渡さないことで、前記第1更新手順を回避する、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 5 or 6.
In the avoidance process,
By not passing the setup file to the operating system, the first update procedure is bypassed.
A program for installation that features that.
請求項1から請求項7のいずれか1つに記載するインストール用のプログラムにおいて、
前記回避処理では、
インストール済みの前記バージョン違いプログラムをアンインストールする旨を示す通知を出力し、前記対象プログラムを前記情報処理装置にインストールしないことで、前記第1更新手順を回避する、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 7.
In the avoidance process,
By outputting a notification indicating that the installed program having a different version is to be uninstalled and not installing the target program in the information processing apparatus, the first update procedure is avoided.
A program for installation that features that.
請求項1から請求項6のいずれか1つに記載するインストール用のプログラムにおいて、
前記回避処理では、
インストール済みの前記バージョン違いプログラムが用いる第1形式のパラメータであって前記情報処理装置の第1記憶領域に記憶されている前記パラメータを、前記情報処理装置の前記第1記憶領域と異なる第2記憶領域に記憶する記憶処理と、
前記記憶処理の後、インストール済みの前記バージョン違いプログラムを前記情報処理装置からアンインストールするアンインストール処理と、
前記アンインストール処理の後、前記対象プログラムをインストールする再インストール処理と、
前記再インストール処理の後、前記第2記憶領域に記憶した前記第1形式のパラメータを読み出し、読み出した前記第1形式のパラメータを、前記第1形式と異なる第2形式であって前記対象プログラムが用いる前記第2形式に変換し、変換後の前記第2形式のパラメータを前記第2記憶領域と異なる第3記憶領域であって前記対象プログラムが用いる前記第3記憶領域に書き込む復元処理と、を前記コンピュータに実行させることで、前記第1更新手順を回避する、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 6.
In the avoidance process,
The parameter of the first format used by the installed different version program and stored in the first storage area of the information processing apparatus is stored in a second storage area different from the first storage area of the information processing apparatus. Memory processing to store in the area and
After the storage process, an uninstall process for uninstalling the installed different version program from the information processing device, and
After the uninstall process, the reinstallation process to install the target program and
After the reinstallation process, the parameters of the first format stored in the second storage area are read, and the read parameters of the first format are in a second format different from the first format, and the target program A restoration process of converting to the second format to be used and writing the converted parameters of the second format to the third storage area used by the target program in a third storage area different from the second storage area. By letting the computer execute, the first update procedure is avoided.
A program for installation that features that.
請求項9に記載するインストール用のプログラムにおいて、
前記アンインストール処理では、
前記情報処理装置のオペレーティングシステムに、インストール済みの前記バージョン違いプログラムのアンインストールを指示することで、インストール済みの前記バージョン違いプログラムを前記情報処理装置からアンインストールし、
前記回避処理では、
前記オペレーティングシステムからインストール済みの前記バージョン違いプログラムのアンインストールに成功したことを示す情報を取得した場合に、前記再インストール処理を前記コンピュータに実行させる、
ことを特徴とするインストール用のプログラム。
In the installation program according to claim 9.
In the uninstall process,
By instructing the operating system of the information processing device to uninstall the installed version difference program, the installed version difference program is uninstalled from the information processing device.
In the avoidance process,
When the information indicating that the installation of the version difference program installed is successfully uninstalled is obtained from the operating system, the computer is made to execute the reinstallation process.
A program for installation that features that.
請求項1から請求項10のいずれか1つに記載するインストール用のプログラムにおいて、
前記コンピュータに、
前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合、前記回避処理を実行する前に、前記対象プログラムが用いるパラメータとインストール済みの前記バージョン違いプログラムが用いるパラメータとに互換性があるか否かを判断する互換性判断処理を実行させ、
さらに前記コンピュータに、
前記互換性判断処理にて互換性が無いと判断した場合、前記回避処理を実行させ、
前記互換性判断処理にて互換性が有ると判断した場合、前記回避処理を実行させず、前記第1更新手順によって前記対象プログラムをインストールするアップデート処理を実行させる、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 10.
On the computer
When it is determined by the installation determination process that the version difference program has been installed, the parameters used by the target program and the parameters used by the installed version difference program are compatible with each other before the avoidance process is executed. Execute the compatibility judgment process to judge whether or not there is
Furthermore, to the computer
If it is determined that there is no compatibility in the compatibility determination process, the avoidance process is executed.
When it is determined that there is compatibility in the compatibility determination process, the avoidance process is not executed, and the update process for installing the target program is executed by the first update procedure.
A program for installation that features that.
請求項1から請求項11のいずれか1つに記載するインストール用のプログラムにおいて、
前記コンピュータに、
前記同バージョンプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、
前記対象プログラムのインストールをしないことを示す通知を、前記情報処理装置の出力インタフェースに出力させる通知処理を実行させ、前記インストール処理および前記回避処理を実行させない、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 11.
On the computer
When it is determined by the installation determination process that the same version program has already been installed,
A notification process for outputting a notification indicating that the target program is not installed to the output interface of the information processing device is executed, and the installation process and the avoidance process are not executed.
A program for installation that features that.
請求項1から請求項12のいずれか1つに記載するインストール用のプログラムにおいて、
前記コンピュータに、
前記バージョン違いプログラムがインストール済みであると前記インストール判断処理にて判断した場合に、第2更新手順で前記対象プログラムをインストールするか否かの選択を、前記情報処理装置の入力インタフェースを介して受け付けるインストール選択処理を実行させ、前記第2更新手順は、インストール済みの前記バージョン違いプログラムをアンインストールした後に前記対象プログラムをインストールする手順であり、
さらに前記コンピュータに、
前記第2更新手順で前記対象プログラムをインストールすることが前記インストール選択処理にて選択された場合に、
前記回避処理を実行させず、前記第2更新手順で前記対象プログラムをインストールするクリーンインストール処理を実行させ、
前記第2更新手順で前記対象プログラムをインストールすることが前記インストール選択処理にて選択されなかった場合に、
前記回避処理を実行させる、
ことを特徴とするインストール用のプログラム。
In the installation program according to any one of claims 1 to 12.
On the computer
When it is determined by the installation determination process that the version difference program has been installed, the selection of whether or not to install the target program in the second update procedure is accepted via the input interface of the information processing apparatus. The installation selection process is executed, and the second update procedure is a procedure for installing the target program after uninstalling the installed different version program.
Furthermore, to the computer
When installing the target program in the second update procedure is selected in the installation selection process,
Instead of executing the avoidance process, the clean installation process for installing the target program is executed in the second update procedure.
When installing the target program in the second update procedure is not selected in the installation selection process,
To execute the avoidance process,
A program for installation that features that.
JP2020069066A 2020-04-07 2020-04-07 program Active JP7484356B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020069066A JP7484356B2 (en) 2020-04-07 2020-04-07 program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020069066A JP7484356B2 (en) 2020-04-07 2020-04-07 program

Publications (2)

Publication Number Publication Date
JP2021165939A true JP2021165939A (en) 2021-10-14
JP7484356B2 JP7484356B2 (en) 2024-05-16

Family

ID=78021831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020069066A Active JP7484356B2 (en) 2020-04-07 2020-04-07 program

Country Status (1)

Country Link
JP (1) JP7484356B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216378A (en) 2001-11-15 2003-07-31 Canon Inc Information processor, information processing method, computer program and computer readable storage medium
JP2005301608A (en) 2004-04-09 2005-10-27 Fuji Xerox Co Ltd Installation program, installation device, and installation method of peripheral equipment driver
JP5460215B2 (en) 2009-09-29 2014-04-02 キヤノン株式会社 Information processing apparatus and method
JP2017021647A (en) 2015-07-13 2017-01-26 株式会社リコー Program, information processing device, installation system, and installation method
JP6606443B2 (en) 2016-03-02 2019-11-13 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP7043783B2 (en) 2017-10-20 2022-03-30 富士フイルムビジネスイノベーション株式会社 Software management equipment, software management systems and programs

Also Published As

Publication number Publication date
JP7484356B2 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
JP6874405B2 (en) Information processing equipment, programs, systems
EP2639735A1 (en) Information processor and recording medium
WO2020158715A1 (en) Support program, information processing device, and printing method
JP4961288B2 (en) Information processing apparatus, information processing program, recording medium, printing apparatus, and network system
JP4981936B2 (en) Installation method of installer and printer driver
KR20090031111A (en) Method for managing driver program of image forming device, and, device thereof
JP6041588B2 (en) Image forming device, program update method and program
JP5245661B2 (en) Print control apparatus, program, recording medium, and print control method
US20150317103A1 (en) Printing apparatus that updates software installed therein, method of controlling the same, and storage medium
JP2021165939A (en) program
JP2016173771A (en) Program, information processing apparatus, information processing method, and storage medium
JP4792744B2 (en) Image processing device
JP7484386B2 (en) PROGRAM AND INFORMATION PROCESSING APPARATUS
JP2006215805A (en) Print information processing device, print information processing program, and recording medium
JP2021117896A (en) Information processing device, information processing method and program
JP2016177351A (en) Program, information processing device, and image display method
JP6987541B2 (en) Image forming apparatus and control method of image forming apparatus
JP2010102542A (en) Driver distribution system, print controller, driver distribution method, and driver updating program
US11909935B2 (en) Image forming apparatus, and control method for controlling image forming apparatus for remotely performing a setting process on or configuration control of a image forming apparatus
JP2015177254A (en) Image formation apparatus and control method thereof
JP5966523B2 (en) Information processing apparatus, program, and recording medium
JP2020087256A (en) Printing system, printer, and support program
JP7071189B2 (en) Information processing equipment, control methods and programs for information processing equipment
US11132152B2 (en) Firmware update system, electronic apparatus, and non-transitory computer-readable recording medium having stored thereon firmware update program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240415

R150 Certificate of patent or registration of utility model

Ref document number: 7484356

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150