Added PEDllCharacteristics attribute and changed default DllCharacteristics to TS_AWARE+NO_SEH+NX_COMPAT+DYNAMIC_BASE
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6537 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
0f264e9f5a
commit
3c2a937cab
7 changed files with 31 additions and 4 deletions
|
@ -277,6 +277,7 @@ CEXEBuild::CEXEBuild(signed char pponly) :
|
|||
|
||||
res_editor=0;
|
||||
|
||||
PEDllCharacteristics = IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE|IMAGE_DLLCHARACTERISTICS_NO_SEH|IMAGE_DLLCHARACTERISTICS_NX_COMPAT|IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE; //forums.winamp.com/showthread.php?t=344755
|
||||
manifest_comctl = manifest::comctl_old;
|
||||
manifest_exec_level = manifest::exec_level_none;
|
||||
manifest_dpiaware = manifest::dpiaware_notset;
|
||||
|
@ -2401,10 +2402,10 @@ int CEXEBuild::UpdatePEHeader()
|
|||
try {
|
||||
PIMAGE_NT_HEADERS headers = CResourceEditor::GetNTHeaders(m_exehead);
|
||||
// workaround for bug #2697027, #2725883, #2803097
|
||||
headers->OptionalHeader.MajorImageVersion = 6;
|
||||
headers->OptionalHeader.MinorImageVersion = 0;
|
||||
// terminal services aware
|
||||
headers->OptionalHeader.DllCharacteristics |= IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE;
|
||||
headers->OptionalHeader.MajorImageVersion = FIX_ENDIAN_INT16(6);
|
||||
headers->OptionalHeader.MinorImageVersion = FIX_ENDIAN_INT16(0);
|
||||
// DllCharacteristics
|
||||
headers->OptionalHeader.DllCharacteristics = FIX_ENDIAN_INT16(PEDllCharacteristics);
|
||||
} catch (std::runtime_error& err) {
|
||||
ERROR_MSG(_T("Error updating PE headers: %") NPRIs _T("\n"), CtoTStrParam(err.what()));
|
||||
return PS_ERROR;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue