2010-11-25 13 views
4

ハードウェアデバイスのブリッジとして.app/.exeファイルを使用するAirアプリケーションを作成しています。Adob​​e Air Appでバンドルして.app/.exeファイルを実行する

理想的には、私はAirアプリケーションインストーラで実行可能ファイルをインクルードし、Airアプリケーションと共に外部プログラムを起動したいと考えています。

1)これは可能ですか?
2)起動するOS固有のファイルをどのように決定するのですか?

EDIT:

var file:File = File.applicationDirectory; 
file = file.resolvePath("src/assets/NativeApps"); 

if (Capabilities.os.toLowerCase().indexOf("win") > -1) { 
    file = file.resolvePath("Windows/echoTestWin.exe"); 
} 
else if (Capabilities.os.toLowerCase().indexOf("mac") > -1) { 
    file = file.resolvePath("Mac/echoTestMac.app"); 
} 

var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); 
nativeProcessStartupInfo.executable = file; 
var process = new NativeProcess(); 
process.start(nativeProcessStartupInfo) 

しかし、なぜ、私は、このエラーメッセージが出ます:OK、上記のは非常に難しいことではありませんでしたか?

ArgumentError: Error #3214: NativeProcessStartupInfo.executable does not specify a valid executable file.

.app拡張子は有効ではありませんか?

+1

.app拡張子を付けずに試しましたか? file.resolvePath( "Mac/echoTestMac")と同じですか? AIRでNativeProcessを使用したことは一度もありませんが、一般的にはMac OSのアプリケーションの拡張を省略することが一般的です。 –

+1

ラース、入力のおかげで。しかし、アプリの拡張機能が動作するようです:trace(file.exists)=> true - それは明らかに何かを見つけるので... – dani

答えて

7

.appは実際にはフォルダです。実行可能ファイルにアクセスするには参照する必要がありますYourApp.app/Contents/MacOS/YourApp

+0

美しい!ありがとうございました :) – dani

1

あり、外部プログラムを実行についてのスレッドです:Adobe AIR to execute program

は、そして、あなたはもちろん、OSを検出することができます。http://www.uibuzz.com/?p=1330

それはOS特有の、ネイティブインストーラーを作成することも可能です。

関連する問題