moved manifest generation to a seprate file and added made it support vista's access level extensions
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4751 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
f4bfa52981
commit
2f15840257
6 changed files with 108 additions and 8 deletions
46
Source/manifest.cpp
Normal file
46
Source/manifest.cpp
Normal file
|
@ -0,0 +1,46 @@
|
|||
#include "Platform.h"
|
||||
#include "manifest.h"
|
||||
#include "version.h"
|
||||
|
||||
namespace manifest
|
||||
{
|
||||
|
||||
using namespace std;
|
||||
|
||||
string generate(comctl comctl_selection, exec_level exec_level_selection)
|
||||
{
|
||||
if (comctl_selection == comctl_old && exec_level_selection == exec_level_none)
|
||||
return "";
|
||||
|
||||
string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\"><assemblyIdentity version=\"1.0.0.0\" processorArchitecture=\"X86\" name=\"Nullsoft.NSIS.exehead\" type=\"win32\"/><description>Nullsoft Install System " NSIS_VERSION "</description>";
|
||||
|
||||
if (comctl_selection == comctl_xp)
|
||||
{
|
||||
xml += "<dependency><dependentAssembly><assemblyIdentity type=\"win32\" name=\"Microsoft.Windows.Common-Controls\" version=\"6.0.0.0\" processorArchitecture=\"X86\" publicKeyToken=\"6595b64144ccf1df\" language=\"*\" /></dependentAssembly></dependency>";
|
||||
}
|
||||
|
||||
if (exec_level_selection != exec_level_none)
|
||||
{
|
||||
string level = "";
|
||||
|
||||
switch (exec_level_selection)
|
||||
{
|
||||
case exec_level_user:
|
||||
level = "asInvoker";
|
||||
break;
|
||||
case exec_level_admin:
|
||||
level = "requireAdministrator";
|
||||
break;
|
||||
}
|
||||
|
||||
xml += "<trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v3\"><security><requestedPrivileges><requestedExecutionLevel level=\"";
|
||||
xml += level;
|
||||
xml += "\" uiAccess=\"false\"/></requestedPrivileges></security></trustInfo>";
|
||||
}
|
||||
|
||||
xml += "</assembly>";
|
||||
|
||||
return xml;
|
||||
}
|
||||
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue