Не знаю, я не использую FB. Но FlashDevelop умеет паковать в нативный установщик без каких-либо сторонних приложений средствами самого AIR. Я б даже сказал, для этого можно обойтись одной лишь командной строкой. Правда и в первом и во втором случае, придется писать скрипт, так как встроенных нигде нет.
Я немного переделал стандартные скрипты FD, чтобы она умела поковать в exe
PackagerEXE.bat
Код AS3:
@echo off
:: Set working dir
cd %~dp0 & cd ..
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=%AIR_PATH%\%AIR_NAME%%AIR_TARGET%.exe
:: Package
echo.
::echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
echo Packaging %AIR_NAME%%AIR_TARGET%.exe using certificate %CERT_FILE%...
call adt -package %OPTIONS% %SIGNING_OPTIONS% -target native %OUTPUT% %APP_XML% %FILE_OR_DIR% -extdir lib/
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
PackagerPC.bat
Код AS3:
@echo off
if not exist %CERT_FILE% goto certificate
:: AIR output
if not exist %AIR_PATH% md %AIR_PATH%
set OUTPUT=%AIR_PATH%\%AIR_NAME%%AIR_TARGET%.air
:: Package
echo.
echo Packaging %AIR_NAME%%AIR_TARGET%.air using certificate %CERT_FILE%...
call adt -package %OPTIONS% %SIGNING_OPTIONS% %OUTPUT% %APP_XML% %FILE_OR_DIR%
if errorlevel 1 goto failed
goto end
:certificate
echo.
echo Certificate not found: %CERT_FILE%
echo.
echo Troubleshooting:
echo - generate a default certificate using 'bat\CreateCertificate.bat'
echo.
if %PAUSE_ERRORS%==1 pause
exit
:failed
echo AIR setup creation FAILED.
echo.
echo Troubleshooting:
echo - did you build your project in FlashDevelop?
echo - verify AIR SDK target version in %APP_XML%
echo.
if %PAUSE_ERRORS%==1 pause
exit
:end
echo.
PackageAppPC.bat
Код AS3:
@echo off
set PAUSE_ERRORS=1
call bat\SetupSDKPC.bat
call bat\SetupApplicationPC.bat
:menu
echo .
echo Choose what you want
echo [1] normal .AIR
echo [2] exe with included AIR runtime (captive), no installer
echo .
:choice
set /P C=[Choice]:
echo.
::set AIR_TARGET=-captive-runtime
set OPTIONS=-tsa none
if "%C%"=="1" call bat\PackagerPC.bat
if "%C%"=="2" call bat\PackagerExe.bat
::set AIR_TARGET=
::call bat\Packager.bat
pause
Теперь при паковке у меня есть 2 опции: паковать в AIR и в EXE
Но в итоге получится практически такой же установщик как в простом эйр, с предупреждением о том, что источник неизвестен. Меня это никогда не беспокоило. А в exe я пакую исключительно из-за того, что мне нужен режим extended desktop для работы с командной строкой винды. Если собирать в .air, то компилятор почему-то не дает установить режим extended desktop (не вдавался в подробности почему)