It takes an application ID and a publisher ID of the currently running application (that is, of itself), then attempts to launch the application with these IDs (that is, another instance of itself) and closes itself. Thus effectively doing a restart.
Also note that this will only work if ‘allowBrowserInvocation’ is set to true in application descriptor.
public function restart():void { new ProductManager("airappinstaller").launch("-launch " + NativeApplication.nativeApplication.applicationID + " " + NativeApplication.nativeApplication.publisherID); NativeApplication.nativeApplication.exit(); }