Index: /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py
===================================================================
--- /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py	(revision 65317)
+++ /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py	(revision 65318)
@@ -694,5 +694,6 @@
         # We do the reason management just like for BSODs.
         #
-        cRelevantOnes = 0;
+        cRelevantOnes   = 0;
+        sMainLog        = oCaseFile.getMainLog();
         aoFailedResults = oCaseFile.oTree.getListOfFailures();
         for oFailedResult in aoFailedResults:
@@ -700,10 +701,15 @@
                 self.vprint('TODO: toplevel failure');
                 cRelevantOnes += 1
+
             elif oFailedResult.sName == 'Installing VirtualBox':
-                self.vprint('TODO: Installation failure');
+                sResultLog = TestSetData.extractLogSectionElapsed(sMainLog, oFailedResult.tsCreated, oFailedResult.tsElapsed);
+                self.investigateInstallUninstallFailure(oCaseFile, oFailedResult, sResultLog, fInstall = True)
                 cRelevantOnes += 1
+
             elif oFailedResult.sName == 'Uninstalling VirtualBox':
-                self.vprint('TODO: Uninstallation failure');
+                sResultLog = TestSetData.extractLogSectionElapsed(sMainLog, oFailedResult.tsCreated, oFailedResult.tsElapsed);
+                self.investigateInstallUninstallFailure(oCaseFile, oFailedResult, sResultLog, fInstall = False)
                 cRelevantOnes += 1
+
             elif oFailedResult.oParent is not None:
                 # Get the 2nd level node because that's where we'll find the unit test name.
