Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 68054)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 68055)
@@ -1022,17 +1022,17 @@
 
     if (fCategory & USAGE_UNATTENDEDINSTALL)
-        RTStrmPrintf(pStrm,
+        RTStrmPrintf(pStrm, /* This will be replaced by a docbook man page. */
                            "%s unattended %s      <uuid|vmname>\n"
-                     "                            --settings-file <file>\n"
-                     "                            [--session-type <type>]\n"
+                     "         <OUTDATED-TODO>    --settings-file <file>\n"
+                     "         <OUTDATED-TODO>    [--session-type <type>]\n"
                            "%s unattended %s      <uuid|vmname>\n"
-                     "                            --user <user>\n"
-                     "                            --password <password>\n"
-                     "                            --iso-path <path>\n"
-                     "                            [--key <CD-key>]\n"
-                     "                            [--additions-iso-path <path>]\n"
-                     "                            [--install-additions]\n"
-                     "                            [--image-index <index>]\n"
-                     "                            [--session-type <type>]\n"
+                     "         <OUTDATED-TODO>    --user <user>\n"
+                     "         <OUTDATED-TODO>    --password <password>\n"
+                     "         <OUTDATED-TODO>    --iso-path <path>\n"
+                     "         <OUTDATED-TODO>    [--key <CD-key>]\n"
+                     "         <OUTDATED-TODO>    [--additions-iso-path <path>]\n"
+                     "         <OUTDATED-TODO>    [--install-additions]\n"
+                     "         <OUTDATED-TODO>    [--image-index <index>]\n"
+                     "         <OUTDATED-TODO>    [--session-type <type>]\n"
                      "\n", SEP, SEP);
 
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp	(revision 68054)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp	(revision 68055)
@@ -42,4 +42,5 @@
 #include <iprt/param.h>
 #include <iprt/path.h>
+#include <iprt/cpp/path.h>
 #include <iprt/stream.h>
 #include <iprt/string.h>
@@ -1272,17 +1273,27 @@
      * Options.
      */
-    const char *pszIsoPath           = NULL;
-    const char *pszUser              = NULL;
-    const char *pszPassword          = NULL;
-    const char *pszFullUserName      = NULL;
-    const char *pszProductKey        = NULL;
-    const char *pszAdditionsIsoPath  = NULL;
-    int         fInstallAdditions    = -1;
-    const char *pszAuxiliaryBasePath = NULL;
-    const char *pszMachineName       = NULL;
-    const char *pszSettingsFile      = NULL;
-    bool        fSetImageIdx         = false;
-    uint32_t    idxImage             = 0;
-    const char *pszSessionType       = "headless";
+    Utf8Str     strAbsIsoPath;
+    const char *pszIsoPath              = NULL;
+    const char *pszUser                 = NULL;
+    const char *pszPassword             = NULL;
+    const char *pszFullUserName         = NULL;
+    const char *pszProductKey           = NULL;
+    Utf8Str     strAbsAdditionsIsoPath;
+    const char *pszAdditionsIsoPath     = NULL;
+    int         fInstallAdditions       = -1;
+    Utf8Str     strAbsValidationKitIsoPath;
+    const char *pszValidationKitIsoPath = NULL;
+    int         fInstallTxs             = -1;
+    const char *pszMachineName          = NULL;
+    Utf8Str     strAbsSettingsFile;
+    const char *pszSettingsFile         = NULL;
+    bool        fSetImageIdx            = false;
+    uint32_t    idxImage                = 0;
+    const char *pszPostInstallCommand   = NULL;
+    Utf8Str     strAbsAuxiliaryBasePath;
+    const char *pszAuxiliaryBasePath    = NULL;
+    Utf8Str     strAbsScriptTemplatePath;
+    const char *pszScriptTemplatePath   = NULL;
+    const char *pszSessionType          = "headless";
 
     /*
@@ -1294,16 +1305,21 @@
     static const RTGETOPTDEF s_aOptions[] =
     {
-        { "--iso-path",             'i', RTGETOPT_REQ_STRING },
-        { "--user",                 'u', RTGETOPT_REQ_STRING },
-        { "--password",             'p', RTGETOPT_REQ_STRING },
-        { "--full-user-name",       'U', RTGETOPT_REQ_STRING },
-        { "--key",                  'k', RTGETOPT_REQ_STRING },
-        { "--install-additions",    'A', RTGETOPT_REQ_NOTHING },
-        { "--no-install-additions", 'N', RTGETOPT_REQ_NOTHING },
-        { "--additions-iso-path",   'a', RTGETOPT_REQ_STRING },
-        { "--auxiliary-base-path",  'x', RTGETOPT_REQ_STRING },
-        { "--image-index",          'm', RTGETOPT_REQ_UINT32 },
-        { "--settings-file",        's', RTGETOPT_REQ_STRING },
-        { "--session-type",         'S', RTGETOPT_REQ_STRING },
+        { "--iso",                      'i', RTGETOPT_REQ_STRING },
+        { "--user",                     'u', RTGETOPT_REQ_STRING },
+        { "--password",                 'p', RTGETOPT_REQ_STRING },
+        { "--full-user-name",           'U', RTGETOPT_REQ_STRING },
+        { "--key",                      'k', RTGETOPT_REQ_STRING },
+        { "--install-additions",        'A', RTGETOPT_REQ_NOTHING },
+        { "--no-install-additions",     'N', RTGETOPT_REQ_NOTHING },
+        { "--additions-iso",            'a', RTGETOPT_REQ_STRING },
+        { "--install-txs",              't', RTGETOPT_REQ_NOTHING },
+        { "--no-install-txs",           'T', RTGETOPT_REQ_NOTHING },
+        { "--validation-kit-iso",       'K', RTGETOPT_REQ_STRING },
+        { "--auxiliary-base-path",      'x', RTGETOPT_REQ_STRING },
+        { "--image-index",              'm', RTGETOPT_REQ_UINT32 },
+        { "--script-template",          'c', RTGETOPT_REQ_STRING },
+        { "--post-install-command",     'P', RTGETOPT_REQ_STRING },
+        { "--settings-file",            's', RTGETOPT_REQ_STRING },
+        { "--session-type",             'S', RTGETOPT_REQ_STRING },
     };
 
@@ -1327,5 +1343,15 @@
 
             case 's':   // --settings-file <key value file>
-                pszSettingsFile = ValueUnion.psz;
+                vrc = RTPathAbsCxx(strAbsSettingsFile, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszSettingsFile = strAbsSettingsFile.c_str();
+                break;
+
+            case 'i':   // --iso
+                vrc = RTPathAbsCxx(strAbsIsoPath, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszIsoPath = strAbsIsoPath.c_str();
                 break;
 
@@ -1352,14 +1378,29 @@
                 fInstallAdditions = false;
                 break;
-            case 'a':   // --additions-iso-path
-                pszAdditionsIsoPath = ValueUnion.psz;
-                break;
-
-            case 'i':   // --iso-path
-                pszIsoPath = ValueUnion.psz;
+            case 'a':   // --additions-iso
+                vrc = RTPathAbsCxx(strAbsAdditionsIsoPath, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszAdditionsIsoPath = strAbsAdditionsIsoPath.c_str();
+                break;
+
+            case 't':   // --install-txs
+                fInstallTxs = true;
+                break;
+            case 'T':   // --no-install-txs
+                fInstallTxs = false;
+                break;
+            case 'K':   // --valiation-kit-iso
+                vrc = RTPathAbsCxx(strAbsValidationKitIsoPath, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszValidationKitIsoPath = strAbsValidationKitIsoPath.c_str();
                 break;
 
             case 'x':  // --auxiliary-base-path
-                pszAuxiliaryBasePath = ValueUnion.psz;
+                vrc = RTPathAbsCxx(strAbsAuxiliaryBasePath, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszAuxiliaryBasePath = strAbsAuxiliaryBasePath.c_str();
                 break;
 
@@ -1367,4 +1408,15 @@
                 idxImage = ValueUnion.u32;
                 fSetImageIdx = true;
+                break;
+
+            case 'c':  // --script-template
+                vrc = RTPathAbsCxx(strAbsScriptTemplatePath, ValueUnion.psz);
+                if (RT_FAILURE(vrc))
+                    return errorSyntax(USAGE_UNATTENDEDINSTALL, "RTPathAbsCxx failed on '%s': %Rrc", ValueUnion.psz, vrc);
+                pszScriptTemplatePath = strAbsScriptTemplatePath.c_str();
+                break;
+
+            case 'P':   // --post-install-command.
+                pszPostInstallCommand = ValueUnion.psz;
                 break;
 
@@ -1385,5 +1437,5 @@
 
     if (!pszSettingsFile && !pszIsoPath)
-        return errorSyntax(USAGE_UNATTENDEDINSTALL, "Missing required --iso-path (or --settings-file) option");
+        return errorSyntax(USAGE_UNATTENDEDINSTALL, "Missing required --iso (or --settings-file) option");
 
     /*
@@ -1452,6 +1504,14 @@
             if (fInstallAdditions >= 0)
                 CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(InstallGuestAdditions)(fInstallAdditions != (int)false));
+            if (pszValidationKitIsoPath)
+                CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(ValidationKitIsoPath)(Bstr(pszValidationKitIsoPath).raw()));
+            if (fInstallTxs >= 0)
+                CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(InstallTestExecService)(fInstallTxs != (int)false));
             if (fSetImageIdx)
                 CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(ImageIndex)(idxImage));
+            if (pszScriptTemplatePath)
+                CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(ScriptTemplatePath)(Bstr(pszScriptTemplatePath).raw()));
+            if (pszPostInstallCommand)
+                CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(PostInstallCommand)(Bstr(pszPostInstallCommand).raw()));
             if (pszAuxiliaryBasePath)
                 CHECK_ERROR_BREAK(ptrUnattended, COMSETTER(AuxiliaryBasePath)(Bstr(pszAuxiliaryBasePath).raw()));
