Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 71461)
@@ -86,4 +86,7 @@
 
 /* COM includes: */
+# include "CExtPack.h"
+# include "CExtPackFile.h"
+# include "CExtPackManager.h"
 # include "CMachine.h"
 # include "CSystemProperties.h"
@@ -3441,4 +3444,92 @@
 #endif /* VBOX_WS_X11 */
 
+/* static */
+void VBoxGlobal::doExtPackInstallation(QString const &strFilePath, QString const &strDigest,
+                                       QWidget *pParent, QString *pstrExtPackName)
+{
+    /* Open the extpack tarball via IExtPackManager: */
+    CExtPackManager comManager = vboxGlobal().virtualBox().GetExtensionPackManager();
+    CExtPackFile comExtPackFile;
+    if (strDigest.isEmpty())
+        comExtPackFile = comManager.OpenExtPackFile(strFilePath);
+    else
+    {
+        QString strFileAndHash = QString("%1::SHA-256=%2").arg(strFilePath).arg(strDigest);
+        comExtPackFile = comManager.OpenExtPackFile(strFileAndHash);
+    }
+    if (!comManager.isOk())
+    {
+        msgCenter().cannotOpenExtPack(strFilePath, comManager, pParent);
+        return;
+    }
+
+    if (!comExtPackFile.GetUsable())
+    {
+        msgCenter().warnAboutBadExtPackFile(strFilePath, comExtPackFile, pParent);
+        return;
+    }
+
+    const QString strPackName = comExtPackFile.GetName();
+    const QString strPackDescription = comExtPackFile.GetDescription();
+    const QString strPackVersion = QString("%1r%2%3").arg(comExtPackFile.GetVersion()).arg(comExtPackFile.GetRevision()).arg(comExtPackFile.GetEdition());
+
+    /* Check if there is a version of the extension pack already
+     * installed on the system and let the user decide what to do about it. */
+    CExtPack comExtPackCur = comManager.Find(strPackName);
+    bool fReplaceIt = comExtPackCur.isOk();
+    if (fReplaceIt)
+    {
+        QString strPackVersionCur = QString("%1r%2%3").arg(comExtPackCur.GetVersion()).arg(comExtPackCur.GetRevision()).arg(comExtPackCur.GetEdition());
+        if (!msgCenter().confirmReplaceExtensionPack(strPackName, strPackVersion, strPackVersionCur, strPackDescription, pParent))
+            return;
+    }
+    /* If it's a new package just ask for general confirmation. */
+    else
+    {
+        if (!msgCenter().confirmInstallExtensionPack(strPackName, strPackVersion, strPackDescription, pParent))
+            return;
+    }
+
+    /* Display the license dialog if required by the extension pack. */
+    if (comExtPackFile.GetShowLicense())
+    {
+        QString strLicense = comExtPackFile.GetLicense();
+        VBoxLicenseViewer licenseViewer(pParent);
+        if (licenseViewer.showLicenseFromString(strLicense) != QDialog::Accepted)
+            return;
+    }
+
+    /* Install the selected package.
+     * Set the package name return value before doing
+     * this as the caller should do a refresh even on failure. */
+    QString strDisplayInfo;
+#ifdef VBOX_WS_WIN
+    if (pParent)
+        strDisplayInfo.sprintf("hwnd=%#llx", (uint64_t)(uintptr_t)pParent->winId());
+#endif
+    /* Prepare installation progress: */
+    CProgress comProgress = comExtPackFile.Install(fReplaceIt, strDisplayInfo);
+    if (comExtPackFile.isOk())
+    {
+        /* Show installation progress: */
+        /** @todo move this tr into UIUpdateManager context */
+        msgCenter().showModalProgressDialog(comProgress, QApplication::translate("UIGlobalSettingsExtension",
+                                                                              "Extensions"),
+                                            ":/progress_install_guest_additions_90px.png", pParent);
+        if (!comProgress.GetCanceled())
+        {
+            if (comProgress.isOk() && comProgress.GetResultCode() == 0)
+                msgCenter().warnAboutExtPackInstalled(strPackName, pParent);
+            else
+                msgCenter().cannotInstallExtPack(comProgress, strFilePath, pParent);
+        }
+    }
+    else
+        msgCenter().cannotInstallExtPack(comExtPackFile, strFilePath, pParent);
+
+    if (pstrExtPackName)
+        *pstrExtPackName = strPackName;
+}
+
 // Public slots
 ////////////////////////////////////////////////////////////////////////////////
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 71461)
@@ -444,4 +444,14 @@
     static void setWMClass(QWidget *pWidget, const QString &strNameString, const QString &strClassString);
 #endif
+
+    /** Initiates the extension pack installation process.
+      * @param  strFilePath      Brings the extension pack file path.
+      * @param  strDigest        Brings the extension pack file digest.
+      * @param  pParent          Brings the parent dialog reference.
+      * @param  pstrExtPackName  Brings the extension pack name. */
+    static void doExtPackInstallation(QString const &strFilePath,
+                                      QString const &strDigest,
+                                      QWidget *pParent,
+                                      QString *pstrExtPackName);
 
 signals:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 71461)
@@ -44,5 +44,4 @@
 /* COM includes: */
 # include "CExtPack.h"
-# include "CExtPackFile.h"
 # include "CExtPackManager.h"
 # include "CSystemProperties.h"
@@ -492,5 +491,5 @@
     /* Warn the user about extension pack was downloaded and saved, propose to install it: */
     if (msgCenter().proposeInstallExtentionPack(GUI_ExtPackName, strSource, QDir::toNativeSeparators(strTarget)))
-        UIUpdateManager::doExtPackInstallation(strTarget, strDigest, windowManager().networkManagerOrMainWindowShown(), NULL);
+        VBoxGlobal::doExtPackInstallation(strTarget, strDigest, windowManager().networkManagerOrMainWindowShown(), NULL);
     /* Propose to delete the downloaded extension pack: */
     if (msgCenter().proposeDeleteExtentionPack(QDir::toNativeSeparators(strTarget)))
@@ -572,92 +571,4 @@
 }
 
-/* static */
-void UIUpdateManager::doExtPackInstallation(QString const &strFilePath, QString const &strDigest,
-                                            QWidget *pParent, QString *pstrExtPackName)
-{
-    /* Open the extpack tarball via IExtPackManager: */
-    CExtPackManager comManager = vboxGlobal().virtualBox().GetExtensionPackManager();
-    CExtPackFile comExtPackFile;
-    if (strDigest.isEmpty())
-        comExtPackFile = comManager.OpenExtPackFile(strFilePath);
-    else
-    {
-        QString strFileAndHash = QString("%1::SHA-256=%2").arg(strFilePath).arg(strDigest);
-        comExtPackFile = comManager.OpenExtPackFile(strFileAndHash);
-    }
-    if (!comManager.isOk())
-    {
-        msgCenter().cannotOpenExtPack(strFilePath, comManager, pParent);
-        return;
-    }
-
-    if (!comExtPackFile.GetUsable())
-    {
-        msgCenter().warnAboutBadExtPackFile(strFilePath, comExtPackFile, pParent);
-        return;
-    }
-
-    const QString strPackName = comExtPackFile.GetName();
-    const QString strPackDescription = comExtPackFile.GetDescription();
-    const QString strPackVersion = QString("%1r%2%3").arg(comExtPackFile.GetVersion()).arg(comExtPackFile.GetRevision()).arg(comExtPackFile.GetEdition());
-
-    /* Check if there is a version of the extension pack already
-     * installed on the system and let the user decide what to do about it. */
-    CExtPack comExtPackCur = comManager.Find(strPackName);
-    bool fReplaceIt = comExtPackCur.isOk();
-    if (fReplaceIt)
-    {
-        QString strPackVersionCur = QString("%1r%2%3").arg(comExtPackCur.GetVersion()).arg(comExtPackCur.GetRevision()).arg(comExtPackCur.GetEdition());
-        if (!msgCenter().confirmReplaceExtensionPack(strPackName, strPackVersion, strPackVersionCur, strPackDescription, pParent))
-            return;
-    }
-    /* If it's a new package just ask for general confirmation. */
-    else
-    {
-        if (!msgCenter().confirmInstallExtensionPack(strPackName, strPackVersion, strPackDescription, pParent))
-            return;
-    }
-
-    /* Display the license dialog if required by the extension pack. */
-    if (comExtPackFile.GetShowLicense())
-    {
-        QString strLicense = comExtPackFile.GetLicense();
-        VBoxLicenseViewer licenseViewer(pParent);
-        if (licenseViewer.showLicenseFromString(strLicense) != QDialog::Accepted)
-            return;
-    }
-
-    /* Install the selected package.
-     * Set the package name return value before doing
-     * this as the caller should do a refresh even on failure. */
-    QString strDisplayInfo;
-#ifdef VBOX_WS_WIN
-    if (pParent)
-        strDisplayInfo.sprintf("hwnd=%#llx", (uint64_t)(uintptr_t)pParent->winId());
-#endif
-    /* Prepare installation progress: */
-    CProgress comProgress = comExtPackFile.Install(fReplaceIt, strDisplayInfo);
-    if (comExtPackFile.isOk())
-    {
-        /* Show installation progress: */
-        /** @todo move this tr into UIUpdateManager context */
-        msgCenter().showModalProgressDialog(comProgress, QApplication::translate("UIGlobalSettingsExtension",
-                                                                              "Extensions"),
-                                            ":/progress_install_guest_additions_90px.png", pParent);
-        if (!comProgress.GetCanceled())
-        {
-            if (comProgress.isOk() && comProgress.GetResultCode() == 0)
-                msgCenter().warnAboutExtPackInstalled(strPackName, pParent);
-            else
-                msgCenter().cannotInstallExtPack(comProgress, strFilePath, pParent);
-        }
-    }
-    else
-        msgCenter().cannotInstallExtPack(comExtPackFile, strFilePath, pParent);
-
-    if (pstrExtPackName)
-        *pstrExtPackName = strPackName;
-}
-
 void UIUpdateManager::sltForceCheck()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.h	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.h	(revision 71461)
@@ -45,14 +45,4 @@
     static UIUpdateManager *instance() { return s_pInstance; }
 
-    /** Initiates the extension pack installation process.
-      * @param  strFilePath      Brings the extension pack file path.
-      * @param  strDigest        Brings the extension pack file digest.
-      * @param  pParent          Brings the parent dialog reference.
-      * @param  pstrExtPackName  Brings the extension pack name. */
-    static void doExtPackInstallation(QString const &strFilePath,
-                                      QString const &strDigest,
-                                      QWidget *pParent,
-                                      QString *pstrExtPackName);
-
 public slots:
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 71461)
@@ -36,5 +36,4 @@
 # include "UIExtraDataManager.h"
 # include "UIGChooser.h"
-# include "UIUpdateManager.h"
 # include "UIHostNetworkManager.h"
 # include "UIMedium.h"
@@ -402,5 +401,5 @@
                 vboxGlobal().setEPInstallationRequested(true);
                 /* Propose the user to install EP described by the arguments @a list. */
-                UIUpdateManager::doExtPackInstallation(strFile, QString(), this, NULL);
+                VBoxGlobal::doExtPackInstallation(strFile, QString(), this, NULL);
                 /* Allow update manager to propose us to update EP: */
                 vboxGlobal().setEPInstallationRequested(false);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp	(revision 71460)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp	(revision 71461)
@@ -30,5 +30,4 @@
 # include "UIIconPool.h"
 # include "UIMessageCenter.h"
-# include "UIUpdateManager.h"
 
 /* COM includes: */
@@ -308,5 +307,5 @@
     {
         QString strExtPackName;
-        UIUpdateManager::doExtPackInstallation(strFilePath, QString(), this, &strExtPackName);
+        VBoxGlobal::doExtPackInstallation(strFilePath, QString(), this, &strExtPackName);
 
         /* Since we might be reinstalling an existing package, we have to
