Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 84965)
@@ -1898,4 +1898,6 @@
     comUnattendedInstaller.SetPassword(unattendedData.m_strPassword);
     comUnattendedInstaller.SetHostname(unattendedData.m_strHostname);
+    comUnattendedInstaller.SetProductKey(unattendedData.m_strProductKey);
+
     comUnattendedInstaller.Prepare();
     checkUnattendedInstallError(comUnattendedInstaller);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 84965)
@@ -524,5 +524,5 @@
     m_unattendedInstallData.m_strDetectedOSLanguages = getStringFieldValue("detectedOSLanguages");
     m_unattendedInstallData.m_strDetectedOSHints = getStringFieldValue("detectedOSHints");
-
+    m_unattendedInstallData.m_strProductKey = getStringFieldValue("productKey");
 
     QVariant fieldValue = field("isUnattendedEnabled");
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 84965)
@@ -46,4 +46,5 @@
     QString m_strDetectedOSLanguages;
     QString m_strDetectedOSHints;
+    QString m_strProductKey;
 };
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.cpp	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.cpp	(revision 84965)
@@ -17,13 +17,6 @@
 
 /* Qt includes: */
-#include <QComboBox>
-#include <QCompleter>
-#include <QIntValidator>
 #include <QGridLayout>
-#include <QSpacerItem>
 #include <QLabel>
-#include <QSortFilterProxyModel>
-#include <QSpinBox>
-#include <QStringListModel>
 #include <QStyle>
 #include <QToolButton>
@@ -32,9 +25,6 @@
 /* GUI includes: */
 #include "QIRichTextLabel.h"
-#include "UIBaseMemoryEditor.h"
-#include "UIBaseMemorySlider.h"
 #include "UICommon.h"
 #include "UIIconPool.h"
-#include "UIVirtualCPUEditor.h"
 #include "UIWizardNewVMPageBasicInstallSetup.h"
 #include "UIWizardNewVM.h"
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.h	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicInstallSetup.h	(revision 84965)
@@ -24,5 +24,4 @@
 /* Qt includes: */
 #include <QLineEdit>
-#include <QStringList>
 #include <QWidget>
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.cpp	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.cpp	(revision 84965)
@@ -18,23 +18,13 @@
 /* Qt includes: */
 #include <QComboBox>
-#include <QCompleter>
-#include <QIntValidator>
 #include <QGridLayout>
+#include <QLabel>
+#include <QLineEdit>
 #include <QSpacerItem>
-#include <QLabel>
-#include <QSortFilterProxyModel>
-#include <QSpinBox>
-#include <QStringListModel>
-#include <QStyle>
-#include <QToolButton>
 #include <QVBoxLayout>
 
 /* GUI includes: */
 #include "QIRichTextLabel.h"
-#include "UIBaseMemoryEditor.h"
-#include "UIBaseMemorySlider.h"
-#include "UICommon.h"
 #include "UIIconPool.h"
-#include "UIVirtualCPUEditor.h"
 #include "UIWizardNewVMPageBasicProductKey.h"
 #include "UIWizardNewVM.h"
@@ -48,5 +38,5 @@
 QString UIWizardNewVMPageProductKey::productKey() const
 {
-    if (!m_pProductKeyLineEdit)
+    if (!m_pProductKeyLineEdit || !m_pProductKeyLineEdit->hasAcceptableInput())
         return QString();
     return m_pProductKeyLineEdit->text();
@@ -65,4 +55,5 @@
             m_pHostnameLabel = new QLabel;
             m_pProductKeyLineEdit = new QLineEdit;
+            m_pProductKeyLineEdit->setInputMask(">NNNNN-NNNNN-NNNNN-NNNNN-NNNNN;#");
             pGridLayout->addWidget(m_pHostnameLabel, 3, 0, 1, 1, Qt::AlignRight);
             pGridLayout->addWidget(m_pProductKeyLineEdit, 3, 1, 1, 3);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.h	(revision 84964)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasicProductKey.h	(revision 84965)
@@ -22,8 +22,4 @@
 #endif
 
-/* Qt includes: */
-#include <QLineEdit>
-#include <QStringList>
-#include <QWidget>
 
 /* Local includes: */
@@ -32,9 +28,7 @@
 
 /* Forward declarations: */
-class QGridLayout;
 class QLabel;
-class QSpinBox;
+class QLineEdit;
 class QIRichTextLabel;
-struct UIUnattendedInstallData;
 
 class UIWizardNewVMPageProductKey : public UIWizardPageBase
