현재 실행중인 프로그램을 강제로 재실행 해줘야 하는 기능이 필요할 때가 있습니다.


역시 구글에 검색해보니 방법이 있네요


일단 원글 출처는 https://forums.adobe.com/thread/951952 입니다


하지만 지워질지도 모르니 여기 적어놓겠습니다.


현재 환경은

Flex 버전은 4.6

AIR 버전은 14.0 입니다

웹이 아닌 Windows 기반 프로그램입니다


내용은 간단합니다.


원하는 곳에 아래 소스를 넣기만 하면 됩니다



  1.           public function Reboot():void  
  2.           {  
  3.                     var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);  
  4.   
  5.                     var mgr:ProductManager = new ProductManager("airappinstaller");  
  6.                     mgr.launch("-launch "+app.nativeApplication.applicationID+" "+app.nativeApplication.publisherID);  
  7.                     app.close();  
  8.           }  


import 도 해줘야 되는데...뭐 어차피 ctrl + space 바 누루다 보면 자동 완성되긴 하지만..;;

아래처럼 넣으면 됩니다



  1. import adobe.utils.ProductManager;  
  2.   
  3.           import flash.desktop.NativeApplication;  
  4.   
  5.           import mx.core.FlexGlobals;  
  6.           import spark.components.WindowedApplication;  



그리고 마지막으로 중요한게..


프로젝트명-app.mxml 을 수정해야됩니다. 이거 안하니까 안되더라구요



  1. <allowBrowserInvocation>true</allowBrowserInvocation>  


위에내용이 보통 주석처리 되어있는데 주석 해제하고 true 값 넣어주면 됩니다


위 내용대로 하면 다 되었는데 주의점은 builder에서 debug로 실행하면 작동 안합니다
꼭 release 해서 실행파일일때 실행되어야 재시작 됩니다


+ Recent posts