diff --git a/reactos/base/shell/explorer/services/startup.c b/reactos/base/shell/explorer/services/startup.c index c8f79623dd9..083e6bf4851 100644 --- a/reactos/base/shell/explorer/services/startup.c +++ b/reactos/base/shell/explorer/services/startup.c @@ -364,6 +364,7 @@ static BOOL ProcessRunKeys(HKEY hkRoot, LPCWSTR szKeyName, BOOL bDelete, { DWORD nValLength=nMaxValue, nDataLength=nMaxCmdLine; DWORD type; + WCHAR szCmdLineExp[MAX_PATH+1]= L"\0"; --i; @@ -390,7 +391,8 @@ static BOOL ProcessRunKeys(HKEY hkRoot, LPCWSTR szKeyName, BOOL bDelete, continue; } - if ((res=runCmd(szCmdLine, NULL, bSynchronous, FALSE))==INVALID_RUNCMD_RETURN) + ExpandEnvironmentStrings(szCmdLine, szCmdLineExp, sizeof(szCmdLineExp)); + if ((res=runCmd(szCmdLineExp, NULL, bSynchronous, FALSE))==INVALID_RUNCMD_RETURN) { printf("Error running cmd #%ld (%ld)\n", i, GetLastError()); }