Index: /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecService.cpp
===================================================================
--- /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecService.cpp	(revision 70487)
+++ /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecService.cpp	(revision 70488)
@@ -58,8 +58,5 @@
 #include <iprt/time.h>
 #include <iprt/uuid.h>
-
-#ifndef RT_OS_WINDOWS
-# include <iprt/zip.h>
-#endif
+#include <iprt/zip.h>
 
 #include "TestExecServiceInternal.h"
@@ -198,4 +195,7 @@
  * @todo implement signals and stuff.  */
 static bool volatile        g_fTerminate = false;
+/** Verbosity level. */
+uint32_t                    g_cVerbose = 1;
+
 
 /**
@@ -742,5 +742,4 @@
 }
 
-#ifndef RT_OS_WINDOWS
 /**
  * Unpacks a tar file.
@@ -797,5 +796,4 @@
     return rc;
 }
-#endif
 
 /**
@@ -2763,4 +2761,6 @@
 static RTEXITCODE txsMainLoop(void)
 {
+    if (g_cVerbose > 0)
+        RTMsgInfo("txsMainLoop: start...\n");
     RTEXITCODE enmExitCode = RTEXITCODE_SUCCESS;
     while (!g_fTerminate)
@@ -2773,4 +2773,6 @@
         if (RT_FAILURE(rc))
             continue;
+        if (g_cVerbose > 0)
+            RTMsgInfo("txsMainLoop: CMD: %.8s...", pPktHdr->achOpcode);
 
         /*
@@ -2834,15 +2836,17 @@
         else if (txsIsSameOpcode(pPktHdr, "GET FILE"))
             rc = txsDoGetFile(pPktHdr);
-#ifndef RT_OS_WINDOWS
         else if (txsIsSameOpcode(pPktHdr, "UNPKFILE"))
             rc = txsDoUnpackFile(pPktHdr);
-#endif
         /* Misc: */
         else
             rc = txsReplyUnknown(pPktHdr);
 
+        if (g_cVerbose > 0)
+            RTMsgInfo("txsMainLoop: CMD: %.8s -> %Rrc", pPktHdr->achOpcode, rc);
         RTMemFree(pPktHdr);
     }
 
+    if (g_cVerbose > 0)
+        RTMsgInfo("txsMainLoop: end\n");
     return enmExitCode;
 }
@@ -2896,4 +2900,7 @@
 static RTEXITCODE txsAutoUpdateStage2(int argc, char **argv, bool *pfExit, const char *pszUpgrading)
 {
+    if (g_cVerbose > 0)
+        RTMsgInfo("Auto update stage 2...");
+
     /*
      * Copy the current executable onto the original.
@@ -2980,4 +2987,7 @@
 static RTEXITCODE txsAutoUpdateStage1(int argc, char **argv, uint32_t cSecsCdWait, bool *pfExit)
 {
+    if (g_cVerbose > 1)
+        RTMsgInfo("Auto update stage 1...");
+
     /*
      * Figure names of the current service image and the potential upgrade.
@@ -3022,5 +3032,9 @@
         uint64_t cNsElapsed = RTTimeNanoTS() - nsStart;
         if (cNsElapsed >= cSecsCdWait * RT_NS_1SEC_64)
+        {
+            if (g_cVerbose > 0)
+                RTMsgInfo("Auto update: Giving up waiting for media.");
             return RTEXITCODE_SUCCESS;
+        }
         RTThreadSleep(500);
     }
@@ -3063,4 +3077,6 @@
         {
             RTFileReadAllFree(pvUpgrade, cbUpgrade);
+            if (g_cVerbose > 0)
+                RTMsgInfo("Auto update: Not necessary.");
             return RTEXITCODE_SUCCESS;
         }
@@ -3302,4 +3318,6 @@
         { "--foreground",       'f', RTGETOPT_REQ_NOTHING },
         { "--daemonized",       'Z', RTGETOPT_REQ_NOTHING },
+        { "--quiet",            'q', RTGETOPT_REQ_NOTHING },
+        { "--verbose",          'v', RTGETOPT_REQ_NOTHING },
     };
 
@@ -3391,4 +3409,12 @@
             case 'w':
                 cSecsCdWait = Val.u32;
+                break;
+
+            case 'q':
+                g_cVerbose = 0;
+                break;
+
+            case 'v':
+                g_cVerbose++;
                 break;
 
@@ -3448,4 +3474,6 @@
     if (fDaemonize && !*pfExit)
     {
+        if (g_cVerbose > 0)
+            RTMsgInfo("Daemonizing...");
         rc = RTProcDaemonize(argv, "--daemonized");
         if (RT_FAILURE(rc))
@@ -3482,4 +3510,6 @@
     if (RT_FAILURE(rc))
         return RTMsgErrorExit(RTEXITCODE_FAILURE, "RTUuidCreate failed: %Rrc", rc);
+    if (g_cVerbose > 0)
+        RTMsgInfo("Instance UUID: %RTuuid", &g_InstanceUuid);
 
     /*
Index: /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecServiceInternal.h
===================================================================
--- /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecServiceInternal.h	(revision 70487)
+++ /trunk/src/VBox/ValidationKit/utils/TestExecServ/TestExecServiceInternal.h	(revision 70488)
@@ -212,4 +212,6 @@
 extern TXSTRANSPORT const g_TestDevTransport;
 
+extern uint32_t           g_cVerbose;
+
 RT_C_DECLS_END
 
