Index: trunk/src/VBox/Main/include/ExtPackManagerImpl.h
===================================================================
--- trunk/src/VBox/Main/include/ExtPackManagerImpl.h	(revision 37831)
+++ trunk/src/VBox/Main/include/ExtPackManagerImpl.h	(revision 37843)
@@ -227,4 +227,5 @@
     HRESULT     getDefaultVrdeExtPack(Utf8Str *a_pstrExtPack);
     bool        isExtPackUsable(const char *a_pszExtPack);
+    void        dumpAllToReleaseLog(void);
     /** @}  */
 
Index: trunk/src/VBox/Main/include/ExtPackUtil.h
===================================================================
--- trunk/src/VBox/Main/include/ExtPackUtil.h	(revision 37831)
+++ trunk/src/VBox/Main/include/ExtPackUtil.h	(revision 37843)
@@ -85,15 +85,15 @@
 {
     /** The name. */
-    RTCString        strName;
+    RTCString               strName;
     /** The description. */
-    RTCString        strDescription;
+    RTCString               strDescription;
     /** The version string. */
-    RTCString        strVersion;
+    RTCString               strVersion;
     /** The internal revision number. */
     uint32_t                uRevision;
     /** The name of the main module. */
-    RTCString        strMainModule;
+    RTCString               strMainModule;
     /** The name of the VRDE module, empty if none. */
-    RTCString        strVrdeModule;
+    RTCString               strVrdeModule;
     /** The number of plug-in descriptors. */
     uint32_t                cPlugIns;
Index: trunk/src/VBox/Main/src-all/ExtPackManagerImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-all/ExtPackManagerImpl.cpp	(revision 37831)
+++ trunk/src/VBox/Main/src-all/ExtPackManagerImpl.cpp	(revision 37843)
@@ -3032,3 +3032,44 @@
 }
 
+/**
+ * Dumps all extension packs to the release log.
+ */
+void ExtPackManager::dumpAllToReleaseLog(void)
+{
+    AutoCaller autoCaller(this);
+    HRESULT hrc = autoCaller.rc();
+    if (FAILED(hrc))
+        return;
+    AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
+
+    LogRel(("Installed Extension Packs:\n"));
+    for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
+         it != m->llInstalledExtPacks.end();
+         it++)
+    {
+        ExtPack::Data *pExtPackData = (*it)->m;
+        if (pExtPackData)
+        {
+            if (pExtPackData->fUsable)
+                LogRel(("  %s (Version: %s r%u; VRDE Module: %s)\n",
+                        pExtPackData->Desc.strName.c_str(),
+                        pExtPackData->Desc.strVersion.c_str(),
+                        pExtPackData->Desc.uRevision,
+                        pExtPackData->Desc.strVrdeModule.c_str() ));
+            else
+                LogRel(("  %s (Version: %s r%u; VRDE Module: %s unusable because of '%s')\n",
+                        pExtPackData->Desc.strName.c_str(),
+                        pExtPackData->Desc.strVersion.c_str(),
+                        pExtPackData->Desc.uRevision,
+                        pExtPackData->Desc.strVrdeModule.c_str(),
+                        pExtPackData->strWhyUnusable.c_str() ));
+        }
+        else
+            LogRel(("  pExtPackData is NULL\n"));
+    }
+
+    if (!m->llInstalledExtPacks.size())
+        LogRel(("  None installed!\n"));
+}
+
 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
Index: trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
===================================================================
--- trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 37831)
+++ trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 37843)
@@ -6404,42 +6404,5 @@
         if (FAILED(rc))
             throw rc;
-
-#if 0
-        LogRel(("Installed Extension Packs:\n"));
-        com::SafeIfaceArray<IExtPack> extPacks;
-        HRESULT rc2 = mptrExtPackManager->COMGETTER(InstalledExtPacks)(ComSafeArrayAsOutParam(extPacks));
-        if (SUCCEEDED(rc2))
-        {
-            for (size_t i = 0; i < extPacks.size(); i++)
-            {
-                /* Read all the properties. */
-                Bstr    bstrName;
-                rc2 = extPacks[i]->COMGETTER(Name)(bstrName.asOutParam());
-                Bstr    bstrVersion;
-                rc2 = extPacks[i]->COMGETTER(Version)(bstrVersion.asOutParam());
-                ULONG   uRevision = 0;
-                rc2 = extPacks[i]->COMGETTER(Revision)(&uRevision);
-                Bstr    bstrVrdeModule;
-                rc2 = extPacks[i]->COMGETTER(VRDEModule)(bstrVrdeModule.asOutParam());
-                BOOL    fUsable;
-                rc2 = extPacks[i]->COMGETTER(Usable)(&fUsable);
-                Bstr    bstrWhy;
-                rc2 = extPacks[i]->COMGETTER(WhyUnusable)(bstrWhy.asOutParam());
-
-                /* Display them. */
-                if (i)
-                    LogRel(("\n"));
-                LogRel(("  %lS (Version: %lS r%u; VRDE Module: %lS",
-                        bstrName.raw(), bstrVersion.raw(), uRevision, bstrVrdeModule.raw()));
-                if (!fUsable)
-                    LogRel(("; unusable because of '%s'", bstrWhy.raw()));
-                LogRel((")\n"));
-            }
-            if (!extPacks.size())
-                LogRel(("  None inststalled!\n"));
-        }
-        else
-            LogRel(("  Cannot retrieve this information (%Rhrc)!\n", rc2));
-#endif
+        mptrExtPackManager->dumpAllToReleaseLog();
 
 #ifdef RT_OS_SOLARIS
