(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2026030360
(43)【公開日】2026-02-20
(54)【発明の名称】端末装置のための印刷サポートアプリケーション、端末装置のための第1のコンピュータプログラム、及び、端末装置を制御するための方法
(51)【国際特許分類】
G06F 3/12 20060101AFI20260213BHJP
G06F 9/445 20180101ALI20260213BHJP
【FI】
G06F3/12 325
G06F3/12 303
G06F3/12 328
G06F9/445
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024133292
(22)【出願日】2024-08-08
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】成田 建樹
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AE18
5B376AE20
(57)【要約】
【課題】ユーザの利便性が向上する技術を提供する。
【解決手段】端末装置は、第1のWin32アプリケーションが端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する。端末装置は、第1のインストール情報が、第1のWin32アプリケーションがインストール済みであることを示す場合に、第1のWin32アプリケーションを起動させるための第1の画面を表示部に表示する。端末装置は、第1のインストール情報が、第1のWin32アプリケーションがインストール済みでないことを示す場合に、第1のWin32アプリケーションを端末装置にインストールするための第2の画面を表示部に表示する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
端末装置のための印刷サポートアプリケーションであって、
前記印刷サポートアプリケーションは、Operating System(OS)に実装された汎用印刷プログラムをサポートするためのアプリケーションであり、
前記印刷サポートアプリケーションは、前記端末装置のコンピュータを、
第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する取得部と、
前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1のWin32アプリケーションを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、
前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第1のWin32アプリケーションを前記端末装置にインストールするための第2の画面を前記表示部に表示させる第2の表示制御部と、
として機能させる、印刷サポートアプリケーション。
【請求項2】
前記取得部は、前記端末装置にインストール済みである第2のWin32アプリケーションを介して、前記第1のインストール情報を取得する、請求項1に記載の印刷サポートアプリケーション。
【請求項3】
前記第1のWin32アプリケーションに対応する実行ファイルが前記端末装置のメモリに記憶されている場合に、前記第1のインストール情報は、前記第1のWin32アプリケーションがインストール済みであることを示し、
前記実行ファイルが前記メモリに記憶されていない場合に、前記第1のインストール情報は、前記第1のWin32アプリケーションがインストール済みでないことを示す、請求項2に記載の印刷サポートアプリケーション。
【請求項4】
前記印刷サポートアプリケーションと前記第2のWin32アプリケーションとは、パッケージ化された状態で前記端末装置にダウンロードされる、請求項2に記載の印刷サポートアプリケーション。
【請求項5】
前記印刷サポートアプリケーションは、前記コンピュータを、さらに、
前記第2の画面において、前記第1のWin32アプリケーションを前記端末装置にインストールするための操作が受け付けられる場合に、前記端末装置にインストール済みである第2のWin32アプリケーションを介して、インストール指示をインストーラに供給する供給部として機能させ、
前記インストーラは、前記コンピュータに、
前記印刷サポートアプリケーションから前記インストール指示が取得される場合に、前記第1のWin32アプリケーションを前記端末装置にインストールして、前記第1のWin32アプリケーションが前記端末装置にインストールされたことを示す前記第1のインストール情報を前記端末装置のメモリ内の所定領域に登録させ、
前記取得部は、前記メモリ内の前記所定領域から前記第1のインストール情報を取得する、請求項1に記載の印刷サポートアプリケーション。
【請求項6】
前記所定領域は、サンドボックス環境で起動されるアプリケーションがアクセス可能な領域である、請求項5に記載の印刷サポートアプリケーション。
【請求項7】
前記印刷サポートアプリケーションは、前記コンピュータを、さらに、
前記所定領域から取得される前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第2のWin32アプリケーションを介して、前記第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第2のインストール情報を取得する第2の取得部として機能させ、
前記第1の表示制御部は、前記第1のインストール情報及び前記第2のインストール情報のいずれかが、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1の画面を前記表示部に表示させ、
前記第2の表示制御部は、前記第1のインストール情報及び前記第2のインストール情報のいずれもが、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第2の画面を前記表示部に表示させる、請求項6に記載の印刷サポートアプリケーション。
【請求項8】
Operating System(OS)に実装された汎用印刷プログラムをサポートするための印刷サポートアプリケーションを備える端末装置を制御するための方法であって、
前記印刷サポートアプリケーションに従って、第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する取得ステップと、
前記印刷サポートアプリケーションに従って、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1のWin32アプリケーションを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御ステップと、
前記印刷サポートアプリケーションに従って、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第1のWin32アプリケーションを前記端末装置にインストールするための第2の画面を前記表示部に表示させる第2の表示制御ステップと、
を備える、方法。
【請求項9】
端末装置のための第1のコンピュータプログラムであって、
前記第1のコンピュータプログラムは、サンドボックス環境に配置されるコンピュータプログラムであり、
前記第1のコンピュータプログラムは、前記端末装置のコンピュータを、
前記第1のコンピュータプログラムとは異なる第2のコンピュータプログラムが前記端末装置に配置済みであるのか否かを示す配置情報を取得する取得部であって、前記第2のコンピュータプログラムは、前記サンドボックス環境外に配置される前記取得部と、
前記配置情報が、前記第2のコンピュータプログラムが配置済みであることを示す場合に、前記第2のコンピュータプログラムを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、
前記配置情報が、前記第2のコンピュータプログラムが配置済みでないことを示す場合に、前記第2のコンピュータプログラムを前記端末装置に配置するための第2の画面を前記表示部に表示させる第2の表示制御部と、
として機能させる、第1のコンピュータプログラム。
【請求項10】
サンドボックス環境に配置される第1のコンピュータプログラムを備える端末装置を制御するための方法であって、
前記第1のコンピュータプログラムに従って、前記第1のコンピュータプログラムとは異なる第2のコンピュータプログラムが前記端末装置に配置済みであるのか否かを示す配置情報を取得する取得ステップであって、前記第2のコンピュータプログラムは、前記サンドボックス環境外に配置される前記取得ステップと、
前記第1のコンピュータプログラムに従って、前記配置情報が、前記第2のコンピュータプログラムが配置済みであることを示す場合に、前記第2のコンピュータプログラムを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御ステップと、
前記第1のコンピュータプログラムに従って、前記配置情報が、前記第2のコンピュータプログラムが配置済みでないことを示す場合に、前記第2のコンピュータプログラムを前記端末装置に配置するための第2の画面を前記表示部に表示させる第2の表示制御ステップと、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、複数個の画面を表示する端末装置の技術を開示する。
【背景技術】
【0002】
特許文献1には、クライアントコンピュータとプリンタとデバイス管理ソフトウェア配布サーバとデバイスアプリ配布サーバとを備えるシステムが開示されている。クライアントコンピュータには、アプリケーション、デバイスアプリケーション、及び、プリンタドライバが記憶される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、ユーザの利便性が向上する技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、端末装置のための印刷サポートアプリケーションを開示する。前記印刷サポートアプリケーションは、Operating System(OS)に実装された汎用印刷プログラムをサポートするためのアプリケーションであってもよい。前記印刷サポートアプリケーションは、前記端末装置のコンピュータを、第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する取得部と、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1のWin32アプリケーションを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第1のWin32アプリケーションを前記端末装置にインストールするための第2の画面を前記表示部に表示させる第2の表示制御部と、として機能させてもよい。
【0006】
上記の構成によると、端末装置は、印刷サポートアプリケーションに従って、第1のWin32アプリケーションが端末装置にインストール済みである場合に、第1の画面を表示部に表示させ、第1のWin32アプリケーションが端末装置にインストール済みでない場合に、第2の画面を表示部に表示させる。このように、端末装置は、第1のWin32アプリケーションが端末装置にインストール済みであるのか否かに応じて、表示部に表示する画面を切り替えることができる。従って、ユーザの利便性が向上する。
【0007】
また、本明細書は、端末装置のための第1のコンピュータプログラムを開示する。前記第1のコンピュータプログラムは、サンドボックス環境に配置されるコンピュータプログラムであってもよい。前記第1のコンピュータプログラムは、前記端末装置のコンピュータを、前記第1のコンピュータプログラムとは異なる第2のコンピュータプログラムが前記端末装置に配置済みであるのか否かを示す配置情報を取得する取得部であって、前記第2のコンピュータプログラムは、前記サンドボックス環境外に配置される前記取得部と、前記配置情報が、前記第2のコンピュータプログラムが配置済みであることを示す場合に、前記第2のコンピュータプログラムを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、前記配置情報が、前記第2のコンピュータプログラムが配置済みでないことを示す場合に、前記第2のコンピュータプログラムを前記端末装置に配置するための第2の画面を前記表示部に表示させる第2の表示制御部と、として機能させてもよい。
【0008】
上記の構成によると、端末装置は、第1のコンピュータプログラムに従って、第2のコンピュータプログラムが端末装置に配置済みである場合に、第1の画面を表示部に表示させ、第2のコンピュータプログラムが端末装置に配置済みでない場合に、第2の画面を表示部に表示させる。このように、端末装置は、第2のコンピュータプログラムが端末装置に配置済みであるのか否かに応じて、表示部に表示する画面を切り替えることができる。従って、ユーザの利便性が向上する。ここで、「配置」とは、端末装置にコンピュータプログラムのインストールされることに限定されず、プログラムの実行ファイル(EXEファイル)や設定ファイル等が端末装置のメモリの所定の記憶領域に配置されることを含む。
【0009】
上記の印刷サポートアプリケーションを格納するコンピュータ読取可能記録媒体、上記の印刷サポートアプリケーションによって実現される端末装置、及び、端末装置を制御するための方法も、新規で有用である。また、上記の第1のコンピュータプログラムを格納するコンピュータ読取可能記録媒体、上記の第1のコンピュータプログラムによって実現される端末装置、及び、端末装置を制御するための方法も、新規で有用である。
【図面の簡単な説明】
【0010】
【
図2】第1のインストールプロセスのシーケンス図を示す。
【
図6】第2のインストールプロセスのシーケンス図を示す。
【
図10】第2の印刷プロセスのシーケンス図を示す。
【発明を実施するための形態】
【0011】
(実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、PC10と、プリンタ100と、第1のサーバ200と、第2のサーバ300と、を備える。PC10及びプリンタ100は、Local Area Network(LAN)4に接続されている。PC10及びプリンタ100は、LAN4を介して、相互に通信可能である。LAN4は、インターネット6に接続されている。第1のサーバ200及び第2のサーバ300は、インターネット6に設置されている。PC10、プリンタ100、第1のサーバ200、及び、第2のサーバ300は、インターネット6を介して、相互に通信可能である。なお、以下では、アプリケーションプログラムの略であるアプリケーションのことを、「アプリ」と記載することがある。
【0012】
(PC10の構成)
PC10は、デスクトップPC、ノートPC、タブレットPC等のPCである。PC10は、操作部12と、表示部14と、通信インターフェース20と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。
【0013】
操作部12は、ユーザが様々な情報をPC10に対して入力することを可能とするユーザインタフェースである。操作部12は、例えば、ソフトウェアキー(操作領域)を表示するためのタッチパネル、ハードウェアキー、又は、それら両方を備える。ハードウェアキーは、例えば、ボタン、又は、スイッチ等を含む。表示部14は、様々な情報を表示するためのディスプレイ又はパネルである。ディスプレイは、例えば、液晶ディスプレイ、又は、有機ELディスプレイである。パネルは、タッチパネルであってもよいし、タッチパネルでなくてもよい。また、パネルは、例えば、液晶パネル、又は、有機ELパネルである。通信I/F20は、LAN4に接続されている。通信I/F20は、有線LANI/Fであってもよいし、無線LANI/Fであってもよい。また、通信I/F20は、USB I/Fであってもよい。
【0014】
制御部30は、CPU32とメモリ34とを備える。メモリ34は、主記憶装置と補助記憶装置とを備える。一例であるが、主記憶装置は、RAM及びキャッシュメモリを含む。一例であるが、補助記憶装置は、ROM、フラッシュメモリ、Solid State Drive(SSD)、Hard Disk Drive(HDD)、又は、それらの組み合わせであってもよい。CPU32は、補助記憶装置から主記憶装置にロードされたプログラムに従って、各種の処理を実現する。
【0015】
メモリ34の補助記憶装置には、Operating System(OS)プログラム40が記憶される。以下では、OSプログラム40のことを、「OS40」と記載する。一例であるが、OS40は、Windowsである。Windowsは、マイクロソフト コーポレイションの登録商標である。
【0016】
OS40は、汎用印刷プログラム42を備える。一例であるが、汎用印刷プログラム42は、IPP Class Driverである。また、汎用印刷プログラム42は、OS40に標準搭載されたプリンタドライバと言うことができ、IPP Class Driver以外の仕様のものであってもよい。汎用印刷プログラム42は、複数のプリンタベンダによって提供される複数種類のモデルのプリンタに印刷を実行させるための汎用的な機能を有している。汎用印刷プログラム42は、各プリンタに固有のプリンタドライバとは異なり、各プリンタが固有に備える機能をサポートしていない。汎用印刷プログラム42は、印刷指示、及び、印刷対象の画像データが取得される場合に、中間画像データを生成する機能を有している。一例であるが、中間画像データは、XPSデータである。汎用印刷プログラム42は、さらに、中間画像データを、各種のプリンタが印刷を実行可能な形式の印刷データに変換する機能を有している。一例であるが、印刷データは、PWGRasterデータ、PDFである。
【0017】
メモリ34の補助記憶装置には、プログラムセット44と、印刷アプリ54と、が記憶され得る。プログラムセット44は、Print Support Application(PSA)46と、ランチャプログラム48と、環境チェッカー50と、インストーラ52と、を備えている。
【0018】
PSA46は、汎用印刷プログラム42をサポートするプログラムである。なお、「汎用印刷プログラム42をサポートする」とは、汎用印刷プログラム42に従った処理をサポートするとも言える。なお、PSAは、或るプリンタベンダが提供する1つのモデルにのみ対応するものであってもよいし、同一のプリンタベンダが提供する複数のモデルに共通に利用可能なものであってもよい。PSA46は、モデル名「MN1」を有するプリンタに対応するプログラムである。PSA46は、プリンタ100のプリンタベンダによって提供される。PSA46は、PSA46に対応するプリンタ(例えばプリンタ100)がPC10に接続される場合に、第1のサーバ200からPC10に自動的にダウンロードされるように構成されている。なお、OS40は、Plug and Play(PnP)を用いて、USBI/Fを介して、プリンタがPC10に接続されたことを検出し得る。また、OS40は、有線LANI/F又は無線LANI/Fを介して、プリンタがPC10に接続されたことを検出し得る。なお、本実施例では、PSA46、ランチャプログラム48、環境チェッカー50、及び、インストーラ52がパッケージ化されているので、PSA46に対応するプリンタがPC10に接続される場合に、PSA46を含むプログラムセット44が、第1のサーバ200からPC10に自動的にダウンロードされる。そして、PC10にダウンロードされたプログラムセット44は、サンドボックス環境に配置される。ここで、「配置」は、PCにプログラムがインストールされることに限定されず、プログラムの実行ファイル(EXEファイル)や設定ファイル等がPCのメモリの所定の記憶領域に保存されることも含む。PSA46は、サンドボックス環境外へのアクセスが制限されている。また、PSA46は、サンドボックス環境下の1個のアプリにのみ指示を供給することができるように構成されている。本実施例では、PSA46は、サンドボックス環境下のランチャプログラム48にのみ指示を供給することができるように構成されている。
【0019】
ランチャプログラム48、環境チェッカー50、及び、インストーラ52は、Win32アプリである。ランチャプログラム48、環境チェッカー50、及び、インストーラ52には、それぞれ、アプリID「AP1」、「AP2」、「AP3」が割り当てられている。アプリIDは、アプリを識別するための情報である。上述のように、プログラムセット44に含まれるランチャプログラム48、環境チェッカー50、及び、インストーラ52は、サンドボックス環境に配置される。なお、PSA46とは異なり、Win32アプリであるランチャプログラム48、環境チェッカー50、及び、インストーラ52は、サンドボックス環境外にアクセスすることができる。
【0020】
ランチャプログラム48は、PSA46から取得される指示に応じて、Win32アプリを起動させる。環境チェッカー50は、環境チェッカー50が配置されているPCの環境情報をチェックする。環境情報は、PC10にインストールされているアプリの情報等を含む。インストーラ52は、印刷アプリ54等をインストールするためのプログラムである。インストーラ52は、管理者権限で処理を実行するために、ユーザアカウント制御を必要とするプログラムである。ユーザアカウント制御は、セキュリティ機能の一つである。
【0021】
印刷アプリ54は、Win32アプリである。印刷アプリ54には、アプリID「AP11」が割り当てられている。印刷アプリ54は、サンドボックス環境外に配置される。印刷アプリ54は、印刷機能をプリンタに実行させるためのプログラムである。
【0022】
(プリンタ100の構成)
プリンタ100は、用紙に画像を印刷する印刷機能を実行可能な周辺装置(即ちPC10等の周辺装置)である。プリンタ100は、印刷機能を実行可能な印刷機構を備える。印刷機構は、インクジェット方式、電子写真方式、又は、サーマル方式の印刷エンジンを含む。インクジェット方式の印刷エンジンは、インク液滴を吐出する印刷ヘッドを備える。電子写真方式の印刷エンジンは、感光体及び光を射出して感光体を露光する露光装置等を備える。サーマル方式の印刷エンジンは、ヒータにより熱を発する印刷ヘッドを備える。
【0023】
プリンタ100は、モデル名「MN1」を有する。プリンタ100には、IPアドレス「IP1」が割り当てられている。
【0024】
(第1のサーバ200の構成)
第1のサーバ200は、OS42のベンダによってインターネット6上に設置されるサーバである。一例であるが、第1のサーバ200は、マイクロソフトストアのサービスを提供するクラウドサーバである。第1のサーバ200は、単一のサーバであってもよいし、複数個のサーバの集合であってもよい。
【0025】
第1のサーバ200には、OS42に対応する種々のプログラムが記憶されている。本実施例では、第1のサーバ200には、プログラムセット44が記憶されている。
【0026】
(第2のサーバ300の構成)
第2のサーバ300は、プリンタ100のプリンタベンダによってインターネット6上に設置されるサーバである。第2のサーバ300は、単一のサーバであってもよいし、複数個のサーバの集合であってもよい。
【0027】
第2のサーバ300には、プリンタ100に対応する種々のプログラムが記憶されている。本実施例では、第2のサーバ300には、印刷アプリ54が記憶されている。
【0028】
(第1のインストールプロセス;
図2、
図3)
図2、
図3を参照して、印刷アプリ54がPC10にインストールされる第1のインストールプロセスについて説明する。本プロセスの初期状態では、PC10のメモリ34には、プログラムセット44及び印刷アプリ54が記憶されていない。また、プリンタ100が、LAN4に接続されていない。即ち、プリンタ100が、PC10に接続されていない。以下では、PC10と他のデバイスとの間で実行される全ての通信は、PC10の通信I/F20を介して実行される。このため、以下では、「通信I/F20を介して」という記載を省略する。また、以下では、CPU32がプログラムに従って実現する各種処理を、各プログラム(例えばOS40)が、主体的にそれらの処理を行うように記載することがある。さらに、印刷アプリ54等は、OS40を介して、表示部14、メモリ34、通信I/F20等の各ハードウェアにアクセスして、各種処理を実行する。以下では、印刷アプリ54等がOS40を介して処理を実行することを適宜省略して説明する。
【0029】
なお、本明細書において、「情報を取得」は、「当該情報の要求」を必須とはしない概念で用いられる。即ち、「情報を取得」は、「受動的に情報を受信する」ことも包含する概念である。
【0030】
また、「或るプログラムに特定の情報を供給する」とは、或るプログラムの処理に特定の情報を渡すと言うこともできる。メモリが共有されている場合を、例にして説明する。「或るプログラムに情報を供給する」とは、或るプログラムに従って処理を実行するコンピュータがアクセス可能な共有メモリ内の記憶領域に、特定の情報を識別する特定の識別情報を記憶することを示す。また、「或るプログラムから情報を取得する」とは、上記の記憶領域、及び、特定の識別情報に基づいて、特定の情報を取得することを示す。なお、複数のプログラムの間で情報を供給/取得する方法としては、ソケット通信を利用する方法やパイプを利用する方法等がある。
【0031】
まず、プリンタ100がLAN4に接続される。これにより、サンドボックス環境外のOS40は、T10において、プリンタ100から、モデル名「MN1」とIPアドレス「IP1」とを受信する。この場合、OS40は、モデル名「MN1」とIPアドレス「IP1」とが初めて受信されたと判断し、T12において、モデル名「MN1」を含むプログラムセット要求を第1のサーバ200に送信する。プログラムセット要求は、当該要求内のモデル名に対応するプログラムセットの送信を第1のサーバ200に要求するための信号である。
【0032】
第1のサーバ200は、T12において、PC10からプログラムセット要求を受信すると、当該要求内のモデル名「MN1」に対応するプログラムセット44を特定する。第1のサーバ200は、T14において、特定済みのプログラムセット44をPC10に送信する。
【0033】
OS40は、T14において、第1のサーバ200からプログラムセット44を受信すると、T16において、プログラムセット44をPC10にインストールする第1のインストール処理を実行する。これにより、プログラムセット44が、PC10のサンドボックス環境にインストール(配置)される。次いで、OS40は、T18において、通知画面SC2をポップアップ表示の態様で表示部14に表示させる。通知画面SC2は、プログラムセット44のインストールが完了したことを示す画面である。通知画面SC2は、プリンタ100のモデル名「MN1」を含むモデル名領域400と、プリンタのイメージ画像402と、「アプリ」ボタン404と、を含む。「アプリ」ボタン404は、プログラムセット44に含まれるPSA46を起動させるためのボタンである。
【0034】
ユーザは、T20において、「アプリ」ボタン404に対する操作を実行する。これにより、OS40は、T30において、T10で受信したモデル名「MN1」及びIPアドレス「IP1」を含む第1のアプリ起動指示をサンドボックス環境下のPSA46に供給する。PSA46は、プログラムセット44に含まれる複数のプログラムのうち、OS40によって最初に起動されるアプリとして、プログラムセット44に登録されている。
【0035】
PSA46は、T30において、OS40から第1のアプリ起動指示を取得することに応じて起動して、第1のアプリ起動指示が通知画面SC2上の「アプリ」ボタン404に対する操作に起因して送信される信号であると判断し、第1の所定条件が満たされたと判断する。次いで、PSA46は、サンドボックス環境下の第1の所定領域に記憶されている第1のインストール関連情報を取得する。第1のインストール関連情報は、PC10に印刷アプリ54がインストール済みであるのか否かを示す情報である。第1のインストール関連情報は、PC10に印刷アプリ54がインストール済みである場合に、「AP11」を含む。なお、PC10に印刷アプリ54がインストール済みであることを示す情報は、アプリIDに限定されず、印刷アプリ54がインストール済みであることを明示する情報であればよい。第1のアプリ情報は、PC10に印刷アプリ54がインストール済みでない場合に、「未インストール」を含む。なお、PC10に印刷アプリ54がインストール済みでないことを示す情報は、「未インストール」に限定されず、印刷アプリ54がインストール済みでないことを明示する情報であればよい。本プロセスでは、PSA46は、「未インストール」を含む第1のインストール関連情報を取得する。この場合、PSA46は、T32において、印刷アプリ54がインストール済みでなく、かつ、第1の所定条件が満たされたと判断して、起動させるべきアプリが環境チェッカー50であると判断する。次いで、PSA46は、T34において、環境チェッカー50を識別するアプリID「AP2」を含む第2のアプリ起動指示をサンドボックス環境下のランチャプログラム48に供給する。
【0036】
ランチャプログラム48は、T34において、PSA46から第2のアプリ起動指示を取得することに応じて起動して、当該指示内に含まれるアプリID「AP2」によって識別される環境チェッカー50を特定する。次いで、ランチャプログラム48は、T36において、第3のアプリ起動指示をサンドボックス環境下の環境チェッカー50に供給する。
【0037】
環境チェッカー50は、T36において、ランチャプログラム48から第3の起動指示を取得することに応じて起動して、T40において、環境情報要求をOS40に供給する。環境情報要求は、環境情報の送信をOS40に要求するための信号である。一例であるが、環境情報要求は、サンドボックス環境外のアプリのアプリID、及び、当該アプリの実行ファイルが配置された記憶領域の位置情報を含む。環境情報要求は、アプリIDに代えて、実行ファイルのファイル名を含んでもよい。位置情報は、フォルダのパス情報であってもよい。OS40は、環境チェッカー50から環境情報要求を取得すると、取得した環境情報要求を利用して、取得した環境情報要求に対応するアプリがPC10にインストール済みであるのか否かを判断する。次いで、OS40は、判断結果を環境チェッカー50に供給する。OS40は、アプリがインストール済みである場合に、当該アプリに対応するアプリIDを環境チェッカー50に供給してもよいし、当該アプリがインストール済みであることを明示する情報を環境チェッカー50に供給してもよい。また、OS40は、アプリがインストール済みでない場合に、「not found」という情報を環境チェッカー50に供給してもよいし、当該アプリがインストール済みでないことを明示する情報を環境チェッカー50に供給してもよい。以下では、一例として、OS40が、アプリがインストール済みであることを明示する情報としてアプリIDを環境チェッカー50に供給する場合、及び、アプリがインストール済みでないことを明示する情報として「未インストール」を環境チェッカー50に供給する場合を説明する。
【0038】
OS40は、T40において、環境チェッカー50から環境情報要求を取得すると、取得した環境情報要求に対応するアプリである印刷アプリ54がPC10インストール済みであるのか否かを判断する。具体的には、OS40は、印刷アプリ54の実行ファイルが、サンドボックス環境外の第2の所定領域に記憶されているのか否かを判断する。本プロセスでは、印刷アプリ54の実行ファイルは第2の所定領域に記憶されていない。この場合、OS40は、印刷アプリ54がインストール済みでないと判断し、T42において、第2のインストール関連情報「未インストール」を含む環境情報を環境チェッカー50に供給する。なお、印刷アプリ54の実行ファイルが第2の所定領域に記憶されている場合、OS40は、印刷アプリ54がインストール済みであると判断し、第2のインストール関連情報「AP11」を含む環境情報を環境チェッカー50に供給する。
【0039】
環境チェッカー50は、T42において、OS40から環境情報を取得すると、T44において、環境情報をPSA46に供給する。なお、環境チェッカー50は、ランチャプログラム48を介して、環境情報をPSA46に供給してもよいし、ランチャプログラム48を介さずに、環境情報をPSA46に供給してもよい。
【0040】
PSA46は、T44において、環境チェッカー50から環境情報を取得すると、環境情報が第2のインストール関連情報「未インストール」を含むことを特定する。この場合、PSA46は、T50において、印刷アプリ54がPC10にインストール済みでないと判断し、T52において、インストール画面SC4を表示部14に表示させる。インストール画面SC4は、閉じるボタン410と、第1のメッセージ412と、「インストール」ボタン414と、を含む。第1のメッセージ412は、プリンタ100に関連するアプリが存在することを示すメッセージである。上記の構成によると、サンドボックス環境外へのアクセスが制限されたPSA46が、ランチャプログラム48を介して、サンドボックス環境外の情報を取得することができる。なお、第1のメッセージ412は、プリンタに関連するアプリをインストール可能であることを示すメッセージであってもよいし、プリンタに関連するアプリのインストールを促すメッセージであってもよい。インストール画面SC4は、印刷アプリ54のアプリ名を含んでもよい。このような構成によると、ユーザは、インストール可能なアプリを知ることができる。
【0041】
ユーザは、
図3のT60において、「インストール」ボタン414に対する操作を実行する。この場合、PSA46は、インストール画面SC4に対する操作を受け付けたので、起動させるべきアプリがインストーラ52であると判断し、第2の所定条件が満たされたと判断する。この場合、PSA46は、起動させるべきアプリがインストーラ52であると判断する。次いで、PSA46は、T62において、モデル名「MN1」とIPアドレス「IP1」とインストーラ52を識別するアプリID「AP3」とを含む第4のアプリ起動指示をランチャプログラム48に供給する。第4のアプリ起動指示は、アプリのインストールを指示するための信号でもある。
【0042】
ランチャプログラム48は、T62において、PSA46から第4のアプリ起動指示を取得すると、当該指示内に含まれるアプリID「AP3」によって識別されるインストーラ52を特定する。次いで、ランチャプログラム48は、T64において、モデル名「MN1」とIPアドレス「IP1」と管理者権限取得指示とを含む第5のアプリ起動指示をサンドボックス環境下のインストーラ52に供給する。
【0043】
インストーラ52は、T64において、ランチャプログラム48から第5のアプリ起動指示を取得すると、当該指示が管理者権限取得指示を含むと判断する。この場合、インストーラ52は、T66において、管理者権限承認要求をOS40に供給する。
【0044】
OS40は、T66において、インストーラ52から管理者権限承認要求を取得すると、T68において、承認画面SC6を表示部14に表示させる。
図4に示すように、承認画面SC6は、第2のメッセージ420と、「はい」ボタン422と、「いいえ」ボタン424と、を含む。第2のメッセージ420は、インストーラ52がPC10に変更を加えることを許可するのか否かを確認するためのメッセージである。なお、承認画面SC6は、インストーラ52の発行元である第1のサーバ200を提供するベンダに関する情報、変更内容を確認するための確認ボタン等を含んでいてもよい。
【0045】
ユーザは、
図3のT70において、「はい」ボタン422に対する操作を実行する。これにより、OS40は、T72において、管理者権限をインストーラ52に供給する。
【0046】
インストーラ52は、T72において、OS40から管理者権限を取得すると、インストーラ52が管理者権限で動作することが許可されたと判断する。具体的には、インストーラ52は、インストーラ52によるPC10へのアプリのインストールが許可されたと判断する。この場合、インストーラ52は、T64で取得した第5のアプリ起動指示に含まれるモデル名「MN1」を特定し、T80において、特定済みのモデル名「MN1」に対応するアプリ選択画面SC8を表示部14に表示させる。
図5に示すように、アプリ選択画面SC8は、モデル名領域430と、印刷アプリ54に対応するアプリ名領域432と、「インストール」ボタン434と、「キャンセル」ボタン436と、を含む。なお、モデル名「MN1」に対応するアプリが複数存在する場合、アプリ選択画面SC8は、アプリ名領域432に代えて、PC10にインストールするアプリを選択するためのアプリ選択領域を含んでいていてもよい。
【0047】
ユーザは、T82において、「インストール」ボタン434に対する操作を実行する。これにより、インストーラ52は、「印刷アプリ」のアプリID「AP11」を特定し、T84において、特定済みのアプリID「AP11」を含むアプリ要求を第2のサーバ300に送信する。
【0048】
第2のサーバ300は、T84において、PC10からアプリ要求を受信すると、アプリ要求内のアプリID「AP11」を特定し、第2のサーバ300に記憶されている印刷アプリ54を特定する。次いで、第2のサーバ300は、T86において、特定済みの印刷アプリ54をPC10に送信する。
【0049】
インストーラ52は、T86において、第2のサーバ300から印刷アプリ54を受信すると、T90において、PC10に印刷アプリ54をインストールする第2のインストール処理を実行する。第2のインストール処理において、インストーラ52は、受信済みの印刷アプリ54を含むインストール指示をOS40に供給する。OS40は、インストーラ52からインストール指示を取得すると、インストール指示内の印刷アプリ54の実行ファイルをサンドボックス環境外の第2の所定領域に登録する。また、OS40は、印刷アプリ54のインストールが完了したことを示すインストール完了通知をインストーラ52に供給する。これにより、第2のインストール処理が完了する。次いで、インストーラ52は、T92において、サンドボックス環境下の第1の所定領域の第1のインストール関連情報に「AP11」を記憶させる。次いで、インストーラ52は、T94において、インストールされた印刷アプリ54を起動させるのか否かをユーザに選択させるための起動選択画面を表示部14に表示させる。
【0050】
なお、変形例では、インストーラ52は、アプリ要求を第2のサーバ300に送信しなくてもよい。本変形例では、インストーラ52は、T90において、インストーラ52が有する印刷アプリ54を利用した第2のインストール処理を実行する。また、別の変形例では、インストーラ52は、アプリ要求を第2のサーバ300に送信することに応じて、第2のサーバ300から印刷アプリ54が受信される場合に、受信済みの印刷アプリ54を利用した第2のインストール処理を実行し、アプリ要求を第2のサーバ300に送信することに応じて、第2のサーバ300から印刷アプリ54が受信されない場合に、インストーラ52が有する印刷アプリ54を利用した第2のインストール処理を実行してもよい。
【0051】
(第2のインストールプロセス;
図6)
図6を参照して、印刷アプリ54がPC10にインストールされる第2のインストールプロセスについて説明する。本プロセスの初期状態は、
図2、
図3の第1のインストールプロセスの初期状態と同様である。
【0052】
ユーザは、T110において、第2のサーバ300にアクセスするための第2のアクセス操作をPC10に実行する。これにより、OS40は、T112において、アクセス要求を第2のサーバ300に送信し、T114において、第2のサーバ300からトップ画面データを受信する。OS40は、T120において、トップ画面データによって表わされるトップ画面を表示部14に表示させる。トップ画面は、PC10にダウンロードするアプリを選択するための画面である。
【0053】
ユーザは、T122において、印刷アプリ54をダウンロードするためのダウンロード操作をPC10に実行する。これにより、OS40は、T130において、印刷アプリ54のアプリID「AP11」を含むアプリ要求を第2のサーバ300に送信する。次いで、OS40は、T132において、第2のサーバ300から印刷アプリ54を受信する。
【0054】
ユーザは、T140において、印刷アプリ54をPC10にインストールするためのインストール操作をPC10に実行する。これにより、OS40は、T142において、印刷アプリ54の実行ファイル等をPC10のサンドボックス環境外の第2の所定領域に登録する第3のインストール処理を実行する。これにより、第3のインストール処理が完了する。なお、PC10は、第3のインストール処理が完了した後に、サンドボックス環境下の第1の所定領域の第1のインストール関連情報にアプリID「AP11」を記憶しない。
【0055】
(第1の印刷プロセス;
図7)
図7を参照して、印刷アプリ54を利用した印刷が実行される第1の印刷プロセスについて説明する。第1の印刷プロセスの初期状態は、
図2、
図3の第1のインストールプロセスの後の状態である。即ち、サンドボックス環境下の第1の所定領域の第1のインストール関連情報は、「AP11」を含む。
【0056】
ユーザは、T210において、第1の設定画面SC10を表示させるためのデバイス管理操作をPC10に実行する。これにより、OS40は、T212において、第1の設定画面SC10を表示部14に表示させる。
図8に示すように、第1の設定画面SC10は、検索オブジェクト440と、「プリンタとスキャナ」ボタン442と、「マウス」ボタン444と、「追加」ボタン446と、「プリンタとスキャナ」領域448と、を含む。「プリンタとスキャナ」領域448は、PC10に登録されているプリンタ、及び、スキャナに対応するボタンを含む。本プロセスでは、「プリンタとスキャナ」領域448は、プリンタ100に対応するボタン450を含む。
【0057】
ユーザは、
図7のT214において、プリンタ100に対応するボタン450に対する操作を実行する。これにより、OS42は、T216において、プリンタ100に対応する第2の設定画面SC12を表示部14に表示させる。
図8に示すように、第2の設定画面SC12は、検索オブジェクト440と、「プリンタとスキャナ」ボタン442と、「マウス」ボタン444と、デバイス情報460と、プリンタ設定領域462と、を含む。デバイス情報460は、第1の設定画面SC10で選択されたデバイスに対応する情報を含む。プリンタ設定領域462は、「プリンタキュー」ボタン464と、「アプリ起動」ボタン466と、を含む。「アプリ起動」ボタン466は、選択中のプリンタに対応するPSAを起動させるためのボタンである。なお、OS40は、「追加」ボタン446に対する操作を受け付ける場合に、LAN4に所属するプリンタを検索する検索処理を実行し、PC10に接続するプリンタを選択するためのプリンタ一覧画面を表示部14に表示させる。そして、特定のプリンタの選択が受け付けられることに応じて、特定のプリンタがPC10に接続される。このように、OS40は、有線LANI/F又は無線LANI/Fである通信I/F20を介して、プリンタがPC10に接続されたことを検出する。
【0058】
ユーザは、
図7のT218において、「アプリ起動」ボタン466に対する操作を実行する。これにより、OS40は、T220において、モデル名「MN1」及びIPアドレス「IP1」を含む第1のアプリ起動指示をPSA46に供給する。
【0059】
PSA46は、T220において、OS40から第1のアプリ起動指示を取得すると、サンドボックス環境下の第1の所定領域に記憶されている第1のインストール関連情報を取得する。本プロセスでは、第1のインストール関連情報は、「AP11」を含む。このため、PSA46は、T222において、印刷アプリ54がインストール済みであると判断する。この場合、PSA46は、T230において、アプリID「AP11」に対応するアプリ起動画面SC14を表示部14に表示させる。アプリ起動画面SC14は、閉じるボタン470と、デバイス情報領域472と、第3のメッセージ474と、「はい」ボタン476と、「いいえ」ボタン478と、を含む。デバイス情報領域472は、第1のアプリ起動指示(T220参照)に含まれるモデル名「MN1」とIPアドレス「IP1」とを含む。第3のメッセージ474は、印刷アプリ54を起動させるのか否かを確認するためのメッセージである。上述のように、インストーラ52は、PC10に印刷アプリ54をインストールして、サンドボックス環境下の第1の所定領域の第1のインストール関連情報に「AP11」を記憶する(
図3のT92参照)。このため、サンドボックス環境外へのアクセスが制限されたPSA46は、第1のインストール関連情報を取得して、印刷アプリ54がインストール済みであるのか否かを判断することができる。なお、アプリ起動画面SC14は、「はい」ボタン476及び「いいえ」ボタン478に代えて、印刷アプリ54を起動させるための「Launch」ボタンを含んでもよい。本変形例では、「Launch」ボタンに対する操作が実行されると、「はい」ボタン476に対する操作が実行された場合と同様の処理が実行される。また、アプリ起動画面SC14は、印刷アプリ54のアプリ名を含んでもよい。このような構成によると、ユーザは、起動対象のアプリを知ることができる。
【0060】
ユーザは、T240において、「はい」ボタン476に対する操作を実行する。この場合、PSA46は、アプリ起動画面SC14の「はい」ボタン476に対する操作を受け付けたので、第3の所定条件が満たされたと判断する。この場合、PSA46は、起動させるべきアプリが印刷アプリ54であると判断する。次いで、PSA46は、T242において、モデル名「MN1」とIPアドレス「IP1」と印刷アプリ54を識別するアプリID「AP11」とを含む第6のアプリ起動指示をサンドボックス環境下のランチャプログラム48に供給する。
【0061】
ランチャプログラム48は、T242において、PSA46から第6のアプリ起動指示を取得すると、当該指示内に含まれるアプリID「AP11」によって識別される印刷アプリ54を特定する。次いで、ランチャプログラム48は、T244において、モデル名「MN1」とIPアドレス「IP1」とを含む第7のアプリ起動指示をサンドボックス環境外の印刷アプリ54に供給する。
【0062】
印刷アプリ54は、T244において、ランチャプログラム48から第7の起動指示を取得すると、T250において、ホーム画面SC16を表示部14に表示させる。
図9に示すように、ホーム画面SC16は、印刷ボタン480と、プリンタオブジェクト484と、を含む。プリンタオブジェクト484は、プリンタ100に関連する情報を含む。プリンタ100に関連する情報は、プリンタ100のモデル名「MN1」、IPアドレス「IP1」、及び、ステータスを示す情報を含む。
【0063】
ユーザは、T252において、印刷操作を実行する。印刷操作は、印刷ボタン480に対する操作を含む。これにより、印刷アプリ54は、印刷対象のファイルを選択するためのファイル選択画面を表示部14に表示させる。印刷操作は、さらに、ファイル選択画面において印刷対象のファイルを選択する操作を含む。これにより、印刷アプリ54は、選択済みのファイルに対応する印刷プレビュー画像と、印刷実行ボタンと、を含む印刷プレビュー画面を表示部14に表示させる。印刷操作は、さらに、印刷実行ボタンに対する操作を含む。これにより、印刷アプリ54は、T254において、印刷対象のファイルを特定するためのファイル情報を含む第1の印刷指示をOS40の汎用印刷プログラム42に供給する。
【0064】
汎用印刷プログラム42は、T254において、印刷アプリ54から第1の印刷指示を取得すると、第1の印刷指示内のファイル情報に対応するファイルを特定する。次いで、汎用印刷プログラム42は、T256において、当該ファイルを中間画像データに変換し、T258において、中間画像データを含む第2の印刷指示をPSA46に供給する。
【0065】
PSA46は、T258において、汎用印刷プログラム42から第2の印刷指示を取得すると、T260において、第2の印刷指示に含まれる中間画像データを変換して、印刷データを生成する。印刷データは、プリンタ100に対応するデータである。一例であるが、印刷データは、モデル名「MN1」のプリンタに対応するPDLデータである。次いで、PSAは、T262において、印刷データをプリンタ100に送信する。
【0066】
プリンタ100は、T262において、PC10から印刷データを受信すると、T264において、当該印刷データを利用した印刷を実行する。このようにして、印刷アプリ54を利用した印刷が実行される。
【0067】
(第2の印刷プロセス;
図10)
図10を参照して、印刷アプリ54を利用した印刷が実行される第2の印刷プロセスについて説明する。第2の印刷プロセスの初期状態は、
図6の第2のインストールプロセスの後の状態である。即ち、サンドボックス環境下の第1の所定領域の第1のインストール関連情報は、「未インストール」を含む。また、サンドボックス環境外の第2の所定領域には、印刷アプリ54の実行ファイルが記憶されている。
【0068】
まず、PC10、プリンタ100、及び、第2のサーバ300の間で、
図2のT10~T40と同様の処理が実行される。本プロセスでは、OS40は、印刷アプリ54の実行ファイルがサンドボックス環境外の第2の所定領域に記憶されていると判断し、T342において、第2のインストール関連情報「AP11」を含む環境情報を環境チェッカー50に供給する。
【0069】
環境チェッカー50は、T342において、OS40から環境情報を取得すると、T344において、環境情報をPSA46に供給する。なお、環境チェッカー50は、ランチャプログラム48を介して、環境情報をPSA46に供給してもよいし、ランチャプログラム48を介さずに、環境情報をPSA46に供給してもよい。
【0070】
PSA46は、T344において、環境チェッカー50から環境情報を取得すると、環境情報が第2のインストール関連情報「AP11」を含むことを特定する。この場合、PSA46は、T350において、PC10に印刷アプリ54がインストール済みであると判断し、T352において、サンドボックス環境下の第1の所定領域の第1のインストール関連情報に「AP11」を記憶する。次いで、PSA46は、T360において、アプリID「AP11」に対応するアプリ起動画面SC14(
図7参照)を表示部14に表示させる。その後、PC10及びプリンタ100の間で、
図7のT240~T264と同様の処理が実行される。なお、変形例では、T352を省略可能である。
【0071】
上述のように、PSA46は、第1のインストール関連情報が「未インストール」を含む場合(
図2のT32)に、ランチャプログラム48を介して、第2のインストール関連情報を取得する。一方、PSA46は、第1のインストール関連情報が「AP11」を含む場合(
図7のT222)に、第2のインストール関連情報を取得することなく、アプリ起動画面SC14を表示部14に表示させる。このような構成によると、ランチャプログラム48を介して、第2のインストール関連情報が必ず取得される構成と比較して、アプリ起動画面SC14を、比較的早期に表示させることができる、又は、比較的簡易な処理で表示させることができる。
【0072】
(本実施例の効果)
上記の構成によると、PC10は、PSA46に従って、印刷アプリ54がPC10にインストール済みである場合(
図7のT222、
図10のT350)に、アプリ起動画面SC14を表示部14に表示させ(
図7のT230、
図10のT360)、印刷アプリ54がPC10にインストール済みでない場合(
図2のT50)に、インストール画面SC4を表示部14に表示させる(
図2のT52)。このように、PC10は、印刷アプリ54がPC10にインストール済みであるのか否かに応じて、表示部14に表示する画面を切り替えることができる。従って、ユーザの利便性が向上する。
【0073】
(対応関係)
PC10が、「端末装置」の一例である。PSA46が、「印刷サポートアプリケーション」の一例である。印刷アプリ54が、「第1のWin32アプリケーション」の一例である。第1のインストール関連情報、第2のインストール関連情報が、「第1のインストール情報」の一例である。
図7のアプリ起動画面SC14が、「第1の画面」の一例である。
図2のインストール画面SC4が、「第2の画面」の一例である。ランチャプログラム48が、「第2のWin32アプリケーション」の一例である。
図3のT62の第4のアプリ起動指示が、「インストール指示」の一例である。サンドボックス環境下の第1の所定領域が、「所定領域」の一例である。第2のインストール関連情報が、「第2のインストール情報」の一例である。
【0074】
PSA46が、「第1のコンピュータプログラム」の一例である。印刷アプリ54が、「第2のコンピュータプログラム」の一例である。第1のインストール関連情報、第2のインストール関連情報が、「配置情報」の一例である。
【0075】
図2のT32、T44、
図7のT222、
図10のT344が、「取得部」によって実行される処理の一例である。
図7のT230、
図10のT360が、「第1の表示制御部」によって実行される処理の一例である。
図2のT52が、「第2の表示制御部」によって実行される処理の一例である。
【0076】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0077】
(第1変形例)「端末装置」はPCに限定されず、携帯電話(例えばスマートフォン)、PDA等であってもよい。
【0078】
(第2変形例)「第1のWin32アプリケーション」は、印刷アプリ54に限定されず、プリンタのステータスを確認するためのプログラムであるステータスモニタ等であってもよい。
【0079】
(第3変形例)PC10のOS40は、レジストリを利用して、PC10に印刷アプリ54がインストール済みであるのか否かを判断してもよい。
【0080】
(第4変形例)上記の実施例では、PSA46、ランチャプログラム48、環境チェッカー50、及び、インストーラ52が、パッケージ化されている。変形例では、PSA46、ランチャプログラム48、環境チェッカー50、及び、インストーラ52のうちの少なくとも1個のプログラムが別のプログラムとして提供されてもよい。一例であるが、PSA46、ランチャプログラム48、環境チェッカー50、及び、インストーラ52が別々のプログラムとして提供されてもよいし、PSA46と、ランチャプログラム48、環境チェッカー50、及び、インストーラ52を含むプログラムセットと、が別々のプログラムとして提供されてもよい。本変形例では、PSA46、ランチャプログラム48、環境チェッカー50、及び、インストーラ52がPC10にダウンロードされた後に、各プログラム46、48、50、52が連携して各種処理を実行する。
【0081】
(第5変形例)サンドボックス環境外の第3の所定領域に第1のインストール関連情報が記憶されていてもよい。本変形例では、
図3のT92において、インストーラ52は、第3の所定領域の第1のインストール関連情報に「AP11」を記憶する。本変形例では、PSA46は、ランチャプログラム48を介して、第3の所定領域の第1のインストール関連情報を取得する。
【0082】
(第6変形例)PC10のサンドボックス環境に第1のインストール関連情報が記憶されていなくてもよい。本変形例では、PSA46は、
図2のT30の後に、第1のインストール関連情報を取得することなく、T34以降の処理を実行する。
【0083】
(第7変形例)「第1のコンピュータプログラム」は、PSAに限定されず、Universal Windows Platform(UWP)アプリであってもよいし、その他のフレームワーク又はプラットフォーム上で動作するアプリであってもよい。
【0084】
(第8変形例)「第2のコンピュータプログラム」は、Win32アプリに限定されず、WinFXアプリ等であってもよい。
【0085】
(第9変形例)上記の実施例では、第1のサーバ200及び第2のサーバ300は、物理的なサーバであるが、第1のサーバ200及び第2のサーバ300は、物理的なサーバに限定されず、クラウド上の仮想サーバ、仮想マシンであってもよい。即ち、ベンダは、第1のサーバ200及び第2のサーバ300のハードウェアを自前で準備せず、外部のクラウドコンピューティングサービスが提供する環境を利用してもよい。この場合、ベンダは、第1のサーバ200及び第2のサーバ300のプログラム(即ちソフトウェア)を準備し、それを上記の環境に導入することによって、第1のサーバ200及び第2のサーバ300を実現してもよい。別の変形例では、第1のサーバ200及び第2のサーバ300は、ベンダとは異なる事業者によってインターネット6上に設置されてもよい。
【0086】
(第10変形例)「印刷装置」は、プリンタに限定されず、複合機、複写機等の印刷エンジンを備える装置であってもよい。
【0087】
(第11変形例)上記の各実施例では、
図2~
図10の処理が、ソフトウェア(例えば、プログラム40、42、46、48、50、52、54)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0088】
また、本明細書又は図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書又は図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0089】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
端末装置のための印刷サポートアプリケーションであって、
前記印刷サポートアプリケーションは、Operating System(OS)に実装された汎用印刷プログラムをサポートするためのアプリケーションであり、
前記端末装置のコンピュータを、
第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する取得部と、
前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1のWin32アプリケーションを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、
前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第1のWin32アプリケーションを前記端末装置にインストールするための第2の画面を前記表示部に表示させる第2の表示制御部と、
として機能させる、印刷サポートアプリケーション。
(項目2)
前記取得部は、前記端末装置にインストール済みである第2のWin32アプリケーションを介して、前記第1のインストール情報を取得する、項目1に記載の印刷サポートアプリケーション。
(項目3)
前記第1のWin32アプリケーションに対応する実行ファイルが前記端末装置のメモリに記憶されている場合に、前記第1のインストール情報は、前記第1のWin32アプリケーションがインストール済みであることを示し、
前記実行ファイルが前記メモリに記憶されていない場合に、前記第1のインストール情報は、前記第1のWin32アプリケーションがインストール済みでないことを示す、項目2に記載の印刷サポートアプリケーション。
(項目4)
前記印刷サポートアプリケーションと前記第2のWin32アプリケーションとは、パッケージ化された状態で前記端末装置にダウンロードされる、項目2又は3に記載の印刷サポートアプリケーション。
(項目5)
前記印刷サポートアプリケーションは、前記コンピュータを、さらに、
前記第2の画面において、前記第1のWin32アプリケーションを前記端末装置にインストールするための操作が受け付けられる場合に、前記端末装置にインストール済みである第2のWin32アプリケーションを介して、インストール指示をインストーラに供給する供給部として機能させ、
前記インストーラは、前記コンピュータに、
前記印刷サポートアプリケーションから前記インストール指示が取得される場合に、前記第1のWin32アプリケーションを前記端末装置にインストールして、前記第1のWin32アプリケーションが前記端末装置にインストールされたことを示す前記第1のインストール情報を前記端末装置のメモリ内の所定領域に登録させ、
前記取得部は、前記メモリ内の前記所定領域から前記第1のインストール情報を取得する、項目1から4のいずれか一項に記載の印刷サポートアプリケーション。
(項目6)
前記所定領域は、サンドボックス環境で起動されるアプリケーションがアクセス可能な領域である、項目5に記載の印刷サポートアプリケーション。
(項目7)
前記印刷サポートアプリケーションは、前記コンピュータを、さらに、
前記所定領域から取得される前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第2のWin32アプリケーションを介して、前記第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第2のインストール情報を取得する第2の取得部として機能させ、
前記第1の表示制御部は、前記第1のインストール情報及び前記第2のインストール情報のいずれかが、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1の画面を前記表示部に表示させ、
前記第2の表示制御部は、前記第1のインストール情報及び前記第2のインストール情報のいずれもが、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第2の画面を前記表示部に表示させる、項目6に記載の印刷サポートアプリケーション。
(項目8)
Operating System(OS)に実装された汎用印刷プログラムをサポートするための印刷サポートアプリケーションを備える端末装置を制御するための方法であって、
前記印刷サポートアプリケーションに従って、第1のWin32アプリケーションが前記端末装置にインストール済みであるのか否かを示す第1のインストール情報を取得する取得ステップと、
前記印刷サポートアプリケーションに従って、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みであることを示す場合に、前記第1のWin32アプリケーションを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御ステップと、
前記印刷サポートアプリケーションに従って、前記第1のインストール情報が、前記第1のWin32アプリケーションがインストール済みでないことを示す場合に、前記第1のWin32アプリケーションを前記端末装置にインストールするための第2の画面を前記表示部に表示させる第2の表示制御ステップと、
を備える、方法。
(項目9)
端末装置のための第1のコンピュータプログラムであって、
前記第1のコンピュータプログラムは、サンドボックス環境に配置されるコンピュータプログラムであり、
前記第1のコンピュータプログラムは、前記端末装置のコンピュータを、
前記第1のコンピュータプログラムとは異なる第2のコンピュータプログラムが前記端末装置に配置済みであるのか否かを示す配置情報を取得する取得部であって、前記第2のコンピュータプログラムは、前記サンドボックス環境外に配置される前記取得部と、
前記配置情報が、前記第2のコンピュータプログラムが配置済みであることを示す場合に、前記第2のコンピュータプログラムを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御部と、
前記配置情報が、前記第2のコンピュータプログラムが配置済みでないことを示す場合に、前記第2のコンピュータプログラムを前記端末装置に配置するための第2の画面を前記表示部に表示させる第2の表示制御部と、
として機能させる、第1のコンピュータプログラム。
(項目10)
サンドボックス環境に配置される第1のコンピュータプログラムを備える端末装置を制御するための方法であって、
前記第1のコンピュータプログラムに従って、前記第1のコンピュータプログラムとは異なる第2のコンピュータプログラムが前記端末装置に配置済みであるのか否かを示す配置情報を取得する取得ステップであって、前記第2のコンピュータプログラムは、前記サンドボックス環境外に配置される前記取得ステップと、
前記第1のコンピュータプログラムに従って、前記配置情報が、前記第2のコンピュータプログラムが配置済みであることを示す場合に、前記第2のコンピュータプログラムを起動させるための第1の画面を前記端末装置の表示部に表示させる第1の表示制御ステップと、
前記第1のコンピュータプログラムに従って、前記配置情報が、前記第2のコンピュータプログラムが配置済みでないことを示す場合に、前記第2のコンピュータプログラムを前記端末装置に配置するための第2の画面を前記表示部に表示させる第2の表示制御ステップと、
を備える、方法。
【符号の説明】
【0090】
2:通信システム、4:LAN、6:インターネット、10:PC、12:操作部、14:表示部、20:通信I/F、30:制御部、32:CPU、34:メモリ、40:OSプログラム、42:汎用印刷プログラム、44:プログラムセット、46:PSA、48:ランチャプログラム、50:環境チェッカー、52:インストーラ、54:印刷アプリ、100:プリンタ、200:第1のサーバ、300:第2のサーバ