diff --git a/Source/Platform.h b/Source/Platform.h index cb45ba10..73a9076a 100644 --- a/Source/Platform.h +++ b/Source/Platform.h @@ -799,6 +799,7 @@ typedef PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; # define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x0b01 # define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x0b02 #endif +#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000 typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; diff --git a/Source/build.cpp b/Source/build.cpp index 80087c39..49424986 100644 --- a/Source/build.cpp +++ b/Source/build.cpp @@ -2251,6 +2251,8 @@ int CEXEBuild::UpdatePEHeader() // workaround for bug #2697027, #2725883 headers->OptionalHeader.MajorImageVersion = 6; headers->OptionalHeader.MinorImageVersion = 1; + // terminal services aware + headers->OptionalHeader.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE; } catch (std::runtime_error& err) { ERROR_MSG("Error updating PE headers: %s\n", err.what()); return PS_ERROR;