diff --git a/reactos/base/system/services/rpcserver.c b/reactos/base/system/services/rpcserver.c index a3c44a1da6c..3465d4da307 100644 --- a/reactos/base/system/services/rpcserver.c +++ b/reactos/base/system/services/rpcserver.c @@ -2192,7 +2192,11 @@ DWORD RCreateServiceW( if ((dwServiceType == (SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS)) && (lpServiceStartName)) { - return ERROR_INVALID_PARAMETER; + /* We allow LocalSystem to run interactive. */ + if (wcsicmp(lpServiceStartName, L"LocalSystem")) + { + return ERROR_INVALID_PARAMETER; + } } if (lpdwTagId && (!lpLoadOrderGroup || !*lpLoadOrderGroup))