2009-11-30 18 views

risposta

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(); 
    } 
} 

assicurarsi che l'opzione “allowBrowserInvocation” è acceso nell'applicazione AIR modello descrittore

"How to restart an AIR application from code"

+2

fYI: questo non funziona in modalità di debug. Perché il codice che hai pubblicato era esattamente lo stesso che avevamo già usato. Ora l'ho provato in un'istanza installata e ha funzionato! Grazie. –

7

Ciao caro mi è stato risolto questo methode per anche 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: chiude l'applicazione ma non viene riavviata .. – Naju

+0

PS: Grazie per la modifica, VMAtm :) @rightPath è necessario leggere la versione diversa da mx e scintilla framework di componenti :) Grazie per il miglioramento :) – SourceSkyBoxer