Preliminary ManifestSupportedOS and WinVer.nsh Win10 support
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6558 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
eb5d77214a
commit
46ac05004d
6 changed files with 46 additions and 13 deletions
|
@ -39,6 +39,20 @@ static bool isstrhexchars(const TCHAR*s,UINT cch)
|
|||
return true;
|
||||
}
|
||||
|
||||
static const struct { const TCHAR *name, *guidstr; } g_soslmap[] = {
|
||||
{ _T("WinVista"), _T("{e2011457-1546-43c5-a5fe-008deee3d3f0}") },
|
||||
{ _T("Win7"), _T("{35138b9a-5d96-4fbd-8e2d-a2440225f93a}") },
|
||||
{ _T("Win8"), _T("{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}") }, //msdn.microsoft.com/en-us/library/hh848036
|
||||
{ _T("Win8.1"), _T("{1f676c76-80e1-4239-95bb-83d0f6d0da78}") }, //msdn.microsoft.com/en-us/library/windows/desktop/dn481241
|
||||
{ _T("Win10"), _T("{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}") } //blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-madness.aspx
|
||||
};
|
||||
|
||||
void SupportedOSList::addall()
|
||||
{
|
||||
for (UINT i = 0; i < COUNTOF(g_soslmap); ++i)
|
||||
append(g_soslmap[i].name);
|
||||
}
|
||||
|
||||
bool SupportedOSList::append(const TCHAR* osid)
|
||||
{
|
||||
const TCHAR *guid = 0;
|
||||
|
@ -54,10 +68,15 @@ bool SupportedOSList::append(const TCHAR* osid)
|
|||
guid = osid;
|
||||
}
|
||||
}
|
||||
else if (!_tcsicmp(osid,_T("WinVista"))) guid = _T("{e2011457-1546-43c5-a5fe-008deee3d3f0}");
|
||||
else if (!_tcsicmp(osid,_T("Win7"))) guid = _T("{35138b9a-5d96-4fbd-8e2d-a2440225f93a}");
|
||||
else if (!_tcsicmp(osid,_T("Win8"))) guid = _T("{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}");
|
||||
else if (!_tcsicmp(osid,_T("Win8.1"))) guid = _T("{1f676c76-80e1-4239-95bb-83d0f6d0da78}");
|
||||
else
|
||||
{
|
||||
for (UINT i = 0; i < COUNTOF(g_soslmap); ++i)
|
||||
if (!_tcsicmp(osid, g_soslmap[i].name))
|
||||
{
|
||||
guid = g_soslmap[i].guidstr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (guid)
|
||||
{
|
||||
|
|
|
@ -61,18 +61,12 @@ namespace manifest
|
|||
if (-1 == pos) return 0;
|
||||
return m_list.get() + pos;
|
||||
}
|
||||
void addall();
|
||||
void deleteall()
|
||||
{
|
||||
m_list.deleteall();
|
||||
m_isdefaultlist = false;
|
||||
}
|
||||
void addall()
|
||||
{
|
||||
append(_T("WinVista"));
|
||||
append(_T("Win7"));
|
||||
append(_T("Win8"));
|
||||
append(_T("Win8.1"));
|
||||
}
|
||||
void setdefault()
|
||||
{
|
||||
m_list.deleteall();
|
||||
|
|
|
@ -242,7 +242,7 @@ static tokenType tokenlist[TOK__LAST] =
|
|||
{TOK_XPSTYLE, _T("XPStyle"),1,0,_T("(on|off)"),TP_GLOBAL},
|
||||
{TOK_REQEXECLEVEL, _T("RequestExecutionLevel"),1,0,_T("none|user|highest|admin"),TP_GLOBAL},
|
||||
{TOK_MANIFEST_DPIAWARE,_T("ManifestDPIAware"),1,0,_T("notset|true|false"),TP_GLOBAL},
|
||||
{TOK_MANIFEST_SUPPORTEDOS,_T("ManifestSupportedOS"),1,-1,_T("none|all|WinVista|Win7|Win8|Win8.1|{GUID} [...]"),TP_GLOBAL},
|
||||
{TOK_MANIFEST_SUPPORTEDOS,_T("ManifestSupportedOS"),1,-1,_T("none|all|WinVista|Win7|Win8|Win8.1|Win10|{GUID} [...]"),TP_GLOBAL},
|
||||
{TOK_P_PACKEXEHEADER,_T("!packhdr"),2,0,_T("temp_file_name command_line_to_compress_that_temp_file"),TP_ALL},
|
||||
{TOK_P_FINALIZE,_T("!finalize"),1,0,_T("command_with_%1"),TP_ALL},
|
||||
{TOK_P_SYSTEMEXEC,_T("!system"),1,2,_T("command [<OP retval> | <retvalsymbol>]\n OP=(< > <> =)"),TP_ALL},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue