| パッケージ | flash.desktop |
| クラス | public final class Updater |
| 継承 | Updater Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
update() メソッドを呼び出します。
Updater クラスは、デスクトッププロファイルでのみサポートされます。拡張デスクトップアプリケーション(ネイティブインストーラーによってインストールされるアプリケーション)ではサポートされません。また、AIR モバイルプロファイルまたは AIR for TV プロファイルではサポートされません。Updater.isSupported プロパティを確認します。
拡張デスクトップアプリケーション(ネイティブインストーラーでインストールされたアプリケーション)は、新しいバージョンのネイティブインストーラーをダウンロードし、File.openWithDefaultApplication() メソッドを使用してそのインストーラーを起動できます。
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
| isSupported : Boolean [静的] [読み取り専用]
現在のプラットフォームで Updater クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。 | Updater | ||
| メソッド | 定義元 | ||
|---|---|---|---|
Updater()
Updater クラスのコンストラクター関数です。 | Updater | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
現在実行しているアプリケーションを、指定された AIR ファイルにあるアプリケーションのバージョンに更新します。 | Updater | ||
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
isSupported | プロパティ |
Updater | () | コンストラクター |
public function Updater()| ランタイムバージョン: | AIR 1.0 |
Updater クラスのコンストラクター関数です。 update() メソッドはクラスの静的メンバーではない点に注意してください。Updater オブジェクトをインスタンス化して、その update() メソッドを呼び出す必要があります。
update | () | メソッド |
public function update(airFile:File, version:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
現在実行しているアプリケーションを、指定された AIR ファイルにあるアプリケーションのバージョンに更新します。AIR ファイル内のアプリケーションは、現在実行しているアプリケーションと同じアプリケーション識別子(appID)を持っている必要があります。
このメソッドを呼び出すと、(NativeApplication.exit() メソッドを呼び出した場合と同じように)現在のアプリケーションが終了します。アプリケーションが実行中になっていると Adobe AIR はそのアプリケーションを更新できないため、この操作が必要になります。新しいバージョンのアプリケーションのインストールが正常に完了すると、そのアプリケーションが起動します。ランタイムで新しいバージョンを正常にインストールできない場合(例えば、アプリケーション ID が既存のバージョンと一致しない場合)、AIR インストーラーによってユーザーにエラーメッセージが表示され、古いバージョンが再起動されます。
更新処理は更新が成功したかどうかにかかわらずアプリケーションを再起動します。更新は、ユーザーがアプリケーションをインストールする十分な権限を持っていないといったアプリケーションが制御できないなどのさまざまな理由で失敗する可能性があります。アプリケーションでは、失敗を検出し、同じ失敗の更新を繰り返し行わないようにする必要があります。失敗の結果として発生する無限ループは、アプリケーションを事実上無効にすることになります。更新が成功したことを確認する 1 つの方法として、更新を開始する前に現在のバージョン番号をファイルに書き込み、その後、アプリケーションが再起動されるときにそのバージョン番号と比較することがあります。
AIR Debug Launcher(ADL)アプリケーションを使用してアプリケーションをテストしているときに、update() メソッドを呼び出すと、IllegalOperationError 例外が発生します。
Mac OS の場合、アプリケーションの更新されたバージョンをインストールするには、適切なシステム権限を持ってアプリケーションディレクトリにインストールする必要があります。Windows または Linux の場合、管理権限を持っている必要があります。
アプリケーションの更新されたバージョンがランタイムの更新されたバージョンを必要とする場合、新しいランタイムバージョンがインストールされます。ランタイムを更新するには、コンピューターの管理権限を持っている必要があります。
注意:セキュリティ上の理由から、version パラメーターを指定する必要があります。AIR ファイルのアプリケーションのバージョン番号の確認を必須とすることで、修正済みのセキュリティ上の脆弱性が含まれている可能性のある、古いバージョンのアプリケーションが誤ってインストールされることがなくなります。
パラメーター
airFile:File — 更新バージョンのアプリケーションが格納されている AIR ファイルを示す File オブジェクトです。
| |
version:String — 新規 AIR ファイル内の必要なバージョンです。更新が成功するには、version 属性(AIR ファイルにあるアプリケーション記述ファイルのメイン application エレメントで指定)のストリングが、この値と一致する必要があります。
|
例外
IllegalOperationError — ADL で実行した場合にこのメソッドが呼び出されました。
|
関連する API エレメント
例 ( この例の使用方法 )
update() メソッドはクラスの静的メソッドではない点に注意してください。 Updater オブジェクトをインスタンス化して、そのオブジェクトの update() メソッドを呼び出します。
import flash.fileSystem.File;
import flash.desktop.Updater;
var updater:Updater = new Updater();
var airFile:File = File.applicationStorageDirectory.resolvePath("Example Application.air");
var version:String = "2.01";
updater.update(airFile, version);
Tue Jun 12 2018, 10:34 AM Z
継承されるパブリックプロパティを隠す
継承されるパブリックプロパティを表示