close console window if it is open when app closes
diff --git a/installer/src/InstallApacheFlex.mxml b/installer/src/InstallApacheFlex.mxml
index a9d1f66..b055fc3 100644
--- a/installer/src/InstallApacheFlex.mxml
+++ b/installer/src/InstallApacheFlex.mxml
@@ -2648,8 +2648,10 @@
                 trace(text);
 		}
 		
+		private var console:ConsoleWindow;
 		private function showConsole(event:Event):void {
-			var console:ConsoleWindow = new ConsoleWindow();
+			if (!console || console.closed)
+				console = new ConsoleWindow();
 			console.messages = _messages;
 			console.open();
 			console.nativeWindow.x = this.nativeWindow.x + this.nativeWindow.width / 2 - console.nativeWindow.width / 2;
@@ -2677,6 +2679,8 @@
 		private function closeApplication(event:Event):void {
 			// TODO only enable close button when finished or when an error occurs
 			// TODO anything we need to clean up?
+			if (console && !console.closed)
+				console.closeWindow(null);
 			cleanup();
 			close();
 		}
diff --git a/installer/src/org/apache/flex/packageflexsdk/view/components/ConsoleWindow.mxml b/installer/src/org/apache/flex/packageflexsdk/view/components/ConsoleWindow.mxml
index a3a1162..d992d41 100644
--- a/installer/src/org/apache/flex/packageflexsdk/view/components/ConsoleWindow.mxml
+++ b/installer/src/org/apache/flex/packageflexsdk/view/components/ConsoleWindow.mxml
@@ -34,7 +34,7 @@
         [Bindable]
         public var messages:ArrayCollection = new ArrayCollection();
 
-        protected function closeWindow(event:MouseEvent):void {
+        public function closeWindow(event:MouseEvent):void {
             close();
         }