Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp	(revision 39793)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp	(revision 39794)
@@ -1019,5 +1019,5 @@
     {
         *ppszTranslated = RTStrDup(szTranslated);
-#ifdef DEBUG
+#if 0
         RTPrintf("Root: %s, Source: %s, Dest: %s, Translated: %s\n",
                  pszSourceRoot, pszSource, pszDest, *ppszTranslated);
@@ -1319,6 +1319,9 @@
     else
     {
-        rc = showProgress(progress);
-        CHECK_PROGRESS_ERROR(progress, ("File copy failed"));
+        if (pContext->fVerbose)
+        {
+            rc = showProgress(progress);
+            CHECK_PROGRESS_ERROR(progress, ("File copy failed"));
+        }
         if (FAILED(rc))
             vrc = ctrlPrintError(pContext->pGuest, COM_IIDOF(IGuest));
@@ -1557,4 +1560,6 @@
                 case GuestDirEntryType_Directory:
                 {
+                    Assert(!strName.isEmpty());
+
                     /* Skip "." and ".." entries. */
                     if (   !strName.compare(Bstr("."))
@@ -1603,4 +1608,6 @@
                 case GuestDirEntryType_File:
                 {
+                    Assert(!strName.isEmpty());
+
                     Utf8Str strFile(strName);
                     if (   pszFilter
@@ -1650,4 +1657,6 @@
 
                 default:
+                    RTPrintf("Warning: Directory entry of type %ld not handled, skipping ...\n",
+                             enmType);
                     break;
             }
@@ -1657,8 +1666,23 @@
         }
 
-        if (FAILED(hr))
-        {
-            if (hr != E_ABORT)
-                rc = ctrlPrintError(pContext->pGuest, COM_IIDOF(IGuest));
+        if (RT_UNLIKELY(FAILED(hr)))
+        {
+            switch (hr)
+            {
+                case E_ABORT: /* No more directory entries left to process. */
+                    break;
+
+                case VBOX_E_FILE_ERROR: /* Current entry cannot be accessed to
+                                           to missing rights. */
+                {
+                    RTPrintf("Warning: Cannot access \"%s\", skipping ...\n",
+                             szCurDir);
+                    break;
+                }
+
+                default:
+                    rc = ctrlPrintError(pContext->pGuest, COM_IIDOF(IGuest));
+                    break;
+            }
         }
 
@@ -2345,6 +2369,9 @@
         else
         {
-            rc = showProgress(progress);
-            CHECK_PROGRESS_ERROR(progress, ("Guest additions update failed"));
+            if (fVerbose)
+            {
+                rc = showProgress(progress);
+                CHECK_PROGRESS_ERROR(progress, ("Guest additions update failed"));
+            }
             if (FAILED(rc))
                 vrc = ctrlPrintError(guest, COM_IIDOF(IGuest));
