Index: /trunk/src/VBox/ValidationKit/testdriver/vboxtestvms.py
===================================================================
--- /trunk/src/VBox/ValidationKit/testdriver/vboxtestvms.py	(revision 79070)
+++ /trunk/src/VBox/ValidationKit/testdriver/vboxtestvms.py	(revision 79071)
@@ -682,4 +682,22 @@
                      % (self.sVmName, uFamily,));
         return True;
+
+    def getTestUser(self):
+        """
+        Gets the primary test user name.
+        """
+        if self.isWindows():
+            return 'Administrator';
+        return 'vbox';
+
+    def getTestUserPassword(self, sUser = None):
+        """
+        Gets the password for the primary user (or other specified one).
+        """
+        if sUser == 'test':
+            return '';
+        if sUser == 'vboxuser': # Default unattended installation user and password.
+            return 'changeme';
+        return 'password';
 
     def getCom1RawFile(self, oVM):
@@ -1325,4 +1343,23 @@
         return True;
 
+    def getTestUser(self):
+        """
+        Gets the primary test user name.
+        """
+        if self.isWindows():
+            return 'Administrator';
+        return 'vbox';
+
+    def getTestUserPassword(self, sUser = None):
+        """
+        Gets the password for the primary user (or other specified one).
+        """
+        if sUser == 'test':
+            return '';
+        if sUser == 'vboxuser': # Default unattended installation user and password.
+            return 'changeme';
+        return 'password';
+
+
 
 class BootSectorTestVm(TestVm):
Index: /trunk/src/VBox/ValidationKit/tests/additions/tdAddGuestCtrl.py
===================================================================
--- /trunk/src/VBox/ValidationKit/tests/additions/tdAddGuestCtrl.py	(revision 79070)
+++ /trunk/src/VBox/ValidationKit/tests/additions/tdAddGuestCtrl.py	(revision 79071)
@@ -117,11 +117,8 @@
 
         if self.sUser is None:
-            if self.oTestVm.isWindows():
-                self.sUser = 'Administrator';
-            else:
-                self.sUser = 'vbox';
+            self.sUser = self.oTestVm.getTestUser();
 
         if self.sPassword is None:
-            self.sPassword = 'password';
+            self.sPassword = self.oTestVm.getTestUserPassword(self.sUser);
 
         if self.sDomain is None:
@@ -415,6 +412,5 @@
     Test the guest session handling.
     """
-    def __init__(self, sUser = None, sPassword = None, sDomain = None, \
-                 sSessionName = ""):
+    def __init__(self, sUser = None, sPassword = None, sDomain = None, sSessionName = ""):
         tdTestGuestCtrlBase.__init__(self);
         self.sSessionName = sSessionName;
@@ -2722,4 +2718,6 @@
         """
 
+        ## @todo r=bird: This fails on windows 7 RTM.  Just create a stupid file and delete it again,
+        #                this chord.wav stuff is utter nonsense.
         if oTestVm.isWindows():
             sFileToDelete = "c:\\Windows\\Media\\chord.wav";
@@ -2740,5 +2738,5 @@
                 # Try to delete system files.
                 [ tdTestFileRemove(sFile = 'c:\\pagefile.sys'), tdTestResult() ],
-                [ tdTestFileRemove(sFile = 'c:\\Windows\\kernel32.sys'), tdTestResult() ]
+                [ tdTestFileRemove(sFile = 'c:\\Windows\\kernel32.sys'), tdTestResult() ] ## r=bird: it's in \system32\ ...
             ]);
 
Index: /trunk/src/VBox/ValidationKit/tests/additions/tdAddSharedFolders1.py
===================================================================
--- /trunk/src/VBox/ValidationKit/tests/additions/tdAddSharedFolders1.py	(revision 79070)
+++ /trunk/src/VBox/ValidationKit/tests/additions/tdAddSharedFolders1.py	(revision 79071)
@@ -51,10 +51,13 @@
     """
 
-    def __init__(self, oTstDrv):
+    def __init__(self, oTstDrv, fUseAltFsPerfPathForWindows = False):
         base.SubTestDriverBase.__init__(self, oTstDrv, 'add-shared-folders', 'Shared Folders');
 
-        self.asTestsDef  = [ 'fsperf', ];
-        self.asTests     = self.asTestsDef;
-        self.asExtraArgs = [];
+        self.asTestsDef                     = [ 'fsperf', ];
+        self.asTests                        = self.asTestsDef;
+        self.asExtraArgs                    = [];
+        self.sGstFsPerfPath                 = '${CDROM}/vboxvalidationkit/${OS/ARCH}/FsPerf${EXESUFF}';
+        self.sGstFsPerfPathAlt              = 'C:/Apps/FsPerf${EXESUFF}';
+        self.fUseAltFsPerfPathForWindows    = fUseAltFsPerfPathForWindows;
 
     def parseOption(self, asArgs, iArg):
@@ -204,6 +207,8 @@
             asArgs.extend(self.asExtraArgs);
             reporter.log2('Starting guest FsPerf (%s)...' % (asArgs,));
-            fRc = self.oTstDrv.txsRunTest(oTxsSession, 'FsPerf', 30 * 60 * 1000,
-                                          '${CDROM}/vboxvalidationkit/${OS/ARCH}/FsPerf${EXESUFF}', asArgs);
+            sFsPerfPath = self.sGstFsPerfPath;
+            if oTestVm.isWindows() and self.fUseAltFsPerfPathForWindows: # bird: Temp hack till we get UDF cloning implemented.
+                sFsPerfPath = self.sGstFsPerfPathAlt;                    #       Helps making unattended install tests work.
+            fRc = self.oTstDrv.txsRunTest(oTxsSession, 'FsPerf', 30 * 60 * 1000, sFsPerfPath, asArgs);
             reporter.log2('FsPerf -> %s' % (fRc,));
 
Index: /trunk/src/VBox/ValidationKit/tests/installation/tdGuestOsUnattendedInst1.py
===================================================================
--- /trunk/src/VBox/ValidationKit/tests/installation/tdGuestOsUnattendedInst1.py	(revision 79070)
+++ /trunk/src/VBox/ValidationKit/tests/installation/tdGuestOsUnattendedInst1.py	(revision 79071)
@@ -276,4 +276,8 @@
         return True;
 
+    def getTestUser(self):
+        # Default unattended installation user (parent knowns its password).
+        return 'vboxuser';
+
 
     #
@@ -382,5 +386,5 @@
         # Sub-test drivers.
         #
-        self.addSubTestDriver(SubTstDrvAddSharedFolders1(self));
+        self.addSubTestDriver(SubTstDrvAddSharedFolders1(self, fUseAltFsPerfPathForWindows = True)); # !HACK ALERT! UDF cloning.
         self.addSubTestDriver(SubTstDrvAddGuestCtrl(self));
 
@@ -529,12 +533,21 @@
             reporter.testDone();
 
+            fRc = True;
+            # Kudge: GAs doesn't come up correctly, so we have to reboot the guest first:
+            #        Looks like VBoxService isn't there.
+            if oTestVm.fOptInstallAdditions:
+                reporter.testStart('Rebooting');
+                fRc, oTxsSession = self.txsRebootAndReconnectViaTcp(oSession, oTxsSession);
+                reporter.testDone();
+
             # If we're installing GAs, wait for them to come online:
-            fRc = True;
-            if oTestVm.fOptInstallAdditions:
+            if oTestVm.fOptInstallAdditions and fRc is True:
                 reporter.testStart('Guest additions');
                 aenmRunLevels = [vboxcon.AdditionsRunLevelType_Userland,];
                 if oTestVm.isLoggedOntoDesktop():
                     aenmRunLevels.append(vboxcon.AdditionsRunLevelType_Desktop);
-                fRc = self.waitForGAs(oSession, cMsTimeout = cMsTimeout / 2, aenmWaitForRunLevels = aenmRunLevels);
+                fRc = self.waitForGAs(oSession, cMsTimeout = cMsTimeout / 2, aenmWaitForRunLevels = aenmRunLevels,
+                                      aenmWaitForActive = (vboxcon.AdditionsFacilityType_VBoxGuestDriver,
+                                                           vboxcon.AdditionsFacilityType_VBoxService,));
                 reporter.testDone();
 
