2

.air ファイルをネイティブ インストーラーにパッケージ化するには、 というバッチ プログラムを使用する必要がありますadt

コマンド on は次のWindowsようになります。

C:\Users\jisaacks>"C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\4.1.0\bin\adt" -package -target native "D:\DEV\Flex4\Workspaces\AIR Native Packager\AIRNIP\AIRNIP.exe" "D:\DEV\Flex4\Workspaces\AIR Native Packager\AIRNIP\AIRNIP.air"

これを行うプログラムを AIR で作成しようとしています。基本的に、.air ファイルをドラッグ アンド ドロップすると、ネイティブ インストーラーにパッケージ化されます。

それは私にError #3219エラーを与えました、私はそれを調べてこれを見つけました:

AIR on Windows では、.bat ファイルを直接実行することはできません。Windows .bat ファイルは、コマンド インタープリター アプリケーション (cmd.exe) によって実行されます。.bat ファイルを呼び出すと、このコマンド アプリケーションは、コマンドに渡された引数を、起動する追加のアプリケーションとして解釈できます。引数文字列に余分な文字を悪意を持って挿入すると、cmd.exe が有害または安全でないアプリケーションを実行する可能性があります。たとえば、適切なデータ検証を行わないと、AIR アプリケーションは myBat.bat myArguments c:/evil.exe を呼び出す可能性があります。コマンド アプリケーションは、バッチ ファイルの実行に加えて、evil.exe アプリケーションを起動します。

.bat ファイルで start() メソッドを呼び出すと、NativeProcess オブジェクトは例外をスローします。Error オブジェクトのメッセージ プロパティには、「エラー #3219: NativeProcess を開始できませんでした」という文字列が含まれています。

回避策があるのか​​、それともレンガの壁にぶつかったのか疑問に思っていますか?

4

2 に答える 2

1

少なくとも Adob​​e Air でこれを行おうとすると、レンガの壁にぶち当たったと思います。あなたの投稿が主張しているように、バッチファイルを実行すると、巨大なセキュリティホールになる可能性があります。

移植性のために Air でこれを行おうとしていますか、それとも他の言語を使用できますか?

これをPythonでコーディングすることをお勧めします。ライブラリを使用するとsubprocess、多くのことができます。

http://docs.python.org/release/2.5.2/lib/module-subprocess.html

于 2010-07-26T18:00:29.237 に答える
1

Serge Jespers (Adobe Evangelist) ( http://www.webkitchen.be/ ) はまさにこれを行っています。詳細については、彼に連絡してみてください。

私は、あなたが指定した任意のbatファイルを実行するWindows実行可能ファイルを作成することで、彼が最初のソリューションを構築するのを手伝いました.

彼は喜んでお手伝いします。

更新: Package Assistant Pro は、 http ://www.webkitchen.be/package-assistant-pro/ からダウンロードできます。

于 2010-07-26T18:03:51.430 に答える