/* * manifest.cpp * * This file is a part of NSIS. * * Copyright (C) 1999-2009 Nullsoft and Contributors * * Licensed under the zlib/libpng license (the "License"); * you may not use this file except in compliance with the License. * * Licence details can be found in the file COPYING. * * This software is provided 'as-is', without any express or implied * warranty. * * Unicode support by Jim Park -- 08/22/2007 */ #include "Platform.h" #include "manifest.h" #include #include "tstring.h" // Jim Park: The manifest must stay UTF-8. Do not convert. 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 = "Nullsoft Install System "; xml += TtoCString(NSIS_VERSION); xml += ""; if (comctl_selection == comctl_xp) { xml += ""; } if (exec_level_selection != exec_level_none) { string level = ""; switch (exec_level_selection) { case exec_level_none: break; case exec_level_user: level = "asInvoker"; break; case exec_level_highest: level = "highestAvailable"; break; case exec_level_admin: level = "requireAdministrator"; break; } xml += ""; xml += ""; } xml += ""; return xml; } };