While I did some experimenting with the proposals from Vitaliy Margolen to get an accepted patch for GetUserProfileDirectoryW, I found this behavior: OpenProcessToken(hProcess,TOKEN_QUERY,&hToken); ... GetTokenInformation( hToken, TokenUser, ptiUser, cbti, &cbti ) ... LookupAccountSidW( NULL, ptiUser->User.Sid, lpUserName, lpchSize,lpDomain, &cbDomain, &snu ); In Windows XP SP3 the LookupAccountSidW fills lpUserName with the name of the current user (same as GetUserName) Running this code in Wine results in the username: 'INTERACTIVE'. Seems like the LookupAccountSidW does something not compatible with Windows. Im thinking about writing a test code, but simply checking if the above code returns the same as GetUserNameW seems not correct, if test code should run under a different account as the actual login user. Is this a requirement for running the wine tests?