Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 93539)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 93540)
@@ -832,4 +832,22 @@
 }
 
+void UIWizardNewVM::setDetectedImageNamesAndIndices(const QVector<QString> &names, const QVector<ULONG> &ids)
+{
+    AssertMsg(names.size() == ids.size(),
+              ("Sizes of the arrays for names and indices of the detected images should be equal."));
+    m_detectedImageNames = names;
+    m_detectedImageIndices = ids;
+}
+
+const QVector<QString> &UIWizardNewVM::detectedImageNames() const
+{
+    return m_detectedImageNames;
+}
+
+const QVector<ULONG> &UIWizardNewVM::detectedImageIndices() const
+{
+    return m_detectedImageIndices;
+}
+
 QVector<KMediumVariant> UIWizardNewVM::mediumVariants() const
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 93539)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.h	(revision 93540)
@@ -171,4 +171,8 @@
         void setEmptyDiskRecommended(bool fEmptyDiskRecommended);
 
+        void setDetectedImageNamesAndIndices(const QVector<QString> &names, const QVector<ULONG> &ids);
+        const QVector<QString> &detectedImageNames() const;
+        const QVector<ULONG> &detectedImageIndices() const;
+
         QVector<KMediumVariant> mediumVariants() const;
     /** @} */
@@ -224,4 +228,7 @@
        /** Type Id od the OS detected from the ISO file by IUnattended. */
        QString m_strDetectedOSTypeId;
+       /* Name and index lists of the images detected from an ISO. Currently only for Windows ISOs. */
+       QVector<QString> m_detectedImageNames;
+       QVector<ULONG> m_detectedImageIndices;
 
        /** Holds the VM OS family ID. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMExpertPage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMExpertPage.cpp	(revision 93539)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMExpertPage.cpp	(revision 93540)
@@ -148,6 +148,5 @@
     AssertReturnVoid(pWizard);
 
-    UIWizardNewVMNameOSTypeCommon::detectOSType(strISOPath, pWizard);
-
+    UIWizardNewVMNameOSTypeCommon::detectOSAndImagesFromISO(strISOPath, pWizard);
 
     if (UIWizardNewVMNameOSTypeCommon::guessOSTypeDetectedOSTypeString(m_pNameAndSystemEditor, pWizard->detectedOSTypeId()))
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp	(revision 93539)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.cpp	(revision 93540)
@@ -311,5 +311,5 @@
 }
 
-void UIWizardNewVMNameOSTypeCommon::detectOSType(const QString &strISOPath, UIWizardNewVM *pWizard)
+void UIWizardNewVMNameOSTypeCommon::detectOSAndImagesFromISO(const QString &strISOPath, UIWizardNewVM *pWizard)
 {
     if (!pWizard)
@@ -327,4 +327,7 @@
     comUnatteded.DetectIsoOS();
     pWizard->setDetectedOSTypeId(comUnatteded.GetDetectedOSTypeId());
+
+    pWizard->setDetectedImageNamesAndIndices(comUnatteded.GetDetectedImageNames(),
+                                             comUnatteded.GetDetectedImageIndices());
 }
 
@@ -479,5 +482,5 @@
     UIWizardNewVM *pWizard = qobject_cast<UIWizardNewVM*>(this->wizard());
     AssertReturnVoid(pWizard);
-    UIWizardNewVMNameOSTypeCommon::detectOSType(strPath, pWizard);
+    UIWizardNewVMNameOSTypeCommon::detectOSAndImagesFromISO(strPath, pWizard);
 
     if (UIWizardNewVMNameOSTypeCommon::guessOSTypeDetectedOSTypeString(m_pNameAndSystemEditor, pWizard->detectedOSTypeId()))
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.h	(revision 93539)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMNameOSTypePage.h	(revision 93540)
@@ -43,5 +43,5 @@
     bool cleanupMachineFolder(UIWizardNewVM *pWizard, bool fWizardCancel = false);
     void composeMachineFilePath(UINameAndSystemEditor *pNameAndSystemEditor, UIWizardNewVM *pWizard);
-    void detectOSType(const QString &strISOPath, UIWizardNewVM *pWizard);
+    void detectOSAndImagesFromISO(const QString &strISOPath, UIWizardNewVM *pWizard);
     /** Return false if ISO path is not empty but points to an missing or unreadable file. */
     bool checkISOFile(UINameAndSystemEditor *pNameAndSystemEditor);
