Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.cpp	(revision 35234)
@@ -205,2 +205,14 @@
 }
 
+void QIWizardPage::startProcessing()
+{
+    if (isFinalPage())
+        wizard()->button(QWizard::FinishButton)->setEnabled(false);
+}
+
+void QIWizardPage::endProcessing()
+{
+    if (isFinalPage())
+        wizard()->button(QWizard::FinishButton)->setEnabled(true);
+}
+
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.h	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIWizard.h	(revision 35234)
@@ -69,4 +69,7 @@
     QString standardHelpText() const;
 
+    void startProcessing();
+    void endProcessing();
+
 private:
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIExportApplianceWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIExportApplianceWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIExportApplianceWzd.cpp	(revision 35234)
@@ -517,5 +517,8 @@
 bool UIExportApplianceWzdPage4::validatePage()
 {
-    return exportAppliance();
+    startProcessing();
+    bool fResult = exportAppliance();
+    endProcessing();
+    return fResult;
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun/UIFirstRunWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun/UIFirstRunWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun/UIFirstRunWzd.cpp	(revision 35234)
@@ -305,5 +305,8 @@
 bool UIFirstRunWzdPage3::validatePage()
 {
-    return insertDevice();
+    startProcessing();
+    bool fResult = insertDevice();
+    endProcessing();
+    return fResult;
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.cpp	(revision 35234)
@@ -252,4 +252,12 @@
 bool UIImportApplianceWzdPage2::validatePage()
 {
+    startProcessing();
+    bool fResult = import();
+    endProcessing();
+    return fResult;
+}
+
+bool UIImportApplianceWzdPage2::import()
+{
     /* Make sure the final values are puted back */
     m_pSettingsCnt->prepareImport();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.h	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIImportApplianceWzd.h	(revision 35234)
@@ -118,4 +118,5 @@
 
     bool validatePage();
+    bool import();
 
 private:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newhd/UINewHDWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newhd/UINewHDWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newhd/UINewHDWzd.cpp	(revision 35234)
@@ -485,6 +485,9 @@
 bool UINewHDWzdPage4::validatePage()
 {
+    startProcessing();
     /* Try to construct hard disk */
-    return createHardDisk();
+    bool fResult = createHardDisk();
+    endProcessing();
+    return fResult;
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp	(revision 35234)
@@ -688,6 +688,9 @@
 bool UINewVMWzdPage5::validatePage()
 {
+    startProcessing();
     /* Try to construct machine */
-    return constructMachine();
+    bool fResult = constructMachine();
+    endProcessing();
+    return fResult;
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.cpp	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.cpp	(revision 35234)
@@ -568,4 +568,12 @@
 
 bool UIRegistrationWzdPage1::validatePage()
+{
+    startProcessing();
+    bool fResult = registration();
+    endProcessing();
+    return fResult;
+}
+
+bool UIRegistrationWzdPage1::registration()
 {
     /* Create registration engine */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.h	(revision 35233)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/registration/UIRegistrationWzd.h	(revision 35234)
@@ -64,4 +64,5 @@
     bool isComplete() const;
     bool validatePage();
+    bool registration();
 
 private slots:
