Index: /trunk/src/VBox/Additions/WINNT/Installer/InstallHelper/VBoxGuestInstallHelper.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Installer/InstallHelper/VBoxGuestInstallHelper.cpp	(revision 64291)
+++ /trunk/src/VBox/Additions/WINNT/Installer/InstallHelper/VBoxGuestInstallHelper.cpp	(revision 64292)
@@ -33,4 +33,5 @@
 #include <iprt/localipc.h>
 #include <iprt/mem.h>
+#include <iprt/process.h>
 #include <iprt/string.h>
 
@@ -138,31 +139,12 @@
 static int vboxConnectToVBoxTray(RTLOCALIPCSESSION *phSession)
 {
-    int rc = VINF_SUCCESS;
-
-    RTUTF16 wszUserName[255];
-    DWORD cchUserName = sizeof(wszUserName) / sizeof(RTUTF16);
-    BOOL fRc = GetUserNameW(wszUserName, &cchUserName);
-    if (!fRc)
-        rc = RTErrConvertFromWin32(GetLastError());
-
+    char szPipeName[512 + sizeof(VBOXTRAY_IPC_PIPE_PREFIX)];
+    memcpy(szPipeName, VBOXTRAY_IPC_PIPE_PREFIX, sizeof(VBOXTRAY_IPC_PIPE_PREFIX));
+    int rc = RTProcQueryUsername(NIL_RTPROCESS,
+                                 &szPipeName[sizeof(VBOXTRAY_IPC_PIPE_PREFIX) - 1],
+                                 sizeof(szPipeName) - sizeof(VBOXTRAY_IPC_PIPE_PREFIX) + 1,
+                                 NULL /*pcbUser*/);
     if (RT_SUCCESS(rc))
-    {
-        char *pszUserName;
-        rc = RTUtf16ToUtf8(wszUserName, &pszUserName);
-        if (RT_SUCCESS(rc))
-        {
-            char szPipeName[255];
-            if (RTStrPrintf(szPipeName, sizeof(szPipeName), "%s%s",
-                            VBOXTRAY_IPC_PIPE_PREFIX, pszUserName))
-            {
-                rc = RTLocalIpcSessionConnect(phSession, szPipeName, 0 /* Flags */);
-            }
-            else
-                rc = VERR_NO_MEMORY;
-
-            RTStrFree(pszUserName);
-        }
-    }
-
+        rc = RTLocalIpcSessionConnect(phSession, szPipeName, RTLOCALIPC_FLAGS_NATIVE_NAME);
     return rc;
 }
Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxIPC.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxIPC.cpp	(revision 64291)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxIPC.cpp	(revision 64292)
@@ -196,5 +196,5 @@
     {
         char szPipeName[512 + sizeof(VBOXTRAY_IPC_PIPE_PREFIX)];
-        strcpy(szPipeName, VBOXTRAY_IPC_PIPE_PREFIX);
+        memcpy(szPipeName, VBOXTRAY_IPC_PIPE_PREFIX, sizeof(VBOXTRAY_IPC_PIPE_PREFIX));
         rc = RTProcQueryUsername(NIL_RTPROCESS,
                                  &szPipeName[sizeof(VBOXTRAY_IPC_PIPE_PREFIX) - 1],
@@ -203,5 +203,5 @@
         if (RT_SUCCESS(rc))
         {
-            rc = RTLocalIpcServerCreate(&pCtx->hServer, szPipeName, 0 /*fFlags*/);
+            rc = RTLocalIpcServerCreate(&pCtx->hServer, szPipeName, RTLOCALIPC_FLAGS_NATIVE_NAME);
             if (RT_SUCCESS(rc))
             {
Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp	(revision 64291)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp	(revision 64292)
@@ -34,4 +34,5 @@
 #include <iprt/mem.h>
 #include <iprt/once.h>
+#include <iprt/process.h>
 #include <iprt/string.h>
 #include <iprt/semaphore.h>
@@ -954,9 +955,8 @@
     /* pszDomain is optional. */
 
-    int rc = VINF_SUCCESS;
-
-    char szPipeName[255];
-/** @todo r=bird:  Pointless if.  */
-    if (RTStrPrintf(szPipeName, sizeof(szPipeName), "%s%s", VBOXTRAY_IPC_PIPE_PREFIX, pszUser))
+    char szPipeName[512 + sizeof(VBOXTRAY_IPC_PIPE_PREFIX)];
+    memcpy(szPipeName, VBOXTRAY_IPC_PIPE_PREFIX, sizeof(VBOXTRAY_IPC_PIPE_PREFIX));
+    int rc = RTStrCat(szPipeName, sizeof(szPipeName), pszUser);
+    if (RT_SUCCESS(rc))
     {
         bool fReportToHost = false;
@@ -964,5 +964,5 @@
 
         RTLOCALIPCSESSION hSession;
-        rc = RTLocalIpcSessionConnect(&hSession, szPipeName, 0 /* Flags */);
+        rc = RTLocalIpcSessionConnect(&hSession, szPipeName, RTLOCALIPC_FLAGS_NATIVE_NAME);
         if (RT_SUCCESS(rc))
         {
