From b4dc021381fd275e253c7e2246a7c4ed0c18b8ec Mon Sep 17 00:00:00 2001 From: Quantum Date: Mon, 19 Jul 2021 07:07:56 -0400 Subject: [PATCH] [host] service: pass CREATE_UNICODE_ENVIRONMENT unconditionally According to MSDN documentation for CreateEnvironmentBlock, "[i]f the environment block is passed to CreateProcessAsUser, you must also specify the CREATE_UNICODE_ENVIRONMENT flag." Also pass DETACHED_PROCESS because the host is a GUI application and doesn't use the console. --- host/platform/Windows/src/service.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/host/platform/Windows/src/service.c b/host/platform/Windows/src/service.c index 309e0c8c..f540f904 100644 --- a/host/platform/Windows/src/service.c +++ b/host/platform/Windows/src/service.c @@ -221,9 +221,7 @@ void Launch(void) goto fail_token; } - DWORD flags = CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS; - if (!pEnvironment) - flags |= CREATE_UNICODE_ENVIRONMENT; + DWORD flags = DETACHED_PROCESS | HIGH_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT; PROCESS_INFORMATION pi = {0}; STARTUPINFO si =