インストールされている AIR アプリケーションのリストを取得することはできますか? オプションで 1 つのベンダーのみで可能ですか?
または、1 つのアプリケーション (名前/ID/ベンダーで確認) がインストールされているかどうかを確認することは可能ですか (この方法が推奨されます)
ありがとうございました。
インストールされている AIR アプリケーションのリストを取得することはできますか? オプションで 1 つのベンダーのみで可能ですか?
または、1 つのアプリケーション (名前/ID/ベンダーで確認) がインストールされているかどうかを確認することは可能ですか (この方法が推奨されます)
ありがとうございました。
あなたはこれを行うことができます:
private function loadAIR():void
{
var loader:Loader = new Loader();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
loader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), loaderContext);
}
private function onInit(e:Event):void
{
var air:Object = e.target.content;
try
{
air.getApplicationVersion("appID", "publisherID", versionDetectCallback);
}
catch (e:Error)
{
trace('air not installed');
}
}
private function versionDetectCallback(version:String):void
{
if (version == null)
{
trace('app not installed');
}
else
{
trace('app version ' + version + ' installed');
}
}
これは興味深い質問です。クライアントのコンピューター上に、アドビがコンピューターにインストールされているAIRアプリのリストを保存している場所はないと思いますが、airdownloadで見つけることができる場合があります。
もう1つの適切な代替手段は、AdobeAIR2.0のコマンドライン統合機能を使用することです。これにより、OSに依存しているが、かなり単純なスクリプト(シェル、Ruby、Pythonなど)を記述して、名前で.AIRファイルのいくつかのディレクトリを再帰的にチェックできます。それらが見つからなかった場合、スタートアップアプリは次のように言うことができます。 「申し訳ありませんが、XとYの2つのアプリが見つかりません。場所を指定するか、ここからダウンロードしてください。」また、インストールパスを指定した後、他のAIRアプリがインストールされている可能性のある場所を推測できます。
または、インストールしたAIRアプリのリストを含むテキストファイルをホームディレクトリにインストールし、それを読んで次に実行する手順を理解することもできます。それはおそらく簡単でしょう。
お役に立てば幸い、ランス
appID と publisherID がわかっている場合、adobe.utils.ProductManager には何か魔法のようなものがあるかもしれませんが、productManager は文書化されていないクラスであるため、私の提案は行き止まりになっていると思います。何かのために一度使用しましたが、思い出すと、パッケージの場所が原因で、コードの洞察が得られず、非常に試行錯誤のプロセスでした.