Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 87251)
@@ -114,5 +114,4 @@
 	$(if $(VBOX_WITH_NETFLT)$(eq $(KBUILD_TARGET),freebsd),VBOX_WITH_NETFLT) \
 	$(if $(VBOX_WITH_VDE),VBOX_WITH_VDE) \
-	$(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK) \
 	$(if $(VBOX_WITH_HARDENING),VBOXR3_HARDENED_DLL) \
 	$(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP) \
@@ -172,5 +171,4 @@
 	$(if $(VBOX_WITH_NETFLT)$(eq $(KBUILD_TARGET),freebsd),VBOX_WITH_NETFLT) \
 	$(if $(VBOX_WITH_VDE),VBOX_WITH_VDE) \
-	$(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK) \
 	$(if $(VBOX_WITH_HARDENING),VBOXR3_HARDENED_DLL) \
 	$(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP) \
@@ -225,5 +223,4 @@
 	$(if $(VBOX_WITH_VDE),VBOX_WITH_VDE) \
 	$(if $(VBOX_WITH_KCHMVIEWER),VBOX_WITH_KCHMVIEWER) \
-	$(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK) \
 	$(if $(VBOX_WITH_HARDENING),VBOXR3_HARDENED_DLL) \
 	$(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP) \
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolRuntime.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolRuntime.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolRuntime.cpp	(revision 87251)
@@ -3444,11 +3444,6 @@
 
     /* Recache extension-pack related action restrictions: */
-#ifdef VBOX_WITH_EXTPACK
-    CExtPack extPack = uiCommon().virtualBox().GetExtensionPackManager().Find(GUI_ExtPackName);
-#else
-    CExtPack extPack;
-#endif
-    bool fExtensionPackOperationsAllowed = !extPack.isNull() && extPack.GetUsable();
-    if (!fExtensionPackOperationsAllowed)
+    CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+    if (!extPackManager.isNull() && !extPackManager.IsExtPackUsable(GUI_ExtPackName))
     {
         m_restrictedActionsMenuView[UIActionRestrictionLevel_Base] = (UIExtraDataMetaDefs::RuntimeMenuViewActionType)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 87251)
@@ -3657,17 +3657,20 @@
                                        QWidget *pParent, QString *pstrExtPackName) const
 {
+    /* If the extension pack manager isn't available, skip any attempts to install: */
+    CExtPackManager extPackManager = virtualBox().GetExtensionPackManager();
+    if (extPackManager.isNull())
+        return;
     /* Open the extpack tarball via IExtPackManager: */
-    CExtPackManager comManager = virtualBox().GetExtensionPackManager();
     CExtPackFile comExtPackFile;
     if (strDigest.isEmpty())
-        comExtPackFile = comManager.OpenExtPackFile(strFilePath);
+        comExtPackFile = extPackManager.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);
+        comExtPackFile = extPackManager.OpenExtPackFile(strFileAndHash);
+    }
+    if (!extPackManager.isOk())
+    {
+        msgCenter().cannotOpenExtPack(strFilePath, extPackManager, pParent);
         return;
     }
@@ -3685,5 +3688,5 @@
     /* 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);
+    CExtPack comExtPackCur = extPackManager.Find(strPackName);
     bool fReplaceIt = comExtPackCur.isOk();
     if (fReplaceIt)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateManager.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateManager.cpp	(revision 87251)
@@ -409,6 +409,15 @@
     }
 
+    /* Get extension pack manager: */
+    CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+    /* Return if extension pack manager is NOT available: */
+    if (extPackManager.isNull())
+    {
+        emit sigStepComplete();
+        return;
+    }
+
     /* Get extension pack: */
-    CExtPack extPack = uiCommon().virtualBox().GetExtensionPackManager().Find(GUI_ExtPackName);
+    CExtPack extPack = extPackManager.Find(GUI_ExtPackName);
     /* Return if extension pack is NOT installed: */
     if (extPack.isNull())
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 87251)
@@ -55,4 +55,5 @@
 
 /* COM includes: */
+#include "CExtPackManager.h"
 #include "CGraphicsAdapter.h"
 #include "CUSBController.h"
@@ -325,4 +326,6 @@
             break;
         }
+        case GlobalSettingsPageType_Extensions:
+            return !uiCommon().virtualBox().GetExtensionPackManager().isNull();
         default:
             break;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp	(revision 87251)
@@ -708,16 +708,17 @@
         message.first = UICommon::removeAccelMark(m_pTabWidget->tabText(1));
 
-#ifdef VBOX_WITH_EXTPACK
         /* VRDE Extension Pack presence test: */
-        CExtPack extPack = uiCommon().virtualBox().GetExtensionPackManager().Find(GUI_ExtPackName);
-        if (m_pCheckboxRemoteDisplay->isChecked() && (extPack.isNull() || !extPack.GetUsable()))
+        if (m_pCheckboxRemoteDisplay->isChecked())
         {
-            message.second << tr("Remote Display is currently enabled for this virtual machine. "
-                                 "However, this requires the <i>%1</i> to be installed. "
-                                 "Please install the Extension Pack from the VirtualBox download site as "
-                                 "otherwise your VM will be started with Remote Display disabled.")
-                                 .arg(GUI_ExtPackName);
+            CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+            if (!extPackManager.isNull() && !extPackManager.IsExtPackUsable(GUI_ExtPackName))
+            {
+                message.second << tr("Remote Display is currently enabled for this virtual machine. "
+                                    "However, this requires the <i>%1</i> to be installed. "
+                                    "Please install the Extension Pack from the VirtualBox download site as "
+                                    "otherwise your VM will be started with Remote Display disabled.")
+                                    .arg(GUI_ExtPackName);
+            }
         }
-#endif /* VBOX_WITH_EXTPACK */
 
         /* Check VRDE server port: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp	(revision 87251)
@@ -414,8 +414,7 @@
     if (m_pCheckBoxEncryption->isChecked())
     {
-#ifdef VBOX_WITH_EXTPACK
         /* Encryption Extension Pack presence test: */
-        const CExtPack extPack = uiCommon().virtualBox().GetExtensionPackManager().Find(GUI_ExtPackName);
-        if (extPack.isNull() || !extPack.GetUsable())
+        CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+        if (!extPackManager.isNull() && !extPackManager.IsExtPackUsable(GUI_ExtPackName))
         {
             message.second << tr("You are trying to enable disk encryption for this virtual machine. "
@@ -425,5 +424,4 @@
             fPass = false;
         }
-#endif /* VBOX_WITH_EXTPACK */
 
         /* Cipher should be chosen if once changed: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp	(revision 87251)
@@ -524,23 +524,23 @@
     bool fPass = true;
 
-#ifdef VBOX_WITH_EXTPACK
     /* USB 2.0/3.0 Extension Pack presence test: */
-    const CExtPack extPack = uiCommon().virtualBox().GetExtensionPackManager().Find(GUI_ExtPackName);
     if (   m_pCheckBoxUSB->isChecked()
-        && (m_pRadioButtonUSB2->isChecked() || m_pRadioButtonUSB3->isChecked())
-        && (extPack.isNull() || !extPack.GetUsable()))
-    {
-        /* Prepare message: */
-        UIValidationMessage message;
-        message.second << tr("USB 2.0/3.0 is currently enabled for this virtual machine. "
-                             "However, this requires the <i>%1</i> to be installed. "
-                             "Please install the Extension Pack from the VirtualBox download site "
-                             "or disable USB 2.0/3.0 to be able to start the machine.")
-                             .arg(GUI_ExtPackName);
-        /* Serialize message: */
-        if (!message.second.isEmpty())
-            messages << message;
-    }
-#endif /* VBOX_WITH_EXTPACK */
+        && (m_pRadioButtonUSB2->isChecked() || m_pRadioButtonUSB3->isChecked()))
+    {
+        CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+        if (!extPackManager.isNull() && !extPackManager.IsExtPackUsable(GUI_ExtPackName))
+        {
+            /* Prepare message: */
+            UIValidationMessage message;
+            message.second << tr("USB 2.0/3.0 is currently enabled for this virtual machine. "
+                                "However, this requires the <i>%1</i> to be installed. "
+                                "Please install the Extension Pack from the VirtualBox download site "
+                                "or disable USB 2.0/3.0 to be able to start the machine.")
+                                .arg(GUI_ExtPackName);
+            /* Serialize message: */
+            if (!message.second.isEmpty())
+                messages << message;
+        }
+    }
 
     /* Return result: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 87250)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVM.cpp	(revision 87251)
@@ -193,9 +193,9 @@
     {
         /* USB 3.0 is only available if the proper ExtPack is installed: */
-        CExtPackManager manager = uiCommon().virtualBox().GetExtensionPackManager();
-        if (manager.IsExtPackUsable(GUI_ExtPackName))
+        CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+        if (extPackManager.isNull() || extPackManager.IsExtPackUsable(GUI_ExtPackName))
         {
             m_machine.AddUSBController("XHCI", KUSBControllerType_XHCI);
-            /* xHci includes OHCI */
+            /* xHCI includes OHCI */
             fOhciEnabled = true;
         }
@@ -211,6 +211,6 @@
          * necessary evil to patch over legacy compatability issues
          * introduced by the new distribution model. */
-        CExtPackManager manager = uiCommon().virtualBox().GetExtensionPackManager();
-        if (manager.IsExtPackUsable(GUI_ExtPackName))
+        CExtPackManager extPackManager = uiCommon().virtualBox().GetExtensionPackManager();
+        if (extPackManager.isNull() || extPackManager.IsExtPackUsable(GUI_ExtPackName))
             m_machine.AddUSBController("EHCI", KUSBControllerType_EHCI);
     }
