Index: /trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh	(revision 60525)
+++ /trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh	(revision 60526)
@@ -574,9 +574,7 @@
 
   ; Does the guest have a DLL cache?
-  ${If}   $g_strWinVersion == "Vista"
-  ${OrIf} $g_strWinVersion == "7"
-  ${OrIf} $g_strWinVersion == "8"
-  ${OrIf} $g_strWinVersion == "8_1"
-  ${OrIf} $g_strWinVersion == "10"
+  ${If}   $g_strWinVersion == "NT4"
+  ${OrIf} $g_strWinVersion == "2000"
+  ${OrIf} $g_strWinVersion == "XP"
     StrCpy $g_bCapDllCache "true"
     ${LogVerbose}  "OS has a DLL cache"
@@ -890,18 +888,22 @@
   ${EndIf}
 
-  ${If} ${FileExists} "$g_strSystemDir\takeown.exe"
-    ${CmdExecute} "$\"$g_strSystemDir\takeown.exe$\" /F $\"$0$\"" "true"
-  ${Else}
-    ${LogVerbose} "WRP: Warning: takeown.exe not found, skipping"
-  ${EndIf}
-
-  AccessControl::SetFileOwner "$0" "(S-1-5-32-545)"
-  Pop $1
-  ${LogVerbose} "WRP: Setting file owner for $\"$0$\" returned: $1"
-
-  AccessControl::GrantOnFile "$0" "(S-1-5-32-545)" "FullAccess"
-  Pop $1
-  ${LogVerbose} "WRP: Setting access rights for $\"$0$\" returned: $1"
-
+  ${Switch} $g_strWinVersion
+    ${Case} "NT4"
+    ${Case} "2000"
+    ${Case} "XP"
+      ${LogVerbose} "WRP: changing ownership or permissions is not required on NT4, 2000, XP."
+    ${Break}
+    ${Default}
+      ${CmdExecute} "$\"$g_strSystemDir\takeown.exe$\" /A /F $\"$0$\"" "true"
+      Pop $1
+      ${LogVerbose} "WRP: Changing ownership for $\"$0$\" returned: $1"
+    
+      ${CmdExecute} "icacls.exe $\"$0$\" /grant *S-1-5-32-544:F" "true"
+      Pop $1
+      ${LogVerbose} "WRP: Changing DACL for $\"$0$\" returned: $1"
+    
+      Sleep 1000 ; TrustedInstaller needs some time to forget about the file
+  ${EndSwitch}
+  
 !if $%VBOX_WITH_GUEST_INSTALL_HELPER% == "1"
   !ifdef WFP_FILE_EXCEPTION
Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/Makefile.kmk	(revision 60525)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/Makefile.kmk	(revision 60526)
@@ -68,5 +68,5 @@
 ifdef VBOX_WITH_WDDM
  VBoxTray_DEFS   += VBOX_WITH_WDDM
- # VBoxTray_DEFS   += LOG_ENABLED
+ VBoxTray_DEFS   += LOG_ENABLED
  VBoxTray_SOURCES += ../Graphics/Video/disp/wddm/VBoxDispKmt.cpp
 endif
Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 60525)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 60526)
@@ -35,8 +35,8 @@
 #else
 #define WARN(_m) do { \
-            Log(_m); \
+            LogRel(_m); \
         } while (0)
 #define WARN_FUNC(_m) do { \
-            LogFunc(_m); \
+            LogRelFunc(_m); \
         } while (0)
 #endif
@@ -1314,4 +1314,5 @@
 static DWORD vboxDispIfUpdateModesWDDM(VBOXDISPIF_OP *pOp, uint32_t u32TargetId, const RTRECTSIZE *pSize)
 {
+	LogRel(("VBoxTray: vboxDispIfUpdateModesWDDM Enter, u32TargetId %d\n", u32TargetId));
     DWORD winEr = ERROR_SUCCESS;
     VBOXDISPIFESCAPE_UPDATEMODES EscData = {0};
@@ -1399,5 +1400,5 @@
     DWORD winEr = NO_ERROR;
 
-    Log(("VBoxTray: vboxDispIfResizeModesWDDM iChanged %d cDevModes %d\n", iChangedMode, cDevModes));
+    LogRel(("VBoxTray: vboxDispIfResizeModesWDDM fEnable %d, iChanged %d, cDevModes %d\n", fEnable, iChangedMode, cDevModes));
     VBoxRrRetryStop();
 
@@ -1437,5 +1438,5 @@
 
     NTSTATUS Status = Op.pIf->modeData.wddm.KmtCallbacks.pfnD3DKMTInvalidateActiveVidPn(&DdiData);
-    LogFunc(("InvalidateActiveVidPn 0x%08x\n", Status));
+    LogRel(("VBoxTray: InvalidateActiveVidPn cElements %d, returns 0x%08x\n", cElements, Status));
 
     /* Resize displays always to keep the display layout because
@@ -1452,5 +1453,7 @@
             winEr = vboxDispIfUpdateModesWDDM(&Op, iChangedMode, &Size);
             if (winEr != NO_ERROR)
-                WARN(("vboxDispIfUpdateModesWDDM failed %d\n", winEr));
+                WARN(("VBoxTray: vboxDispIfUpdateModesWDDM failed %d\n", winEr));
+            else
+                LogRel(("VBoxTray: vboxDispIfUpdateModesWDDM is OK for iChangedMode %d\n", iChangedMode));
         }
 
@@ -1459,4 +1462,5 @@
             winEr = vboxDispIfResizePerform(pIf, iChangedMode, fEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
 
+            LogRel(("VBoxTray: vboxDispIfResizePerform returned 0x%08x for iChangedMode %d\n", winEr, iChangedMode));
             if (winEr == ERROR_RETRY)
             {
Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.cpp	(revision 60525)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxTray.cpp	(revision 60526)
@@ -1004,4 +1004,6 @@
     }
 
+    RTLogGroupSettings(NULL, "+all.e.l.f");
+
     if (RT_SUCCESS(rc))
     {
Index: /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp	(revision 60525)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp	(revision 60526)
@@ -539,4 +539,6 @@
                 LogRelFunc(("Logging to host log enabled (%#x)", uValue));
         }
+        
+        pDevExt->Core.fLoggingEnabled = true;
 
         /* Ready to rumble! */
