Показать сообщение отдельно
Старый 21.04.2017, 05:51
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Не знаю, я не использую 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 (не вдавался в подробности почему)
__________________
Ко мне можно и нужно обращаться на ты)