Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 45219)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 45220)
@@ -137,6 +137,5 @@
 {
     /* Write the appliance: */
-    const QString strVersion = field("OVF09Selected").toBool() ? "ovf-0.9" : "ovf-1.0";
-    CProgress progress = appliance.Write(strVersion, field("manifestSelected").toBool() /* fManifest */, uri());
+    CProgress progress = appliance.Write(field("format").toString(), field("manifestSelected").toBool() /* fManifest */, uri());
     bool fResult = appliance.isOk();
     if (fResult)
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 45219)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 45220)
@@ -24,4 +24,5 @@
 #include <QLabel>
 #include <QLineEdit>
+#include <QComboBox>
 #include <QCheckBox>
 
@@ -46,5 +47,6 @@
     m_pBucketEditor->setText(vboxGlobal().virtualBox().GetExtraData(GUI_Export_Bucket));
 #else
-    /* Do nothing for now... */
+    /* Choose defalt format: */
+    setFormat("ovf-1.0");
 #endif
 }
@@ -66,5 +68,5 @@
             m_pBucketLabel->setVisible(false);
             m_pBucketEditor->setVisible(false);
-            m_pOVF09Checkbox->setVisible(true);
+            m_pFormatComboBox->setVisible(true);
             m_pFileSelector->setChooserVisible(true);
             break;
@@ -80,6 +82,5 @@
             m_pBucketLabel->setVisible(true);
             m_pBucketEditor->setVisible(true);
-            m_pOVF09Checkbox->setVisible(false);
-            m_pOVF09Checkbox->setChecked(false);
+            m_pFormatComboBox->setVisible(false);
             m_pFileSelector->setChooserVisible(false);
             break;
@@ -95,5 +96,5 @@
             m_pBucketLabel->setVisible(true);
             m_pBucketEditor->setVisible(true);
-            m_pOVF09Checkbox->setVisible(true);
+            m_pFormatComboBox->setVisible(true);
             m_pFileSelector->setChooserVisible(false);
             break;
@@ -112,12 +113,22 @@
 }
 
-bool UIWizardExportAppPage3::isOVF09Selected() const
-{
-    return m_pOVF09Checkbox->isChecked();
-}
-
-void UIWizardExportAppPage3::setOVF09Selected(bool fChecked)
-{
-    m_pOVF09Checkbox->setChecked(fChecked);
+void UIWizardExportAppPage3::updateFormatComboToolTip()
+{
+    int iCurrentIndex = m_pFormatComboBox->currentIndex();
+    QString strCurrentIndexToolTip = m_pFormatComboBox->itemData(iCurrentIndex, Qt::ToolTipRole).toString();
+    m_pFormatComboBox->setToolTip(strCurrentIndexToolTip);
+}
+
+QString UIWizardExportAppPage3::format() const
+{
+    int iIndex = m_pFormatComboBox->currentIndex();
+    return m_pFormatComboBox->itemData(iIndex).toString();
+}
+
+void UIWizardExportAppPage3::setFormat(const QString &strFormat)
+{
+    int iIndex = m_pFormatComboBox->findData(strFormat);
+    AssertMsg(iIndex != -1, ("Field not found!"));
+    m_pFormatComboBox->setCurrentIndex(iIndex);
 }
 
@@ -228,4 +239,19 @@
                 m_pFileSelectorLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
                 m_pFileSelectorLabel->setBuddy(m_pFileSelector);
+            }
+            m_pFormatComboBox = new QComboBox(this);
+            {
+                const QString strFormat09("ovf-0.9");
+                const QString strFormat10("ovf-1.0");
+                const QString strFormat20("ovf-2.0");
+                m_pFormatComboBox->addItem(strFormat09, strFormat09);
+                m_pFormatComboBox->addItem(strFormat10, strFormat10);
+                m_pFormatComboBox->addItem(strFormat20, strFormat20);
+                connect(m_pFormatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(sltUpdateFormatComboToolTip()));
+            }
+            m_pFormatComboBoxLabel = new QLabel(this);
+            {
+                m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+                m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
             }
             pSettingsLayout->addWidget(m_pUsernameLabel, 0, 0);
@@ -239,10 +265,10 @@
             pSettingsLayout->addWidget(m_pFileSelectorLabel, 4, 0);
             pSettingsLayout->addWidget(m_pFileSelector, 4, 1);
-        }
-        m_pOVF09Checkbox = new QCheckBox(this);
+            pSettingsLayout->addWidget(m_pFormatComboBoxLabel, 5, 0);
+            pSettingsLayout->addWidget(m_pFormatComboBox, 5, 1);
+        }
         m_pManifestCheckbox = new QCheckBox(this);
         pMainLayout->addWidget(m_pLabel);
         pMainLayout->addLayout(pSettingsLayout);
-        pMainLayout->addWidget(m_pOVF09Checkbox);
         pMainLayout->addWidget(m_pManifestCheckbox);
         pMainLayout->addStretch();
@@ -258,5 +284,5 @@
 
     /* Register fields: */
-    registerField("OVF09Selected", this, "OVF09Selected");
+    registerField("format", this, "format");
     registerField("manifestSelected", this, "manifestSelected");
     registerField("username", this, "username");
@@ -284,6 +310,12 @@
     m_pFileSelector->setFileFilters(UIWizardExportApp::tr("Open Virtualization Format Archive (%1)").arg("*.ova") + ";;" +
                                     UIWizardExportApp::tr("Open Virtualization Format (%1)").arg("*.ovf"));
-    m_pOVF09Checkbox->setToolTip(UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility with other virtualization products."));
-    m_pOVF09Checkbox->setText(UIWizardExportApp::tr("&Write legacy OVF 0.9"));
+    m_pFormatComboBoxLabel->setText(UIWizardExportApp::tr("F&ormat:"));
+    m_pFormatComboBox->setItemText(0, UIWizardExportApp::tr("OVF 0.9"));
+    m_pFormatComboBox->setItemText(1, UIWizardExportApp::tr("OVF 1.0"));
+    m_pFormatComboBox->setItemText(2, UIWizardExportApp::tr("OVF 2.0"));
+    m_pFormatComboBox->setItemData(0, UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility "
+                                                            "with other virtualization products."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(1, UIWizardExportApp::tr("Write in standard OVF 1.0 format."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(2, UIWizardExportApp::tr("Write in new experimental OVF 2.0 format."), Qt::ToolTipRole);
     m_pManifestCheckbox->setToolTip(UIWizardExportApp::tr("Create a Manifest file for automatic data integrity checks on import."));
     m_pManifestCheckbox->setText(UIWizardExportApp::tr("Write &Manifest file"));
@@ -291,4 +323,5 @@
     /* Refresh current settings: */
     refreshCurrentSettings();
+    updateFormatComboToolTip();
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 45219)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 45220)
@@ -30,4 +30,5 @@
 class QLineEdit;
 class VBoxEmptyFileSelector;
+class QComboBox;
 class QCheckBox;
 class QIRichTextLabel;
@@ -44,8 +45,9 @@
     void chooseDefaultSettings();
     virtual void refreshCurrentSettings();
+    virtual void updateFormatComboToolTip();
 
-    /* Stuff for 'OVF09Selected' field: */
-    bool isOVF09Selected() const;
-    void setOVF09Selected(bool fChecked);
+    /* Stuff for 'format' field: */
+    QString format() const;
+    void setFormat(const QString &strFormat);
     /* Stuff for 'manifestSelected' field: */
     bool isManifestSelected() const;
@@ -81,5 +83,6 @@
     QLabel *m_pFileSelectorLabel;
     VBoxEmptyFileSelector *m_pFileSelector;
-    QCheckBox *m_pOVF09Checkbox;
+    QLabel *m_pFormatComboBoxLabel;
+    QComboBox *m_pFormatComboBox;
     QCheckBox *m_pManifestCheckbox;
 };
@@ -89,5 +92,5 @@
 {
     Q_OBJECT;
-    Q_PROPERTY(bool OVF09Selected READ isOVF09Selected WRITE setOVF09Selected);
+    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
     Q_PROPERTY(QString username READ username WRITE setUserName);
@@ -106,4 +109,9 @@
     /* Wrapper to access 'wizard-field' from base part: */
     QVariant fieldImp(const QString &strFieldName) const { return UIWizardPage::field(strFieldName); }
+
+private slots:
+
+    /* Format combo change handler: */
+    void sltUpdateFormatComboToolTip() { updateFormatComboToolTip(); }
 
 private:
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 45219)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 45220)
@@ -124,5 +124,19 @@
                     m_pFileSelectorLabel->setBuddy(m_pFileSelector);
                 }
-                m_pOVF09Checkbox = new QCheckBox(m_pSettingsCnt);
+                m_pFormatComboBox = new QComboBox(m_pSettingsCnt);
+                {
+                    const QString strFormat09("ovf-0.9");
+                    const QString strFormat10("ovf-1.0");
+                    const QString strFormat20("ovf-2.0");
+                    m_pFormatComboBox->addItem(strFormat09, strFormat09);
+                    m_pFormatComboBox->addItem(strFormat10, strFormat10);
+                    m_pFormatComboBox->addItem(strFormat20, strFormat20);
+                    connect(m_pFormatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(sltUpdateFormatComboToolTip()));
+                }
+                m_pFormatComboBoxLabel = new QLabel(m_pSettingsCnt);
+                {
+                    m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+                    m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
+                }
                 m_pManifestCheckbox = new QCheckBox(m_pSettingsCnt);
                 pSettingsLayout->addWidget(m_pUsernameLabel, 0, 0);
@@ -136,5 +150,6 @@
                 pSettingsLayout->addWidget(m_pFileSelectorLabel, 4, 0);
                 pSettingsLayout->addWidget(m_pFileSelector, 4, 1);
-                pSettingsLayout->addWidget(m_pOVF09Checkbox, 5, 0, 1, 2);
+                pSettingsLayout->addWidget(m_pFormatComboBoxLabel, 5, 0);
+                pSettingsLayout->addWidget(m_pFormatComboBox, 5, 1);
                 pSettingsLayout->addWidget(m_pManifestCheckbox, 6, 0, 1, 2);
             }
@@ -167,5 +182,5 @@
     registerField("machineIDs", this, "machineIDs");
     registerField("storageType", this, "storageType");
-    registerField("OVF09Selected", this, "OVF09Selected");
+    registerField("format", this, "format");
     registerField("manifestSelected", this, "manifestSelected");
     registerField("username", this, "username");
@@ -217,8 +232,17 @@
     m_pFileSelector->setFileFilters(UIWizardExportApp::tr("Open Virtualization Format Archive (%1)").arg("*.ova") + ";;" +
                                     UIWizardExportApp::tr("Open Virtualization Format (%1)").arg("*.ovf"));
-    m_pOVF09Checkbox->setToolTip(UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility with other virtualization products."));
-    m_pOVF09Checkbox->setText(UIWizardExportApp::tr("&Write legacy OVF 0.9"));
+    m_pFormatComboBoxLabel->setText(UIWizardExportApp::tr("F&ormat:"));
+    m_pFormatComboBox->setItemText(0, UIWizardExportApp::tr("OVF 0.9"));
+    m_pFormatComboBox->setItemText(1, UIWizardExportApp::tr("OVF 1.0"));
+    m_pFormatComboBox->setItemText(2, UIWizardExportApp::tr("OVF 2.0"));
+    m_pFormatComboBox->setItemData(0, UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility "
+                                                            "with other virtualization products."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(1, UIWizardExportApp::tr("Write in standard OVF 1.0 format."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(2, UIWizardExportApp::tr("Write in new experimental OVF 2.0 format."), Qt::ToolTipRole);
     m_pManifestCheckbox->setToolTip(UIWizardExportApp::tr("Create a Manifest file for automatic data integrity checks on import."));
     m_pManifestCheckbox->setText(UIWizardExportApp::tr("Write &Manifest file"));
+
+    /* Refresh current settings: */
+    updateFormatComboToolTip();
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 45219)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 45220)
@@ -40,5 +40,5 @@
     Q_PROPERTY(QStringList machineIDs READ machineIDs);
     Q_PROPERTY(StorageType storageType READ storageType WRITE setStorageType);
-    Q_PROPERTY(bool OVF09Selected READ isOVF09Selected WRITE setOVF09Selected);
+    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
     Q_PROPERTY(QString username READ username WRITE setUserName);
@@ -71,4 +71,7 @@
     void sltStorageTypeChangeHandler();
 
+    /* Format combo change handler: */
+    void sltUpdateFormatComboToolTip() { updateFormatComboToolTip(); }
+
 private:
 
