Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 75215)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 75216)
@@ -1620,4 +1620,11 @@
 }
 
+void UIMessageCenter::cannotAcquireCloudProviderManagerParameter(const CCloudProviderManager &comManager, QWidget *pParent /* = 0 */) const
+{
+    error(pParent, MessageType_Error,
+          tr("Failed to acquire cloud provider manager parameter."),
+          UIErrorString::formatErrorInfo(comManager));
+}
+
 void UIMessageCenter::cannotFindCloudProvider(const CCloudProviderManager &comManager, const QUuid &uId, QWidget *pParent /* = 0 */) const
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 75215)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h	(revision 75216)
@@ -362,4 +362,5 @@
     /* API: Cloud Profile Manager warnings: */
     void cannotAcquireCloudProviderManager(const CVirtualBox &comVBox, QWidget *pParent = 0) const;
+    void cannotAcquireCloudProviderManagerParameter(const CCloudProviderManager &comManager, QWidget *pParent = 0) const;
     void cannotFindCloudProvider(const CCloudProviderManager &comManager, const QUuid &uId, QWidget *pParent = 0) const;
     void cannotAcquireCloudProviderParameter(const CCloudProvider &comProvider, QWidget *pParent = 0) const;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.cpp	(revision 75215)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.cpp	(revision 75216)
@@ -39,4 +39,5 @@
 # include "UIEmptyFilePathSelector.h"
 # include "UIIconPool.h"
+# include "UIMessageCenter.h"
 # include "UIVirtualBoxManager.h"
 # include "UIWizardExportApp.h"
@@ -73,9 +74,4 @@
     , m_pAccountPropertyTable(0)
 {
-    /* Init Cloud Provider Manager: */
-    CVirtualBox comVBox = vboxGlobal().virtualBox();
-    m_comCloudProviderManager = comVBox.GetCloudProviderManager();
-    AssertMsg(comVBox.isOk() && m_comCloudProviderManager.isNotNull(),
-              ("Unable to acquire Cloud Provider Manager"));
 }
 
@@ -97,17 +93,34 @@
     }
 
-    /* Iterate through existing providers: */
-    foreach (const CCloudProvider &comProvider, m_comCloudProviderManager.GetProviders())
-    {
-        /* Skip if we have nothing to populate (file missing?): */
-        if (comProvider.isNull())
-            continue;
-
-        /* Compose empty item, fill it's data: */
-        m_pFormatComboBox->addItem(QString());
-        m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetId(),        FormatData_ID);
-        m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetName(),      FormatData_Name);
-        m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetShortName(), FormatData_ShortName);
-        m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, true,                       FormatData_IsItCloudFormat);
+    /* Initialize Cloud Provider Manager: */
+    CVirtualBox comVBox = vboxGlobal().virtualBox();
+    m_comCloudProviderManager = comVBox.GetCloudProviderManager();
+    /* Show error message if necessary: */
+    if (!comVBox.isOk())
+        msgCenter().cannotAcquireCloudProviderManager(comVBox);
+    else
+    {
+        /* Acquire existing providers: */
+        const QVector<CCloudProvider> providers = m_comCloudProviderManager.GetProviders();
+        /* Show error message if necessary: */
+        if (!m_comCloudProviderManager.isOk())
+            msgCenter().cannotAcquireCloudProviderManagerParameter(m_comCloudProviderManager);
+        else
+        {
+            /* Iterate through existing providers: */
+            foreach (const CCloudProvider &comProvider, providers)
+            {
+                /* Skip if we have nothing to populate (file missing?): */
+                if (comProvider.isNull())
+                    continue;
+
+                /* Compose empty item, fill it's data: */
+                m_pFormatComboBox->addItem(QString());
+                m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetId(),        FormatData_ID);
+                m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetName(),      FormatData_Name);
+                m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, comProvider.GetShortName(), FormatData_ShortName);
+                m_pFormatComboBox->setItemData(m_pFormatComboBox->count() - 1, true,                       FormatData_IsItCloudFormat);
+            }
+        }
     }
 
@@ -135,19 +148,35 @@
     /* Clear combo initially: */
     m_pAccountComboBox->clear();
+
     /* Return if no provider chosen: */
     if (providerId().isNull())
         return;
 
-    /* Acquire Cloud Provider: */
-    CCloudProvider comCloudProvider = m_comCloudProviderManager.GetProviderById(providerId());
-    /* Return if the provider has disappeared: */
-    if (comCloudProvider.isNull())
-        return;
-
-    /* Iterate through profile names: */
-    foreach (const QString &strProfileName, comCloudProvider.GetProfileNames())
-    {
-        m_pAccountComboBox->addItem(strProfileName);
-        m_pAccountComboBox->setItemData(m_pAccountComboBox->count() - 1, strProfileName, AccountData_ProfileName);
+    /* (Re)initialize Cloud Provider: */
+    m_comCloudProvider = m_comCloudProviderManager.GetProviderById(providerId());
+    /* Show error message if necessary: */
+    if (!m_comCloudProviderManager.isOk())
+        msgCenter().cannotFindCloudProvider(m_comCloudProviderManager, providerId());
+    else
+    {
+        /* Acquire existing profile names: */
+        const QVector<QString> profileNames = m_comCloudProvider.GetProfileNames();
+        /* Show error message if necessary: */
+        if (!m_comCloudProvider.isOk())
+            msgCenter().cannotAcquireCloudProviderParameter(m_comCloudProvider);
+        else
+        {
+            /* Iterate through existing profile names: */
+            foreach (const QString &strProfileName, profileNames)
+            {
+                /* Skip if we have nothing to show (wtf happened?): */
+                if (strProfileName.isEmpty())
+                    continue;
+
+                /* Compose item, fill it's data: */
+                m_pAccountComboBox->addItem(strProfileName);
+                m_pAccountComboBox->setItemData(m_pAccountComboBox->count() - 1, strProfileName, AccountData_ProfileName);
+            }
+        }
     }
 
@@ -163,70 +192,79 @@
     m_pAccountPropertyTable->setRowCount(0);
     m_pAccountPropertyTable->setColumnCount(0);
-    /* Return if no provider chosen: */
-    if (providerId().isNull())
+
+    /* Return if no provider initialized: */
+    if (m_comCloudProvider.isNull())
         return;
-
-    /* Acquire Cloud Provider: */
-    CCloudProvider comCloudProvider = m_comCloudProviderManager.GetProviderById(providerId());
-    /* Return if the provider has disappeared: */
-    if (comCloudProvider.isNull())
+    /* Return if no profile chosen: */
+    if (profileName().isNull())
         return;
 
     /* Acquire Cloud Profile: */
-    m_comCloudProfile = comCloudProvider.GetProfileByName(profileName());
-    /* Return if the profile has disappeared: */
-    if (m_comCloudProfile.isNull())
-        return;
-
-    /* Acquire properties: */
-    QVector<QString> keys;
-    QVector<QString> values;
-    values = m_comCloudProfile.GetProperties(QString(), keys);
-
-    /* Configure table: */
-    m_pAccountPropertyTable->setRowCount(keys.size());
-    m_pAccountPropertyTable->setColumnCount(2);
-
-    /* Push acquired keys/values to data fields: */
-    for (int i = 0; i < m_pAccountPropertyTable->rowCount(); ++i)
-    {
-        /* Create key item: */
-        QTableWidgetItem *pItemK = new QTableWidgetItem(keys.at(i));
-        if (pItemK)
+    m_comCloudProfile = m_comCloudProvider.GetProfileByName(profileName());
+    /* Show error message if necessary: */
+    if (!m_comCloudProvider.isOk())
+        msgCenter().cannotFindCloudProfile(m_comCloudProvider, profileName());
+    else
+    {
+        /* Acquire properties: */
+        QVector<QString> keys;
+        QVector<QString> values;
+        values = m_comCloudProfile.GetProperties(QString(), keys);
+        /* Show error message if necessary: */
+        if (!m_comCloudProfile.isOk())
+            msgCenter().cannotAcquireCloudProfileParameter(m_comCloudProfile);
+        else
         {
-            /* Non-editable for sure, but non-selectable? */
-            pItemK->setFlags(pItemK->flags() & ~Qt::ItemIsEditable);
-            pItemK->setFlags(pItemK->flags() & ~Qt::ItemIsSelectable);
-
-            /* Use non-translated description as tool-tip: */
-            const QString strToolTip = m_comCloudProfile.GetPropertyDescription(keys.at(i));
-            pItemK->setData(Qt::UserRole, strToolTip);
-
-            /* Insert into table: */
-            m_pAccountPropertyTable->setItem(i, 0, pItemK);
+            /* Configure table: */
+            m_pAccountPropertyTable->setRowCount(keys.size());
+            m_pAccountPropertyTable->setColumnCount(2);
+
+            /* Push acquired keys/values to data fields: */
+            for (int i = 0; i < m_pAccountPropertyTable->rowCount(); ++i)
+            {
+                /* Create key item: */
+                QTableWidgetItem *pItemK = new QTableWidgetItem(keys.at(i));
+                if (pItemK)
+                {
+                    /* Non-editable for sure, but non-selectable? */
+                    pItemK->setFlags(pItemK->flags() & ~Qt::ItemIsEditable);
+                    pItemK->setFlags(pItemK->flags() & ~Qt::ItemIsSelectable);
+
+                    /* Use non-translated description as tool-tip: */
+                    const QString strToolTip = m_comCloudProfile.GetPropertyDescription(keys.at(i));
+                    /* Show error message if necessary: */
+                    if (!m_comCloudProfile.isOk())
+                        msgCenter().cannotAcquireCloudProfileParameter(m_comCloudProfile);
+                    else
+                        pItemK->setData(Qt::UserRole, strToolTip);
+
+                    /* Insert into table: */
+                    m_pAccountPropertyTable->setItem(i, 0, pItemK);
+                }
+
+                /* Create value item: */
+                QTableWidgetItem *pItemV = new QTableWidgetItem(values.at(i));
+                if (pItemV)
+                {
+                    /* Non-editable for sure, but non-selectable? */
+                    pItemV->setFlags(pItemV->flags() & ~Qt::ItemIsEditable);
+                    pItemV->setFlags(pItemV->flags() & ~Qt::ItemIsSelectable);
+
+                    /* Use the value as tool-tip, there can be quite long values: */
+                    const QString strToolTip = values.at(i);
+                    pItemV->setToolTip(strToolTip);
+
+                    /* Insert into table: */
+                    m_pAccountPropertyTable->setItem(i, 1, pItemV);
+                }
+            }
+
+            /* Update table tool-tips: */
+            updateAccountPropertyTableToolTips();
+
+            /* Adjust the table: */
+            adjustAccountPropertyTable();
         }
-
-        /* Create value item: */
-        QTableWidgetItem *pItemV = new QTableWidgetItem(values.at(i));
-        if (pItemV)
-        {
-            /* Non-editable for sure, but non-selectable? */
-            pItemV->setFlags(pItemV->flags() & ~Qt::ItemIsEditable);
-            pItemV->setFlags(pItemV->flags() & ~Qt::ItemIsSelectable);
-
-            /* Use the value as tool-tip, there can be quite long values: */
-            const QString strToolTip = values.at(i);
-            pItemV->setToolTip(strToolTip);
-
-            /* Insert into table: */
-            m_pAccountPropertyTable->setItem(i, 1, pItemV);
-        }
-    }
-
-    /* Update table tool-tips: */
-    updateAccountPropertyTableToolTips();
-
-    /* Adjust the table: */
-    adjustAccountPropertyTable();
+    }
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.h	(revision 75215)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic2.h	(revision 75216)
@@ -150,4 +150,6 @@
     /** Holds the Cloud Provider Manager reference. */
     CCloudProviderManager  m_comCloudProviderManager;
+    /** Holds the Cloud Provider object reference. */
+    CCloudProvider         m_comCloudProvider;
     /** Holds the Cloud Profile object reference. */
     CCloudProfile          m_comCloudProfile;
