2009-11-30 147 views

回答

3
package 
{ 
    import mx.core.Application; 
    import mx.core.WindowedApplication; 
    import adobe.utils.ProductManager; 

    public function reboot():void 
    { 
    var app:WindowedApplication = 
     WindowedApplication(Application.application); 

    var mgr:ProductManager = 
     new ProductManager("airappinstaller"); 

    mgr.launch("-launch " + 
     app.nativeApplication.applicationID + " " + 
     app.nativeApplication.publisherID); 

    app.close(); 
    } 
} 

另外,還要確保 「allowBrowserInvocation設置」選項 AIR應用程序 描述模板打開

"How to restart an AIR application from code"

+2

fYI:這在調試模式下不起作用。因爲您發佈的代碼與我們已經使用的代碼完全相同。現在我在安裝的實例中嘗試了它,它確實有效! 謝謝。 – 2009-12-03 20:31:38

7

你好,親愛的我已經解決了這個梅索德爲Flex 4.6

package 
{ 
    import adobe.utils.ProductManager; 

    import flash.desktop.NativeApplication; 

    import mx.core.FlexGlobals; 
    import spark.components.WindowedApplication; 

    public function Reboot():void 
    { 
     var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication); 

     var mgr:ProductManager = new ProductManager("airappinstaller"); 
     mgr.launch("-launch "+app.nativeApplication.applicationID+" "+app.nativeApplication.publisherID); 
     app.close(); 
    } 
} 
+0

@VMAtm:它關閉應用程序,但沒有重新啓動.. – Naju 2013-01-04 18:53:26

+0

PS:感謝編輯,VMAtm :) @rightPath您必須閱讀不同版本的MX和火花組件框架:) 感謝您的改進:) – SourceSkyBoxer 2014-02-16 12:17:56