diff --git a/reactos/base/shell/explorer/services/startup.c b/reactos/base/shell/explorer/services/startup.c index 51654d03064..daefd1fb0e6 100644 --- a/reactos/base/shell/explorer/services/startup.c +++ b/reactos/base/shell/explorer/services/startup.c @@ -243,6 +243,9 @@ static int runCmd(LPWSTR cmdline, LPCWSTR dir, BOOL wait, BOOL minimized) STARTUPINFOW si; PROCESS_INFORMATION info; DWORD exit_code=0; + WCHAR szCmdLineExp[MAX_PATH+1]= L"\0"; + + ExpandEnvironmentStrings(cmdline, szCmdLineExp, sizeof(szCmdLineExp)); memset(&si, 0, sizeof(si)); si.cb=sizeof(si); @@ -253,7 +256,7 @@ static int runCmd(LPWSTR cmdline, LPCWSTR dir, BOOL wait, BOOL minimized) } memset(&info, 0, sizeof(info)); - if (!CreateProcessW(NULL, cmdline, NULL, NULL, FALSE, 0, NULL, dir, &si, &info)) + if (!CreateProcessW(NULL, szCmdLineExp, NULL, NULL, FALSE, 0, NULL, dir, &si, &info)) { printf("Failed to run command (%ld)\n", GetLastError()); @@ -261,7 +264,7 @@ static int runCmd(LPWSTR cmdline, LPCWSTR dir, BOOL wait, BOOL minimized) } printf("Successfully ran command\n"); //%s - Created process handle %p\n", - //wine_dbgstr_w(cmdline), info.hProcess); + //wine_dbgstr_w(szCmdLineExp), info.hProcess); if (wait) { /* wait for the process to exit */