高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Note TN1191
USB Software Locator

目次

このテクニカルノートでは、Mac OS 9.0 で導入されたソフトウェア・アップデートのプロセスと、特に USB デバイスに対して用意されているサポートについて説明します。また、Mac OS 9.0.4 で改良された部分を説明します。デベロッパが DTS(デベロッパ・テクニカル・サポート)への登録を行って、USB アップデートデータベースにアクセスする方法についても説明します。デベロッパは、このデータベースをアップデートして、ソフトウェア・アップデートが特定の USB デバイスに対応した適切なソフトウェアをダウンロードするために使用する情報を提供することができます。

 更新: [2001年2月23日]






ソフトウェア・アップデートのプロセスの概要

Mac OS 9 の新機能の1つである“ソフトウェア・アップデート”を使うと、新しいシステムソフトウェアがリリースされたとき、インターネットを介してシステムソフトウェアをアップデートできるようになります。現在のところ、この機能は Apple システムソフトウェアのアップデートだけに限定されています。ただし、USB デバイスに対しては、認識できない USB デバイスに対応するドライバを検索するという派生機能が用意されています。つまり、ある USB デバイスが接続されていて、そのデバイスを認識できるドライバが存在しない場合、ソフトウェア・アップデートは、インターネット上で必要なドライバを検索するかどうかをユーザに問い合わせてくるということです。適切なドライバが登録されている場合は、そのソフトウェアパッケージが自動的にダウンロードされます。

USB デベロッパが製品に対応したソフトウェア・アップデートのサポートをインプリメントするためには、次に示す6つの重要なステップを踏む必要があります。

  1. DTS に登録を行い、USB ソフトウェア・アップデート Web ページにアクセスできるようにする。

  2. USB Editor ステージングサーバのデータベースに、ソフトウェアがダウンロードされることになるデベロッパの Web サーバの URL とともに目的のデバイスのデータを入力する。

  3. 適切にインストールされるようにソフトウェアのパッケージングを行う。

  4. Software Locator Switch を使ってソフトウェア・アップデートを設定し、USB Editor ステージングサーバのデータベースを検索する。

  5. 目的の USB デバイスをサポートする USB ドライバが存在しない状態でそのデバイスを接続し、USB Software Locator のプロセスをテストする。

  6. USB Editor データベースのレコードを設定し、そのレコードをプロダクションサーバに移動する。

なお、現在のインプリメンテーションでサポートされているのは、ソフトシステム上で最適なドライバが見つからないときにインターネットを介してドライバモジュールを検索する機能だけです。現時点では、既存の USB ドライバソフトウェアをアップデートする機能や、“より適切な”USB ドライバソフトウェアを検索する機能はサポートされていません。また、ソフトウェア・アップデートでは、USB 以外のその他のタイプのサードパーティソフトウェアはサポートされていません。さらに、ソフトウェア・アップデートのプロセスは Mac OS 9.0 またはそれ以降でのみ使用できるという制限もあります。ソフトウェア・アップデートは、Mac OS 9.0 より前の Mac OS ではサポートされていません。

Mac OS 9.0.4 に含まれているソフトウェア・アップデート機能はさらに改良され、Disk Copy イメージも扱うことが出来ます。これによって、USB Software Locator はサードパーティのインストーラソフトウェアもご利用いただけます。


ページの先頭に戻る

USB ソフトウェア・アップデートのプロセスの詳細

ユーザが USB デバイスを Macintosh に接続するとき、Mac OS USB は ROM と「機能拡張」フォルダで、そのデバイスの特性と一致する DriverDescription レコードを持った 'ndrv' ドライバファイルを検索します。一致するドライバが見つからない場合、Mac OS 9.0 またはそれ以降では、次のようなアラートが表示されます。

tn1191.1.gif

このアラートと、以前の Mac OS のリリースで表示されていた類似のアラートとのメッセージ内容のちがいに注意してください。Mac OS 9 には、デバイスをサポートするドライバをインターネットで検索するためのオプションが用意されています。ユーザが“OK”ボタンをクリックすると、システムはインターネットにアクセスして、Apple の USB データベース Web ページを検索します。この Web ページにアクセスできると、Mac OS USB は、目的のデバイスとベンダ ID、製品 ID、デバイスクラス、およびサブクラスが一致する USB データベースのエントリを検索します。一致するエントリが検出されると、ユーザには次のようなアラートが表示されます。


tn1191.2.gif

上の例では、1つのソフトウェアパッケージだけが検出されています。目的のデバイスで使用可能なソフトウェアパッケージが複数存在することもあります。このような場合は、条件に一致するすべての選択肢がユーザに提示されます。ユーザは一覧表示されているソフトウェアパッケージのいずれかをクリックし、そのときに下部のウィンドウ枠に表示される関連情報を読んで、最適なソフトウェアを選択することができます。

ユーザは選択したソフトウェアをダウンロードすることができます。ユーザがソフトウェアのインストールを選択した場合、ソフトウェア・アップデートは USB データベースで指定されている URL を使って、そのソフトウェアをダウンロードします。ダウンロードされたファイルが Apple インストーラスクリプトである場合はスクリプトが自動的に実行されます。さらに Mac OS 9.0.4 では、ダウンロードされたファイルが Disk Copy イメージである場合、ディスクイメージはマウントされ、ディスクイメージの中にある Apple インストーラスクリプトが実行されます。ダウンロードされたファイルがその他のファイルの場合、ファイルはデベロッパが指定した位置(通常は“機能拡張”フォルダ)に保存されます。ファイルのダウンロードが終了すると、ソフトウェア・アップデートは、USB デバイスをサポートするドライバを再スキャンするように USB に指示します。なお、USB ドライバモジュールを照合するプロセスと並行して、それをアクティブ、またはインストールするために必要な他のプロセスも同時に進行し、結果的にコンピュータの再起動が必要になる場合もあります。

Apple の USB データベースは、Apple の USB Editor Web ページからパスワードを使ってアクセスできます。デベロッパは、自分のベンダ ID に基づいてデータベースレコードにアクセスできるように DTS への登録を行う必要があります。したがって、デバイスがデベロッパ固有のベンダ ID をインプリメントしていることが重要になります。


ページの先頭に戻る

DTS への登録

ソフトウェア・アップデートのプロセスは、デベロッパ・テクニカル・サポート宛てに次の情報を送信することから始めます。

  1. AppleConnect/Directory Services ID

  2. 氏名と会社名

  3. アクセスを必要とする USB ベンダ ID

これらの情報を入力すると、Apple の USB Editor Web ページにアクセスできるようになります。USB Editor Web ページは、デバイスに対応した USB ソフトウェアの検索に必要となるソフトウェア・アップデート情報を入力し、アップデートのプロセスが期待どおりに動作するかどうかを検証するためのステージングサーバです。登録が承認されると、USB Editor Web ページにアクセスして、自分のベンダ ID に関連づけられたデータベースエントリの追加、変更、または削除を行うことができます。セキュリティを維持するため、Apple では、デベロッパの Apple Connect ID とデベロッパがアクセスを要求したベンダ ID が関連づけられていることを要求します。ID が一致しない場合は、オフィシャルベンダ ID の所有者が USB Editor データベースにアクセスして、目的のソフトウェアにアクセスするための情報を入力する必要があります。

DTS では、現在多くのデベロッパが、異なるデベロッパに関連づけられた複数のベンダ ID を持つデバイスに対応した USB ソフトウェアを開発していることは承知しています。USB Editor Web ページの現在の設計では、それぞれのベンダ ID に関連づけられたすべてのレコードにアクセスできるのは、ただ 1 人のデベロッパであるという前提に基づいています。もし複数のアカウントで 1 つのベンダ ID にアクセスできるとすると、それらのアカウントはそのベンダ ID に関連づけられているすべてのレコードにアクセスできるようになってしまいます。このような理由から、Apple では、それぞれのベンダ ID レコードへのアクセスをその ID を割り当てられたデベロッパに制限しています。Apple では、将来、よりよいソリューションを提供できると考えています。

ページの先頭に戻る

USB Editor Web ページの使い方

USB Editor Web ページに入力した情報はステージングサーバに送信されます。入力した情報を使用できるのは、情報を入力したデベロッパ自身と、ソフトウェア・アップデートにプロダクションサーバではなくステージングサーバを使用させるための Software Locator Switch アプリケーションを持っている他のデベロッパだけです。これにより、ソフトウェア・アップデートを実施する前にそのプロセスをテストすることができます。

Apple USB Editor Web ページでは、アカウント名とパスワードを入力します。ベンダ ID に対応するデータベースページが表示されます。現在の Apple のエントリは次のように表示されます。

tn1191.3.gif

“Add Device”リンクを使用すると、新しいデバイスを定義できます。また、そのデバイスに対応するソフトウェアを定義するには、“Add Software Package”リンクを使用します。ここでは、アクティブなシステムソフトウェアに関連づけられている国別コード値に基づいてユーザに提供されるローカライズ版のソフトウェアを指定することもできます。“Add Description”リンクを使用すると、ユーザに対して表示されるソフトウェアパッケージの説明を設定できます。この説明は、ソフトウェア・アップデートによって表示されます。

Add Device

“Add Device”リンクをクリックすると、次のような Web ページが表示されます。このページを使って、デバイスの特性を指定します。USB Software Locatorは、サポートされているデバイスを照合するためにこの特性を使用します

tn1191.4.gif

Vendor フィールドの情報はシステムによって自動的に入力され、通常は会社名が表示されるはずです。デベロッパは、Device Name、「USB Device Subclass、および Product ID の各フィールドに情報を入力する必要があります。また、デバイスのデバイスクラスと一致するように USB Class ポップアップを設定する必要もあります。 Protocol および Version フィールドのラベルにはアスタリスク (*) が付いていることからもわかるように、これらのフィールドへの情報の入力は省略可能です。“Save”ボタンをクリックすると、指定した情報が Apple のデータベースに格納されます。情報を保存したくない場合は、“Cancel”ボタンをクリックします。

Device Nameの情報は、ソフトウェアパッケージとデバイスを関連づけるために“Add Software Package”ページの中で使用されます。Device Name の情報は、ソフトウェア・アップデートのプロセスでユーザに表示される製品名と同じものです。

目的のデバイスクラスがポップアップメニューに表示されない場合は、デベロッパ・テクニカル・サポートにその旨を通知し、必要なデバイスクラス名と値を指示してください。


ページの先頭に戻る

Add Software Package

デバイスを定義してその情報を保存すると、デバイス Web ページに戻ります。ここで“Add Software Package”リンクをクリックすると、次のページが表示されます。

tn1191.5.gif

この Web ページに用意されているフィールドとポップアップのうち、特に Web ページに説明のないものは次のように使用します。

Device - このソフトウェアパッケージを使用するデバイスを選択します。あらかじめ定義されているデバイスの中からいずれか1つを選択できます。

Last Changed on - このレコードに対する最終更新日付を示します。

Last Moved to Production on - このレコードが最後にプロダクションサーバに移動された日付を示します。

Move To Production popup - レコードに加えた更新または変更をプロダクションソフトウェア・アップデートサーバに移動するかどうかを指定します。“Y”を選択すると、レコードはプロダクションサーバに移動されます。レコードに加えられた変更は1日に1度チェックされます。つまり、変更が有効になるまでに最大で24時間かかるということです。デバイスに対応したソフトウェア・アップデートのサポートを編集してテストしている間は、このポップアップを「N」に設定します。デバイスに対応する適切なソフトウェアパッケージが正しく識別され、それがソフトウェア・アップデートによって適切にインストールされることが確認できたところで、このポップアップの設定を“Y”に変更します。

Enclosed File Name - Web ページの説明が示すように、これはアーカイブを解除し、Binhex のデコードを行ったときのファイル名です。ファイルが 'kajr' というファイルタイプとクリエータを持つインストーラスクリプトの場合、ソフトウェア・アップデートはそのインストーラスクリプトを実行します。スクリプトを適切に動作させるため、スクリプトには関連するトームファイルをマージする必要があります。強制的にリブートすることなく USB シムをアクティブにする方法については、後述の“USB シムおよびその他のソフトウェアのインストール”のセクションを参照してください。

Mac OS 9.0.4 では、ソフトウェア・アップデートは BinHex 形式のファイルに加えて、MacBinary 形式のファイルもサポートしています。Mac OS 9.0.4 は Disk Copy イメージもサポートしています。Disk Copy イメージがダウンロードされた場合、ディスクイメージがマウントされ、ソフトウェア・アップデートはディスクイメージに含まれている Apple インストーラスクリプトを実行します。

Destination Folder popup - ソフトウェアパッケージが USB モジュールのみで構成される場合は、Destination Folder を“Extensions Folder”に設定します。これにより、モジュールは“機能拡張”フォルダにインストールされるようになります。ソフトウェアパッケージがインストーラスクリプトの場合は、デスティネーションフォルダとして “ItemsDeletedAtBootFolder”を選択します。こうすれば、インストールが完了し、システムが再起動してから、ファイルは自動的に削除されます。

Language popup - このポップアップには、ソフトウェアパッケージがサポートする言語を設定します。必要な場合は、ソフトウェアのローカライズ版を提供することができます。それぞれのソフトウェアパッケージは、このポップアップによって、ターゲットシステムに対応する国別コードに対応させられます。国別コードに対応するソフトウェアパッケージがなく、International English パッケージが用意されている場合は、「International English」という選択肢がユーザに提示されます。

Download URL - ソフトウェア・アップデートがソフトウェアパッケージをダウンロードするために使用する完全な URL を指定します。ソフトウェア・パッケージは、デベロッパがサポートする Web サーバで管理されることになります。したがって、デベロッパにはその URL が有効であることを保証する責任があります。

Product Requires USB Version - このソフトウェアパッケージが必要とする USB のバージョン。ソフトウェア・アップデートはこの値とユーザが実行している USB のバージョンを比較して、ユーザの環境がソフトウェアの必要とする USB のバージョンに満たない場合は、このソフトウェアパッケージを選択肢として表示しません。

ダウンロードされるパッケージが Disk Copy イメージの場合は、ここに 1.4.1 以降を入力して下さい。Disk Copy イメージは Mac OS 9.0.4 に含まれているソフトウェア・アップデート 1.1.1 以降でサポートされています。しかし、ソフトウェア・アップデートのバージョンを指定する仕組みは存在しないので、同じく Mac OS 9.0.4 の一部でもある USB 1.4.1 で見分ける必要があります。ただし、USB を内蔵しないコンピュータに USB PCI または USB CardBus カードを差した場合、Mac OS 9 でありながら、ユーザは USB Adapter Card ソフトウェアバージョン 1.4.1 以降をインストールする可能性があります。この場合、ユーザはソフトウェア・アップデート自体をバージョン 1.1.3 以降にアップデートしてからインストールできるようになります。

Binhexed File Name および Version のラベルにはアスタリスク (*) が付いていることからもわかるように、これらのフィールドへの情報の入力は省略可能です。

1つのデバイスに関連づけられた複数のソフトウェアパッケージが存在する可能性もあります。この場合、それぞれのソフトウェア・パッケージがユーザの“ソフトウェア・アップデート”ウィンドウに表示されます。ユーザがそれぞれの選択肢をクリックするたびに、その製品に関連する説明がユーザに示されます。


ページの先頭に戻る


Add Description

“Add Description”リンクを使用すると、ソフトウェアパッケージの説明を指定することができます。デベロッパが提供するそれぞれのソフトウェアパッケージに対する“Add Description”リンクが表示されます。少なくとも International English を使った説明だけは指定するようにしてください。

tn1191.6.gif



ページの先頭に戻る

USB シムおよびその他のソフトウェアのインストール

多くのソフトウェアパッケージには、インストールする必要のある複数のファイルが含まれます。この場合、デベロッパには2つの選択肢が用意されていますが、1つの選択肢は Mac OS 9.0.4 以降を必要とします。Mac OS 9 の場合、複数のファイルをインストールするには Apple インストーラスクリプトを作成する必要があります。

Mac OS 9.0.4 では、Aladdin Systems と MindVision Software を含む、サードパーティのインストーラソフトウェアが使用できます。これは Mac OS 9.0.4 が Disk Copy イメージもサポートするようになったために実現できます。Disk Copy イメージの場合、ディスクイメージは自動的にマウントされ、特殊な Apple インストーラスクリプトが実行されます。Apple インストーラスクリプトは次にインストーラアプリケーションを実行します。インストーラアプリケーションは必要なファイルやリソースをインストールすることができます。インストーラアプリケーションが終了した後、Apple インストーラスクリプトは USB シムファイルを使用可能な状態にしますので、多くの場合は再起動をする必要はありません。

サードパーティのインストーラを利用する

スタンドアローンのインストーラアプリケーションを作成するためのサードパーティツールがいくつかありますが、Apple はこれらのツールを販売しているメーカに対して、特殊な Apple インストーラスクリプトを提供しています。この Apple インストーラスクリプトをインストーラアプリケーションと供に Disk Copy イメージに入れることによって、Mac OS 9.0.4 以降において、USB Software Locator がインストーラを実行できるようになります。インストーラアプリケーションの作成方法については、使用するインストーラソフトウェアの手順に従って下さい。最終成果物は BinHex または MacBinary 形式の Disk Copy イメージファイルです。このファイルを HTTP サーバに掲載します。

  1. インストーラアプリケーションの作成は、使用するインストーラ作成ソフトウェアの手順に従って下さい。

  2. インストーラファイルの作成については、使用するインストーラ作成ソフトウェアの手順に従って下さい。

  3. USB シムファイルがある場合、または Mac OS 9.0.4 と USB 1.4.2 以降でドライバが正しくマッチングしない場合は、ファイルタイプが 'TEXT' でファイル名が“activate.dat”のファイルを作成します。このテキストファイルは1行または3行の文字列で、次のように構成します。
Name_of_USBShim_File<return> // 機能拡張フォルダ内のシムのファイル名
VendorID<return> // ベンダ ID(10進数)
ProductID<return> // プロダクト ID(10進数)

USB シムファイルが必要ない場合は、1行目は空にして、改行のみを入れます。ベンダ ID とプロダクト ID は必ず2行目と3行目にあることが必要です。重要 ベンダ ID とプロダクト ID を activate.dat ファイルに入れる前に、まず Mac OS 9.0.4 と USB 1.4.2 でマッチングが正常に行われないことを確認して下さい。(ソフトウェアダウンロード直後にデバイスが認識されないが、デバイスを一度抜いて、再接続すると正しく動作する場合。)マッチングが正しく行われる場合は、記述する必要はありません。また、マッチングが正しく行われ、さらに USB シムが存在しない場合は activate.dat ファイル自体を省略することが可能です。
  1. インストーラアプリケーション、Apple インストーラスクリプト、activate.dat ファイルをフォルダに入れて、フォルダの Disk Copy イメージを作成します。Apple インストーラスクリプト“SubLaunchScript”は SDK の Utilities フォルダに含まれています。

  2. Disk Copy イメージを MacBinary または BinHex 形式に変換します。Mac OS 9.0.4 に含まれているソフトウェア・アップデートは両形式をサポートしています。

  3. 変換したイメージファイルをアクセス可能な Web または FTP サーバに掲載します。

  4. 上記情報を元に、ダウンロードパッケージを USB Editor の Web Page に登録します。

  5. 新規のソフトウェアパッケージ項目を作成した直後は、必ず Move To Production を“N”に設定して下さい。(デフォルト値は“Y”です。)“Y”に設定すると、設定内容が24時間以内に世界に公開されてしまいます。テスティングが終了して、公開する準備ができるまで“Y”に設定しないで下さい。

  6. USB Software Locator Kit の Tools フォルダに含まれている Software Locator Switch アプリケーションを使って、ソフトウェア・アップデート機能がプロダクションデータベースではなく、ステージングデータベースを見に行くように設定します。USB Software Locator Kit は Mac OS USB DDK に含まれています。

  7. Mac OS 9.0.4 がインストールされていることを確認の上、デバイスを接続します。機能拡張フォルダに一致するドライバが存在しない場合、インターネットで検索するためのダイアログが表示されます。

  8. アップデートの状況を確認するには USB Prober の Expert Log ウインドウを利用すると便利です。必要ない情報は clear キーで削除してから、アップデートをしましょう。すると、問題が発生した場合、詳細がログに残されます。

サードパーティのインストーラを使用する場合の注意事項

サードパーティのインストーラを使用する場合は以下の事項にご注意下さい。

  • インストーラはドライバ以外にも、アプリケーションやソフトウェアをインストールするように作成することができますが、ダウンロードに時間がかかる場合は、最低限の動作に必要なドライバのみのバージョンと、すべてのソフトェアを含むバージョンの2種類を掲載して、ユーザがどちらかを選択できるようにするのが良いでしょう。

  • Apple インストーラスクリプトは USB シムのように、INIT を実行することができません。INIT ファイルを必要とするパッケージの場合は、インストール後に再起動が必要となります。この場合は Software Package の Restart machine after install を“Y”に設定します。

  • Apple インストーラスクリプトは1つのインストーラアプリケーションのみをサポートします。複数のインストーラは使用できません。

  • サードパーティのインストーラはインストール作業の進行状況をフィードバックする仕組みを備えていますが、この仕組みは現在利用されません。インストーラエンジンが表示する進行状況インジケータは Action Atom の実行状況について、限られた情報のみを提示します。Apple インストーラスクリプトはインストーラをロードするための1つの Action Atom しか存在しないので、時間のかかるインストール作業の場合は、インジケータが止まったままになります。インストーラエンジンの将来のバージョンでは、この状況を改善する予定です。

  • Mac OS 9.0.4 では、ダウンロードされたドライバとデバイスが正しくマッチングされない場合があります。この問題を回避するために、Apple インストーラスクリプトは activate.dat ファイルのベンダ ID とプロダクト ID を読み込んで、マッチングを行います。

  • ダウンロードが失敗すると、ソフトウェア・アップデートは“An error occurred while downloading an update”と表示することがあります。このメッセージは Network Browser がファイルのダウンロードに失敗したことを意味します。FTP ダウンロードの場合、ゲストアクセスのためのパスワードが正しく設定されていることを確認して下さい。一部のファイアウォールは FTP の“passive”モードを必要としますが、HTTP サーバを利用することで、この設定を行う必要はありません。Apple では HTTP サーバの使用を推奨しています。


ページの先頭に戻る

Apple インストーラスクリプトの実装

複数のファイルをインストールする場合、Apple インストーラスクリプトを作成することができます。この場合、Macintosh Programmer's Workshop(MPW)を利用して、ScriptCheck を行う必要があります。Apple インストーラスクリプトの場合、“トーム”と呼ばれる、インストール用のファイルやリソースを含むファイルを作成します。次に Apple インストーラスクリプトを作成して、ScriptCheck を実行した後、MergeScriptMPWTool を使って、トームファイルとインストーラスクリプトをマージします。最後にファイルを BinHex 形式でエンコーディングして、HTTP サーバに掲載します。

インストーラスクリプトのサンプルは、Mac OS USB DDK の USB Software Locator Kit に用意されています。スクリプトは CodeWarrior で作成されていますが、MPW を使って ScriptCheck する必要があります。サンプルスクリプトは USB シムを扱うための Action Atom が含まれています。Action Atom はすべてのファイルとリソースがインストールされた後に実行されます。USB シムが必要ない場合は Action Atom を取り外すことができます。

USB シムを実装するソフトウェアパッケージは、Mac OS USB 1.4.1 以降に含まれている USBAddShimFromDisk と言う API を利用することができます。この API は Mac OS 1.3.5 以降にも含まれていますが、初期バージョンは正しく動作していませんでした。必ず Mac OS 1.4.1 以降でご使用下さい。

Apple インストーラスクリプトを使ってソフトウェアをインストールする場合は以下の点にご注意下さい。

  • USBAddShimFromDisk 呼び出しは、Apple インストーラスクリプトファイルに含まれるポストインストールアクションアトムによって使用され、USB シムをアクティブにします。

  • Mac OS 9 では、ソフトウェア・アップデートのメカニズムによってサポートされるのは、Apple インストーラスクリプトのみです。Mac OS 9.0.4 以降はサードパーティのインストーラソフトウィアが利用できます。

  • Apple インストーラスクリプトがダウンロードされる場合は、関連するトームファイルがスクリプトファイルの中にマージされている必要があります。サンプルコードパッケージには、トームファイルをインストーラスクリプトファイルにマージするためのツールが含まれています。

  • Apple インストーラはダウンロードプロセスの一部ではありません。ソフトウェア・アップデートは、「アプリケーションサポート」フォルダに保存されている Installer Engine を使って、スクリプトのインストールアクションを実行します。

ここでは、Apple インストーラまたはトームファイルについてあまり詳しくないデベロッパのために補足説明をしておきます。トームファイルには、Installer Engine によってインストールされる圧縮ファイルとリソースが含まれています。また、インストーラスクリプトには、次のような情報を記述する「アトム」と呼ばれる複数のリソースが含まれています。

  • インストールが実行できるかどうかをチェックするための規則

  • インストールまたは削除するファイルとリソース

  • ファイルとリソースを検出できる場所

  • インストールプロセスをサポートするために実行する追加のコードリソース

インストーラスクリプトのソースはリソースソースファイルです。通常、インストーラスクリプトを構築するためには MPW Rez ツールを使用しますが、この目的で Metrowerks CodeWarrior IDE を使用することも可能です。インストーラスクリプトのソースとポストインストールアクションアトムのソースを含む USB モジュールおよび USB シムのサンプルは、Mac OS USB DDK に用意されています。

ここでは、USB シムを初期化するインストーラ action atom の使い方について説明しましたが、必要な場合は、その他のタスクを実行するアクションアトムのコードを書くこともできます。アクションアトムのインプリメントの詳細については、Apple Installer SDK を参照してください。インストールアクションは、ソフトウェア・アップデートによって実行されます。現時点で、Apple インストーラ以外のインストーラは、ソフトウェア・アップデートによってサポートされていません。


ページの先頭に戻る

Apple インストーラスクリプトに関するヒント

次に、ソフトウェア・アップデートとともに動作する Apple インストーラスクリプトを作成する上で役に立ついくつかのヒントを示します。

  • Apple インストーラスクリプトのソースコードはリソーススクリプトファイルであり、MPW または Metrowerks CodeWarrior を使ってリソースファイルにコンパイルできます。

  • インストーラスクリプトをビルドするプロセスの2つのステップでは、Macintosh Programmer's Workshop (MPW) のビルド環境を使用する必要があります。つまり、ScriptCheck ツールを使用するステップと、MergeScriptMPWTool を使って、ソフトウェア・アップデートがインプリメントの方法を認識できるように単一のインストーラスクリプトファイルを作成するステップです。

  • トームファイルを作成するには、FileCrusher ツールを使用します。このファイルには圧縮されたファイルとリソースが含まれ、これらのファイルとリソースはインストーラによってインストールされます。

  • トームファイルをインストーラスクリプトファイルにマージするには、MergeScriptMPWTool を使用します。


ページの先頭に戻る

ライブアップデートのテスト

USB ソフトウェア・アップデートのプロセスを処理するため、Apple では2つのサーバをセットアップしています。つまり、プロダクションサーバとステージングサーバの2つです。ソフトウェアパッケージエントリの定義またはアップデートを行うとき、アップデートプロセスが期待どおりに動作することが確認できるまでは、Move To Production を“N”に設定しておいてください。ソフトウェア・アップデートがステージングサーバにアクセスできるようにするには、Software Locator Switch アプリケーションを使って、USB ソフトウェアを検索するサーバをソフトウェア・アップデートに指示します。

Software Locator Switch アプリケーションは、Mac OS USB DDK に付属しています。ソフトウェアがステージングサーバから適切にダウンロードされることを確認できたときは、Move To Production の設定を“Y”に変更します。これにより、24時間以内に変更内容がプロダクションサーバに取り上げられます。

注意: テストの際はドライバの古いバージョンがダウンロードされることがあります。これはダウンロード先の URL Download URL を変更した場合に発生する問題で、USB Editor サーバで情報がキャッシュされていることが原因です。この問題が解決されるまでの回避策は、Download URL を変更する場合は、パッケージ項目を一度削除して、新たなパッケージ項目を作成して下さい。


ページの先頭に戻る

ヒント集

このような方法でソフトウェアをアップデートしようとするときには、以下の情報を参考にしてください。

  • FTP(File Transfer Protocol)サーバを使用するのではなく、Web サーバからダウンロードができるようにすることをおすすめします。FTP サーバからのダウンロードを指定する代わりに、ダウンロードアドレスとして <http://www.mycompany.com/myusbdriver.hqx> を指定できます。HTTP サーバからのダウンロードを設定することで、ファイアウォール内から FTP サーバへのアクセスが制限されているユーザも利用することができます。

  • どうしても FTP サーバを使用する必要がある場合は、PASV モードのサポートを検討してください。そうすれば、ファイアウォール内のマシンからでも、PASV モードで FTP サーバに接続できます。

  • ソフトウェア・アップデートの中で表示しようとする HTML ファイルには、次の 2 つのタグを追加してください。

    • <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-euc-jp"> のような META タグ。このタグの charset は、HTML の作成に使用したエンコーディングを指定します。

    • HTML の本文は <FONT NAME=""> で囲んでください。このタグは、HTML の表示に使用するフォントを指定します。

    ソフトウェア・アップデートは、HTML を UTF-8 から META タグで指定されているエンコーディングに変換します。charset を指定していないと、実行中のシステムに対するデフォルトのエンコーディングが使用されます。Mac OS エンコーディングに対するインターネット名の一覧は、次の Web サイトをご覧ください。

    http://developer.apple.com/techpubs/mac/TextEncodingCMgr/TECRefBook-151.html.

    • たとえば、Mac Roman のインターネット名は“x-mac-roman”です。


ページの先頭に戻る

要約

Mac OS 9.0 とソフトウェア・アップデートは、USB デベロッパがデバイスをサポートするために利用できる新しいメカニズムを提供します。インターネットに接続でき、適切な USB ドライバソフトウェアが USB Editor Web ページに登録されていれば、ユーザは使用するデバイスをサポートする USB ドライバを簡単にダウンロードすることができます。


ページの先頭に戻る

参考文献

Apple Installer SDK

Latest Mac OS USB DDK


ページの先頭に戻る

変更履歴

1999年10月

Technote 1191 -- USB Software Update として公開。

2000年6月1日

Mac OS 9.0.4 以降でサポートされているサードパーティ製インストーラのサポートについて記述を追加。

2001年2月23日

USB Software Locator に名称を変更。最近の USB DDK に含まれている SubLaunchScript の説明を追加。


ページの先頭に戻る

ダウンロード

Acrobat

Mac OS USB API Reference Guide.pdf

ダウンロード




ページの先頭に戻る