Index: /trunk/src/VBox/Runtime/r3/win/process-win.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/process-win.cpp	(revision 27474)
+++ /trunk/src/VBox/Runtime/r3/win/process-win.cpp	(revision 27475)
@@ -94,5 +94,4 @@
                                                      LPSTARTUPINFOW,
                                                      LPPROCESS_INFORMATION);
-
 typedef CREATEPROCESSWITHLOGON *PCREATEPROCESSWITHLOGON;
 
@@ -322,80 +321,78 @@
                             if (fRc)
                             {
-                                PROFILEINFOW profileInfo;
-                                RT_ZERO(profileInfo);
-                                profileInfo.dwSize = sizeof(PROFILEINFOW);
-                                profileInfo.lpUserName = pwszUser;
-                                fRc = LoadUserProfileW(hToken, &profileInfo);
-                                if (fRc)
+                                fRc = CreateProcessAsUserW(hToken,
+                                                           pwszExec,
+                                                           pwszCmdLine,
+                                                           NULL,         /* pProcessAttributes */
+                                                           NULL,         /* pThreadAttributes */
+                                                           TRUE,         /* fInheritHandles */
+                                                           CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
+                                                           pwszzBlock,
+                                                           NULL,         /* pCurrentDirectory */
+                                                           &StartupInfo,
+                                                           &ProcInfo);
+                                if (!fRc)
                                 {
-                                    fRc = CreateProcessAsUserW(hToken,
-                                                               pwszExec,
-                                                               pwszCmdLine,
-                                                               NULL,         /* pProcessAttributes */
-                                                               NULL,         /* pThreadAttributes */
-                                                               TRUE,         /* fInheritHandles */
-                                                               CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
-                                                               pwszzBlock,
-                                                               NULL,         /* pCurrentDirectory */
-                                                               &StartupInfo,
-                                                               &ProcInfo);
-                                    if (!fRc)
+                                    DWORD dwErr = GetLastError();
+        
+                                    /*
+                                     * If we don't hold enough priviledges to spawn a new
+                                     * process with different credentials we have to use 
+                                     * CreateProcessWithLogonW here.
+                                     *
+                                     * Note that NT4 does *not* support this API, thus we have
+                                     * to load it dynamically (W2K+) to not blow up things.
+                                     *
+                                     * @todo Use fFlags to either use this feature or just fail.
+                                     */
+                                    if (ERROR_PRIVILEGE_NOT_HELD == dwErr)
                                     {
-                                        DWORD dwErr = GetLastError();
-            
-                                        /*
-                                         * If we don't hold enough priviledges to spawn a new
-                                         * process with different credentials we have to use 
-                                         * CreateProcessWithLogonW here.
-                                         *
-                                         * Note that NT4 does *not* support this API, thus we have
-                                         * to load it dynamically (W2K+) to not blow up things.
-                                         *
-                                         * @todo Use fFlags to either use this feature or just fail.
-                                         */
-                                        if (ERROR_PRIVILEGE_NOT_HELD == dwErr)
+#if 0
+                                        PROFILEINFOW profileInfo;
+                                        RT_ZERO(profileInfo);
+                                        profileInfo.dwSize = sizeof(PROFILEINFOW);
+                                        profileInfo.lpUserName = pwszUser;
+                                        fRc = LoadUserProfileW(hToken, &profileInfo);
+
+                                        RTLDRMOD modAdvAPI32;
+                                        rc = RTLdrLoad("Advapi32.dll", &modAdvAPI32);
+                                        PCREATEPROCESSWITHLOGON pfnCreateProcessWithLogonW;
+                                        if (RT_SUCCESS(rc))
                                         {
-#if 0
-                                            RTLDRMOD modAdvAPI32;
-                                            rc = RTLdrLoad("Advapi32.dll", &modAdvAPI32);
-                                            PCREATEPROCESSWITHLOGON pfnCreateProcessWithLogonW;
+                                            rc = RTLdrGetSymbol(modAdvAPI32, "CreateProcessWithLogonW", (void**)&pfnCreateProcessWithLogonW);
                                             if (RT_SUCCESS(rc))
                                             {
-                                                rc = RTLdrGetSymbol(modAdvAPI32, "CreateProcessWithLogonW", (void**)&pfnCreateProcessWithLogonW);
-                                                if (RT_SUCCESS(rc))
+#endif
+                                                fRc = ImpersonateLoggedOnUser(hToken);
+                                                if (fRc)
                                                 {
+                                                    fRc = CreateProcessW(pwszExec,
+                                                                         pwszCmdLine,
+                                                                         NULL,         /* pProcessAttributes */
+                                                                         NULL,         /* pThreadAttributes */
+                                                                         TRUE,         /* fInheritHandles */
+                                                                         CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
+                                                                         pwszzBlock,
+                                                                         NULL,          /* pCurrentDirectory */
+                                                                         &StartupInfo,
+                                                                         &ProcInfo);
+                                                    RevertToSelf();
+                                                }
+#if 0
+                                                fRc = pfnCreateProcessWithLogonW(pwszUser,
+                                                                                 NULL,                       /* lpDomain*/
+                                                                                 pwszPassword,
+                                                                                 0 /*LOGON_WITH_PROFILE*/,   /* dwLogonFlags */
+                                                                                 pwszExec,
+                                                                                 pwszCmdLine,
+                                                                                 CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
+                                                                                 pwszzBlock,
+                                                                                 NULL,                       /* pCurrentDirectory */
+                                                                                 &StartupInfo,
+                                                                                 &ProcInfo);
+                                            }
+                                            RTLdrClose(modAdvAPI32);
+                                        }
 #endif
-                                                    fRc = ImpersonateLoggedOnUser(hToken);
-                                                    if (fRc)
-                                                    {
-                                                        fRc = CreateProcessW(pwszExec,
-                                                                             pwszCmdLine,
-                                                                             NULL,         /* pProcessAttributes */
-                                                                             NULL,         /* pThreadAttributes */
-                                                                             TRUE,         /* fInheritHandles */
-                                                                             CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
-                                                                             pwszzBlock,
-                                                                             NULL,          /* pCurrentDirectory */
-                                                                             &StartupInfo,
-                                                                             &ProcInfo);
-                                                        RevertToSelf();
-                                                    }
-#if 0
-                                                    fRc = pfnCreateProcessWithLogonW(pwszUser,
-                                                                                     NULL,                       /* lpDomain*/
-                                                                                     pwszPassword,
-                                                                                     0 /*LOGON_WITH_PROFILE*/,   /* dwLogonFlags */
-                                                                                     pwszExec,
-                                                                                     pwszCmdLine,
-                                                                                     CREATE_UNICODE_ENVIRONMENT, /* dwCreationFlags */
-                                                                                     pwszzBlock,
-                                                                                     NULL,                       /* pCurrentDirectory */
-                                                                                     &StartupInfo,
-                                                                                     &ProcInfo);
-                                                }
-                                                RTLdrClose(modAdvAPI32);
-                                            }
-#endif
-                                        }
                                     }
                                 }
