Alexandre Julliard : ole32: Specify the full application path when starting rpcss.exe.

Alexandre Julliard julliard at winehq.org
Tue Oct 27 09:46:31 CDT 2009


Module: wine
Branch: master
Commit: 0beaa44d7d0de6f15306257b40bed5bae4b6b60f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0beaa44d7d0de6f15306257b40bed5bae4b6b60f

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Oct 27 11:20:34 2009 +0100

ole32: Specify the full application path when starting rpcss.exe.

---

 dlls/ole32/moniker.c |   22 +++++-----------------
 1 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/dlls/ole32/moniker.c b/dlls/ole32/moniker.c
index f65fe8f..a7c5a11 100644
--- a/dlls/ole32/moniker.c
+++ b/dlls/ole32/moniker.c
@@ -124,30 +124,18 @@ static BOOL start_rpcss(void)
 {
     PROCESS_INFORMATION pi;
     STARTUPINFOW si;
-    static WCHAR cmd[6];
-    static const WCHAR rpcss[] = {'r','p','c','s','s',0};
+    WCHAR cmd[MAX_PATH];
+    static const WCHAR rpcss[] = {'\\','r','p','c','s','s','.','e','x','e',0};
     BOOL rslt;
 
     TRACE("\n");
 
-    ZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
     ZeroMemory(&si, sizeof(STARTUPINFOA));
     si.cb = sizeof(STARTUPINFOA);
+    GetSystemDirectoryW( cmd, MAX_PATH - sizeof(rpcss)/sizeof(WCHAR) );
+    strcatW( cmd, rpcss );
 
-    memcpy(cmd, rpcss, sizeof(rpcss));
-
-    rslt = CreateProcessW(
-                          NULL,           /* executable */
-                          cmd,            /* command line */
-                          NULL,           /* process security attributes */
-                          NULL,           /* primary thread security attributes */
-                          FALSE,          /* inherit handles */
-                          0,              /* creation flags */
-                          NULL,           /* use parent's environment */
-                          NULL,           /* use parent's current directory */
-                          &si,            /* STARTUPINFO pointer */
-                          &pi             /* PROCESS_INFORMATION */
-                          );
+    rslt = CreateProcessW( cmd, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi );
 
     if (rslt)
     {




More information about the wine-cvs mailing list