From aa9aed537f044eba9ce4e4671b7e5a0a61b1e15a Mon Sep 17 00:00:00 2001 From: kichik Date: Sun, 19 Jun 2005 17:00:09 +0000 Subject: [PATCH] updated for new build system git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4097 212acab6-be3b-0410-9dea-997c60f758d6 --- Examples/makensis.nsi | 829 ++++++++---------------------------------- 1 file changed, 158 insertions(+), 671 deletions(-) diff --git a/Examples/makensis.nsi b/Examples/makensis.nsi index 9651a3d1..e676b7e8 100644 --- a/Examples/makensis.nsi +++ b/Examples/makensis.nsi @@ -1,30 +1,24 @@ ;NSIS Setup Script ;-------------------------------- -!define VER_MAJOR 2 -!define VER_MINOR 0 -!define VER_REVISION 6 -!define VER_BUILD 0 - -!define VER_FILE "206" -!define VER_DISPLAY "2.06" - -;-------------------------------- -;Compile CVS Data Setup - -!system '"${NSISDIR}\Bin\InstallCVSData.exe" nooverwrite' -!echo "Compiling CVS Data Setup..." -!system '"${NSISDIR}\makensis" /V1 cvsdata.nsi' = 0 +!ifndef VERSION + !define VERSION 'anonymous-build' +!endif ;-------------------------------- ;Configuration -OutFile ..\nsis${VER_FILE}.exe +!ifdef OUTFILE + OutFile "${OUTFILE}" +!else + OutFile ..\nsis-${VERSION}.exe +!endif + SetCompressor /SOLID lzma InstType "Full" -InstType "Standard" InstType "Lite" +InstType "Minimal" InstallDir $PROGRAMFILES\NSIS InstallDirRegKey HKLM Software\NSIS "" @@ -46,7 +40,7 @@ InstallDirRegKey HKLM Software\NSIS "" ;Names Name "NSIS" -Caption "NSIS ${VER_DISPLAY} Setup" +Caption "NSIS ${VERSION} Setup" ;Interface Settings !define MUI_ABORTWARNING @@ -57,12 +51,14 @@ Caption "NSIS ${VER_DISPLAY} Setup" !define MUI_COMPONENTSPAGE_SMALLDESC ;Pages -!define MUI_WELCOMEPAGE_TITLE "Welcome to the NSIS ${VER_DISPLAY} Setup Wizard" -!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of NSIS (Nullsoft Scriptable Install System) ${VER_DISPLAY}, the next generation of the Windows installer and uninstaller system that doesn't suck and isn't huge.\r\n\r\nNSIS 2 includes a new Modern User Interface, LZMA compression, support for multiple languages and an easy plug-in system.\r\n\r\n$_CLICK" +!define MUI_WELCOMEPAGE_TITLE "Welcome to the NSIS ${VERSION} Setup Wizard" +!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of NSIS (Nullsoft Scriptable Install System) ${VERSION}, the next generation of the Windows installer and uninstaller system that doesn't suck and isn't huge.\r\n\r\nNSIS 2 includes a new Modern User Interface, LZMA compression, support for multiple languages and an easy plug-in system.\r\n\r\n$_CLICK" !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "..\license.txt" +!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD Page custom PageReinstall PageLeaveReinstall +!endif !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES @@ -117,6 +113,15 @@ Section "NSIS Core Files (required)" SecCore File ..\nsisconf.nsh SetOverwrite on + SetOutPath $INSTDIR\Stubs + File ..\Stubs\bzip2 + File ..\Stubs\bzip2_solid + File ..\Stubs\lzma + File ..\Stubs\lzma_solid + File ..\Stubs\zlib + File ..\Stubs\zlib_solid + File ..\Stubs\uninst + SetOutPath $INSTDIR\Include File ..\Include\WinMessages.nsh File ..\Include\Sections.nsh @@ -124,11 +129,13 @@ Section "NSIS Core Files (required)" SecCore File ..\Include\UpgradeDLL.nsh File ..\Include\LogicLib.nsh File ..\Include\StrFunc.nsh - File ..\Include\StrFunc.txt File ..\Include\Colors.nsh - SetOutPath $INSTDIR\Contrib\Makensisw - File ..\Contrib\Makensisw\*.txt + SetOutPath $INSTDIR\Docs\StrFunc + File ..\Docs\StrFunc\StrFunc.txt + + SetOutPath $INSTDIR\Docs\makensisw + File ..\Docs\makensisw\*.txt SetOutPath $INSTDIR\Menu File ..\Menu\*.html @@ -140,20 +147,9 @@ Section "NSIS Core Files (required)" SecCore Delete $INSTDIR\Docs\style.css RMDir $INSTDIR\Docs - SetOutPath $INSTDIR\Contrib\Library\LibraryLocal - File ..\Contrib\Library\LibraryLocal\*.exe - File ..\Contrib\Library\LibraryLocal\*.cpp - File ..\Contrib\Library\LibraryLocal\*.dsw - File ..\Contrib\Library\LibraryLocal\*.dsp - - SetOutPath $INSTDIR\Contrib\Library\RegTool - File ..\Contrib\Library\RegTool\*.nsi - File ..\Contrib\Library\RegTool\*.bin - - SetOutPath $INSTDIR\Contrib\Library\TypeLib - File ..\Contrib\Library\TypeLib\*.cpp - File ..\Contrib\Library\TypeLib\*.dsw - File ..\Contrib\Library\TypeLib\*.dsp + SetOutPath $INSTDIR\Bin + File ..\Bin\LibraryLocal.exe + File ..\Bin\RegTool.bin SetOutPath $INSTDIR\Plugins File ..\Plugins\TypeLib.dll @@ -198,9 +194,8 @@ Section "Script Examples" SecExample DetailPrint "Installing Script Examples..." SetDetailsPrint listonly - SectionIn 1 2 3 + SectionIn 1 2 SetOutPath $INSTDIR\Examples - File ..\Examples\cvsdata.nsi File ..\Examples\makensis.nsi File ..\Examples\makensis.ini File ..\Examples\example1.nsi @@ -235,7 +230,7 @@ Section "Desktop Shortcut" SecShortcuts SetDetailsPrint listonly !endif - SectionIn 1 2 3 + SectionIn 1 2 SetOutPath $INSTDIR !ifndef NO_STARTMENUSHORTCUTS CreateDirectory $SMPROGRAMS\NSIS @@ -244,9 +239,6 @@ Section "Desktop Shortcut" SecShortcuts CreateShortCut "$SMPROGRAMS\NSIS\MakeNSISW (Compiler GUI).lnk" "$INSTDIR\makensisw.exe" - IfFileExists "$INSTDIR\Bin\NSISUpdate.exe" "" +2 - CreateShortCut "$SMPROGRAMS\NSIS\NSIS Update.lnk" "$INSTDIR\Bin\NSISUpdate.exe" - CreateShortCut "$SMPROGRAMS\NSIS\NSIS Documentation.lnk" "$INSTDIR\NSIS.chm" WriteINIStr "$SMPROGRAMS\NSIS\NSIS Site.url" "InternetShortcut" "URL" "http://nsis.sourceforge.net/" CreateShortCut "$SMPROGRAMS\NSIS\Uninstall NSIS.lnk" "$INSTDIR\uninst-nsis.exe" @@ -265,7 +257,7 @@ Section "Modern User Interface" SecInterfacesModernUI DetailPrint "Installing User Interfaces | Modern User Interface..." SetDetailsPrint listonly - SectionIn 1 2 3 + SectionIn 1 2 SetOutPath "$INSTDIR\Examples\Modern UI" File "..\Examples\Modern UI\Basic.nsi" @@ -280,17 +272,19 @@ Section "Modern User Interface" SecInterfacesModernUI SetOutPath "$INSTDIR\Contrib\Modern UI" File "..\Contrib\Modern UI\System.nsh" - File "..\Contrib\Modern UI\Readme.html" - File "..\Contrib\Modern UI\Changelog.txt" - File "..\Contrib\Modern UI\License.txt" File "..\Contrib\Modern UI\ioSpecial.ini" - SetOutPath "$INSTDIR\Contrib\Modern UI\images" - File "..\Contrib\Modern UI\images\header.gif" - File "..\Contrib\Modern UI\images\screen1.png" - File "..\Contrib\Modern UI\images\screen2.png" - File "..\Contrib\Modern UI\images\open.gif" - File "..\Contrib\Modern UI\images\closed.gif" + SetOutPath "$INSTDIR\Docs\Modern UI" + File "..\Docs\Modern UI\Readme.html" + File "..\Docs\Modern UI\Changelog.txt" + File "..\Docs\Modern UI\License.txt" + + SetOutPath "$INSTDIR\Docs\Modern UI\images" + File "..\Docs\Modern UI\images\header.gif" + File "..\Docs\Modern UI\images\screen1.png" + File "..\Docs\Modern UI\images\screen2.png" + File "..\Docs\Modern UI\images\open.gif" + File "..\Docs\Modern UI\images\closed.gif" SetOutPath $INSTDIR\Contrib\UIs File "..\Contrib\UIs\modern.exe" @@ -310,7 +304,7 @@ Section "Default User Interface" SecInterfacesDefaultUI DetailPrint "Installing User Interfaces | Default User Interface..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath "$INSTDIR\Contrib\UIs" File "..\Contrib\UIs\default.exe" @@ -323,7 +317,7 @@ Section "Tiny User Interface" SecInterfacesTinyUI DetailPrint "Installing User Interfaces | Tiny User Interface..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath "$INSTDIR\Contrib\UIs" File "..\Contrib\UIs\sdbarker_tiny.exe" @@ -338,7 +332,7 @@ Section "Graphics" SecGraphics DetailPrint "Installing Graphics..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 Delete $INSTDIR\Contrib\Icons\*.ico Delete $INSTDIR\Contrib\Icons\*.bmp @@ -354,7 +348,7 @@ Section "Language Files" SecLangFiles DetailPrint "Installing Language Files..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath "$INSTDIR\Contrib\Language files" File "..\Contrib\Language files\*.nlf" @@ -372,30 +366,13 @@ SectionEnd SectionGroup "Tools" SecTools -Section "NSIS Update" SecToolsUpdate - - SetDetailsPrint textonly - DetailPrint "Installing Tools | NSIS Update..." - SetDetailsPrint listonly - - SectionIn 1 2 - - SetOutPath $INSTDIR\Bin - File ..\Bin\NSISUpdate.exe - File ..\Bin\InstallCVSData.exe - - IfFileExists "$INSTDIR\CVS\Root" 0 +2 - Exec '"$INSTDIR\Bin\InstallCVSData.exe"' - -SectionEnd - Section "Zip2Exe" SecToolsZ2E SetDetailsPrint textonly DetailPrint "Installing Tools | Zip2Exe..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Bin File ..\Bin\zip2exe.exe @@ -416,13 +393,14 @@ Section "Banner" SecPluginsBanner DetailPrint "Installing Plug-ins | Banner..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\Banner.dll - SetOutPath $INSTDIR\Contrib\Banner - File ..\Contrib\Banner\Readme.txt - File ..\Contrib\Banner\Example.nsi + SetOutPath $INSTDIR\Docs\Banner + File ..\Docs\Banner\Readme.txt + SetOutPath $INSTDIR\Examples\Banner + File ..\Examples\Banner\Example.nsi SectionEnd Section "Language DLL" SecPluginsLangDLL @@ -431,7 +409,7 @@ Section "Language DLL" SecPluginsLangDLL DetailPrint "Installing Plug-ins | Language DLL..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\LangDLL.dll SectionEnd @@ -442,13 +420,14 @@ Section "nsExec" SecPluginsnsExec DetailPrint "Installing Plug-ins | nsExec..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\nsExec.dll - SetOutPath $INSTDIR\Contrib\nsExec - File ..\Contrib\nsExec\*.txt - File ..\Contrib\nsExec\*.nsi + SetOutPath $INSTDIR\Docs\nsExec + File ..\Docs\nsExec\nsExec.txt + SetOutPath $INSTDIR\Examples\nsExec + File ..\Examples\nsExec\test.nsi SectionEnd Section "Splash" SecPluginsSplash @@ -457,13 +436,14 @@ Section "Splash" SecPluginsSplash DetailPrint "Installing Plug-ins | Splash..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\splash.dll - SetOutPath $INSTDIR\Contrib\Splash - File ..\Contrib\Splash\splash.txt - File ..\Contrib\Splash\Example.nsi + SetOutPath $INSTDIR\Docs\Splash + File ..\Docs\Splash\splash.txt + SetOutPath $INSTDIR\Examples\Splash + File ..\Examples\Splash\Example.nsi SectionEnd Section "AdvSplash" SecPluginsSplashT @@ -472,13 +452,14 @@ Section "AdvSplash" SecPluginsSplashT DetailPrint "Installing Plug-ins | AdvSplash..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\advsplash.dll - SetOutPath $INSTDIR\Contrib\AdvSplash - File ..\Contrib\AdvSplash\advsplash.txt - File ..\Contrib\AdvSplash\Example.nsi + SetOutPath $INSTDIR\Docs\AdvSplash + File ..\Docs\AdvSplash\advsplash.txt + SetOutPath $INSTDIR\Examples\AdvSplash + File ..\Examples\AdvSplash\Example.nsi SectionEnd Section "BgImage" SecPluginsBgImage @@ -487,13 +468,14 @@ Section "BgImage" SecPluginsBgImage DetailPrint "Installing Plug-ins | BgImage..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\BgImage.dll - SetOutPath $INSTDIR\Contrib\BgImage - File ..\Contrib\BgImage\BgImage.txt - File ..\Contrib\BgImage\Example.nsi + SetOutPath $INSTDIR\Docs\BgImage + File ..\Docs\BgImage\BgImage.txt + SetOutPath $INSTDIR\Examples\BgImage + File ..\Examples\BgImage\Example.nsi SectionEnd Section "InstallOptions" SecPluginsIO @@ -502,21 +484,22 @@ Section "InstallOptions" SecPluginsIO DetailPrint "Installing Plug-ins | InstallOptions..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\InstallOptions.dll - SetOutPath $INSTDIR\Contrib\InstallOptions - File ..\Contrib\InstallOptions\Readme.html - File ..\Contrib\InstallOptions\Changelog.txt - File ..\Contrib\InstallOptions\test.ini - File ..\Contrib\InstallOptions\test.nsi - File ..\Contrib\InstallOptions\testimgs.ini - File ..\Contrib\InstallOptions\testimgs.nsi - File ..\Contrib\InstallOptions\testlink.ini - File ..\Contrib\InstallOptions\testlink.nsi - File ..\Contrib\InstallOptions\testnotify.ini - File ..\Contrib\InstallOptions\testnotify.nsi + SetOutPath $INSTDIR\Docs\InstallOptions + File ..\Docs\InstallOptions\Readme.html + File ..\Docs\InstallOptions\Changelog.txt + SetOutPath $INSTDIR\Examples\InstallOptions + File ..\Examples\InstallOptions\test.ini + File ..\Examples\InstallOptions\test.nsi + File ..\Examples\InstallOptions\testimgs.ini + File ..\Examples\InstallOptions\testimgs.nsi + File ..\Examples\InstallOptions\testlink.ini + File ..\Examples\InstallOptions\testlink.nsi + File ..\Examples\InstallOptions\testnotify.ini + File ..\Examples\InstallOptions\testnotify.nsi SectionEnd Section "Math" SecPluginsMath @@ -525,16 +508,17 @@ Section "Math" SecPluginsMath DetailPrint "Installing Plug-ins | Math..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\Math.dll - SetOutPath $INSTDIR\Contrib\Math - File ..\Contrib\Math\Math.txt - File ..\Contrib\Math\math.nsi - File ..\Contrib\Math\mathtest.txt - File ..\Contrib\Math\mathtest.nsi - File ..\Contrib\Math\mathtest.ini + SetOutPath $INSTDIR\Docs\Math + File ..\Docs\Math\Math.txt + SetOutPath $INSTDIR\Examples\Math + File ..\Examples\Math\math.nsi + File ..\Examples\Math\mathtest.txt + File ..\Examples\Math\mathtest.nsi + File ..\Examples\Math\mathtest.ini SectionEnd @@ -544,13 +528,13 @@ Section "NSISdl" SecPluginsNSISDL DetailPrint "Installing Plug-ins | NSISdl..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\nsisdl.dll - SetOutPath $INSTDIR\Contrib\NSISdl - File ..\Contrib\NSISdl\ReadMe.txt - File ..\Contrib\NSISdl\License.txt + SetOutPath $INSTDIR\Docs\NSISdl + File ..\Docs\NSISdl\ReadMe.txt + File ..\Docs\NSISdl\License.txt SectionEnd Section "System" SecPluginsSystem @@ -559,16 +543,18 @@ Section "System" SecPluginsSystem DetailPrint "Installing Plug-ins | System..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\System.dll - SetOutPath $INSTDIR\Contrib\System - File ..\Contrib\System\*.dll - File ..\Contrib\System\*.nsh - File ..\Contrib\System\*.nsi - File ..\Contrib\System\*.txt - File ..\Contrib\System\*.html + SetOutPath $INSTDIR\Docs\System + File ..\Docs\System\System.html + File ..\Docs\System\WhatsNew.txt + SetOutPath $INSTDIR\Examples\System + File ..\Examples\System\Resource.dll + File ..\Examples\System\SysFunc.nsh + File ..\Examples\System\System.nsh + File ..\Examples\System\System.nsi SectionEnd Section "StartMenu" SecPluginsStartMenu @@ -577,13 +563,14 @@ Section "StartMenu" SecPluginsStartMenu DetailPrint "Installing Plug-ins | StartMenu..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\StartMenu.dll - SetOutPath $INSTDIR\Contrib\StartMenu - File ..\Contrib\StartMenu\Example.nsi - File ..\Contrib\StartMenu\Readme.txt + SetOutPath $INSTDIR\Docs\StartMenu + File ..\Docs\StartMenu\Readme.txt + SetOutPath $INSTDIR\Examples\StartMenu + File ..\Examples\StartMenu\Example.nsi SectionEnd Section "UserInfo" SecPluginsUserInfo @@ -592,12 +579,12 @@ Section "UserInfo" SecPluginsUserInfo DetailPrint "Installing Plug-ins | UserInfo..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\UserInfo.dll - SetOutPath $INSTDIR\Contrib\UserInfo - File ..\Contrib\UserInfo\UserInfo.nsi + SetOutPath $INSTDIR\Examples\UserInfo + File ..\Examples\UserInfo\UserInfo.nsi SectionEnd Section "Dialer" SecPluginsDialer @@ -606,12 +593,12 @@ Section "Dialer" SecPluginsDialer DetailPrint "Installing Plug-ins | Dialer..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\Dialer.dll - SetOutPath $INSTDIR\Contrib\Dialer - File ..\Contrib\Dialer\Dialer.txt + SetOutPath $INSTDIR\Docs\Dialer + File ..\Docs\Dialer\Dialer.txt SectionEnd Section "VPatch" SecPluginsVPatch @@ -620,396 +607,23 @@ Section "VPatch" SecPluginsVPatch DetailPrint "Installing Plug-ins | VPatch..." SetDetailsPrint listonly - SectionIn 1 2 + SectionIn 1 SetOutPath $INSTDIR\Plugins File ..\Plugins\VPatch.dll - SetOutPath $INSTDIR\Contrib\VPatch - File ..\Contrib\VPatch\GenPat.exe - File ..\Contrib\VPatch\Readme.html - File ..\Contrib\VPatch\example.nsi - File ..\Contrib\VPatch\oldfile.txt - File ..\Contrib\VPatch\newfile.txt - File ..\Contrib\VPatch\patch.pat + SetOutPath $INSTDIR\Examples\VPatch + File ..\Examples\VPatch\example.nsi + File ..\Examples\VPatch\oldfile.txt + File ..\Examples\VPatch\newfile.txt + File ..\Examples\VPatch\patch.pat + SetOutPath $INSTDIR\Docs\VPatch + File ..\Docs\VPatch\Readme.html + SetOutPath $INSTDIR\Bin + File ..\Bin\GenPat.exe SectionEnd SectionGroupEnd -SectionGroup "Source code" SecSrc - -Section "NSIS Source Code" SecSrcNSIS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | NSIS Source Code..." - SetDetailsPrint listonly - - SectionIn 1 - - # makensis - SetOutPath $INSTDIR\Source - File ..\Source\*.cpp - File ..\Source\*.c - File ..\Source\*.h - File ..\Source\Makefile - File ..\Source\makenssi.dsp - File ..\Source\makenssi.dsw - # boost - SetOutPath $INSTDIR\Source\boost - File ..\Source\boost\*.hpp - SetOutPath $INSTDIR\Source\boost\detail - File ..\Source\boost\detail\*.hpp - # zlib - SetOutPath $INSTDIR\Source\zlib - File ..\Source\zlib\*.* - # bzip2 - SetOutPath $INSTDIR\Source\bzip2 - File ..\Source\bzip2\*.* - # lzma - SetOutPath $INSTDIR\Source\7zip - File ..\Source\7zip\*.* - SetOutPath $INSTDIR\Source\7zip\Common - File ..\Source\7zip\Common\*.* - SetOutPath $INSTDIR\Source\7zip\7zip - File ..\Source\7zip\7zip\*.* - SetOutPath $INSTDIR\Source\7zip\7zip\Compress\LZ - File ..\Source\7zip\7zip\Compress\LZ\*.* - SetOutPath $INSTDIR\Source\7zip\7zip\Compress\LZ\BinTree - File ..\Source\7zip\7zip\Compress\LZ\BinTree\*.* - SetOutPath $INSTDIR\Source\7zip\7zip\Compress\LZMA - File ..\Source\7zip\7zip\Compress\LZMA\*.* - SetOutPath $INSTDIR\Source\7zip\7zip\Compress\RangeCoder - File ..\Source\7zip\7zip\Compress\RangeCoder\*.* - SetOutPath $INSTDIR\Source\7zip\7zip\Common - File ..\Source\7zip\7zip\Common\*.* - # exehead - SetOutPath $INSTDIR\Source\exehead - File ..\Source\exehead\*.c - File ..\Source\exehead\*.h - File ..\Source\exehead\resource.rc - File ..\Source\exehead\*.dsp - File ..\Source\exehead\Makefile - File ..\Source\exehead\nsis.ico - File ..\Source\exehead\uninst.ico - File ..\Source\exehead\bitmap1.bmp - File ..\Source\exehead\bin2h.exe - # tests - SetOutPath $INSTDIR\Source\Tests - File ..\Source\Tests\*.cpp - File ..\Source\Tests\Tests.dsp -SectionEnd - -Section "ExDLL Source (required)" SecSrcEx - - ;required for other plugins sources - ;text changes in .onSelChange - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | ExDLL Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\ExDLL - File ..\Contrib\ExDLL\exdll.c - File ..\Contrib\ExDLL\exdll.h - File ..\Contrib\ExDLL\exdll.dsp - File ..\Contrib\ExDLL\exdll.dsw - File ..\Contrib\ExDLL\exdll.dpr - File ..\Contrib\ExDLL\exdll_with_unit.dpr - File ..\Contrib\ExDLL\nsis.pas - File ..\Contrib\ExDLL\extdll.inc - -SectionEnd - -Section "Zip2Exe Source" SecToolsZ2ES - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Zip2exe Source..." - SetDetailsPrint listonly - - SectionIn 1 - - RMDir /r $INSTDIR\Source\Zip2Exe - SetOutPath $INSTDIR\Contrib\zip2exe - File ..\Contrib\zip2exe\*.cpp - File ..\Contrib\zip2exe\*.ico - File ..\Contrib\zip2exe\*.h - File ..\Contrib\zip2exe\*.rc - File ..\Contrib\zip2exe\*.dsw - File ..\Contrib\zip2exe\*.dsp - File ..\Contrib\zip2exe\*.xml - SetOutPath $INSTDIR\Contrib\zip2exe\zlib - File ..\Contrib\zip2exe\zlib\*.* -SectionEnd - -SectionGroup "Tools" SecToolsS - -Section "MakeNSISW Source" SecSrcMNW - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | MakeNSISW Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\Makensisw - File ..\Contrib\Makensisw\*.cpp - File ..\Contrib\Makensisw\*.xml - File ..\Contrib\Makensisw\*.h - File ..\Contrib\Makensisw\*.dsw - File ..\Contrib\Makensisw\*.dsp - File ..\Contrib\Makensisw\*.rc - File ..\Contrib\Makensisw\*.bmp - File ..\Contrib\Makensisw\*.ico - File ..\Contrib\Makensisw\*.psp - #File ..\Contrib\Makensisw\Makefile -SectionEnd - -Section "UI Holder Source" SecSrcUIHolder - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | UI Holder..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath "$INSTDIR\Contrib\UIs\UI Holder" - File "..\Contrib\UIs\UI Holder\*.h" - File "..\Contrib\UIs\UI Holder\*.cpp" - File "..\Contrib\UIs\UI Holder\*.rc" - File "..\Contrib\UIs\UI Holder\*.dsw" - File "..\Contrib\UIs\UI Holder\*.dsp" -SectionEnd - -SectionGroupEnd - -SectionGroup "Plug-ins" SecPluginsPluginsS - -Section "Banner Source" SecPluginsBannerS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | Banner Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\Banner - File ..\Contrib\Banner\Banner.dsw - File ..\Contrib\Banner\Banner.dsp - File ..\Contrib\Banner\Banner.c -SectionEnd - -Section "Language DLL Source" SecPluginsLangDLLS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | Language DLL Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\LangDLL - File ..\Contrib\LangDLL\LangDLL.c - File ..\Contrib\LangDLL\resource.h - File ..\Contrib\LangDLL\resource.rc - File ..\Contrib\LangDLL\LangDLL.dsw - File ..\Contrib\LangDLL\LangDLL.dsp -SectionEnd - -Section "nsExec Source" SecPluginsnsExecS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | nsExec Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\nsExec - File ..\Contrib\nsExec\*.c - File ..\Contrib\nsExec\*.dsw - File ..\Contrib\nsExec\*.dsp -SectionEnd - -Section "Splash Source" SecPluginsSplashS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | Splash Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\Splash - File ..\Contrib\Splash\splash.c - File ..\Contrib\Splash\splash.dsp - File ..\Contrib\Splash\splash.dsw -SectionEnd - -Section "AdvSplash Source" SecPluginsSplashTS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | AdvSplash Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\AdvSplash - File ..\Contrib\AdvSplash\*.c - File ..\Contrib\AdvSplash\*.dsw - File ..\Contrib\AdvSplash\*.dsp -SectionEnd - -Section "BgImage Source" SecPluginsBgImageS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | BgImage Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\BgImage - File ..\Contrib\BgImage\BgImage.cpp - File ..\Contrib\BgImage\BgImage.dsw - File ..\Contrib\BgImage\BgImage.dsp -SectionEnd - -Section "InstallOptions Source" SecPluginsIOS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | InstallOptions Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\InstallOptions - File ..\Contrib\InstallOptions\io.dsp - File ..\Contrib\InstallOptions\io.dsw - File ..\Contrib\InstallOptions\InstallerOptions.cpp - File ..\Contrib\InstallOptions\*.rc - File ..\Contrib\InstallOptions\*.h -SectionEnd - -Section "Math Source" SecPluginsMathS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | Math Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\Math\Source - File ..\Contrib\Math\Source\*.c - File ..\Contrib\Math\Source\*.h - File ..\Contrib\Math\Source\*.sln - File ..\Contrib\Math\Source\*.lib - File ..\Contrib\Math\Source\*.vcproj -SectionEnd - -Section "NSISdl Source" SecPluginsNSISDLS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | NSISdl Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\NSISdl - File ..\Contrib\NSISdl\nsisdl.dsw - File ..\Contrib\NSISdl\nsisdl.dsp - File ..\Contrib\NSISdl\*.cpp - File ..\Contrib\NSISdl\*.h -SectionEnd - -Section "System Source" SecPluginsSystemS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | System Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\System\Source - File ..\Contrib\System\Source\*.c - File ..\Contrib\System\Source\*.h - File ..\Contrib\System\Source\*.sln - File ..\Contrib\System\Source\*.obj - File ..\Contrib\System\Source\*.vcproj -SectionEnd - -Section "StartMenu Source" SecPluginsStartMenuS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | StartMenu Source..." - SetDetailsPrint listonly - - SectionIn 1 - SetOutPath $INSTDIR\Contrib\StartMenu - File ..\Contrib\StartMenu\StartMenu.c - File ..\Contrib\StartMenu\StartMenu.dsp - File ..\Contrib\StartMenu\StartMenu.dsw - File ..\Contrib\StartMenu\StartMenu.rc - File ..\Contrib\StartMenu\resource.h -SectionEnd - -Section "UserInfo Source" SecPluginsUserInfoS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | UserInfo Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\UserInfo - File ..\Contrib\UserInfo\UserInfo.c - File ..\Contrib\UserInfo\UserInfo.dsp - File ..\Contrib\UserInfo\UserInfo.dsw -SectionEnd - -Section "Dialer Source" SecPluginsDialerS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | Dialer Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\Dialer - File ..\Contrib\Dialer\dialer.c - File ..\Contrib\Dialer\dialer.dsp - File ..\Contrib\Dialer\dialer.dsw -SectionEnd - -Section "VPatch Source" SecPluginsVPatchS - - SetDetailsPrint textonly - DetailPrint "Installing Source Code | Plug-ins | VPatch Source..." - SetDetailsPrint listonly - - SectionIn 1 - - SetOutPath $INSTDIR\Contrib\VPatch\Source - File ..\Contrib\VPatch\Source\*.bpg - - SetOutPath $INSTDIR\Contrib\VPatch\Source\GenPat - File ..\Contrib\VPatch\Source\GenPat\*.pas - File ..\Contrib\VPatch\Source\GenPat\*.dpr - - SetOutPath $INSTDIR\Contrib\VPatch\Source\Plugin - File ..\Contrib\VPatch\Source\Plugin\*.c - File ..\Contrib\VPatch\Source\Plugin\*.dsw - File ..\Contrib\VPatch\Source\Plugin\*.dsp - - SetOutPath $INSTDIR\Contrib\VPatch\Source\GUI - File ..\Contrib\VPatch\Source\GUI\*.pas - File ..\Contrib\VPatch\Source\GUI\*.dpr - File ..\Contrib\VPatch\Source\GUI\*.dfm - File ..\Contrib\VPatch\Source\GUI\*.dof - File ..\Contrib\VPatch\Source\GUI\*.res - -SectionEnd - -SectionGroupEnd ; plugins - -SectionGroupEnd - Section -post ; When Modern UI is installed: @@ -1062,18 +676,22 @@ Section -post SetOutPath $INSTDIR WriteRegStr HKLM "Software\NSIS" "" $INSTDIR +!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD WriteRegDword HKLM "Software\NSIS" "VersionMajor" "${VER_MAJOR}" WriteRegDword HKLM "Software\NSIS" "VersionMinor" "${VER_MINOR}" WriteRegDword HKLM "Software\NSIS" "VersionRevision" "${VER_REVISION}" WriteRegDword HKLM "Software\NSIS" "VersionBuild" "${VER_BUILD}" +!endif WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString" '"$INSTDIR\uninst-nsis.exe"' WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "InstallLocation" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayName" "Nullsoft Install System" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayIcon" "$INSTDIR\NSIS.exe,0" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayVersion" "${VER_DISPLAY}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayVersion" "${VERSION}" +!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMajor" "${VER_MAJOR}" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMinor" "${VER_MINOR}.${VER_REVISION}" +!endif WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "URLInfoAbout" "http://nsis.sourceforge.net/" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "NoModify" "1" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "NoRepair" "1" @@ -1088,36 +706,13 @@ Section -post IfFileExists $INSTDIR\Examples 0 +2 CreateShortCut "$SMPROGRAMS\NSIS\NSIS Examples Directory.lnk" "$INSTDIR\Examples" - IfFileExists "$INSTDIR\Source" 0 +2 - CreateShortCut "$SMPROGRAMS\NSIS\MakeNSIS project workspace.lnk" "$INSTDIR\source\makenssi.dsw" - - CreateDirectory $SMPROGRAMS\NSIS\Contrib\Source - ; MakeNSISW CreateDirectory $SMPROGRAMS\NSIS\Contrib - CreateShortCut "$SMPROGRAMS\NSIS\Contrib\MakeNSISW readme.lnk" "$INSTDIR\contrib\MakeNsisw\readme.txt" - - Push MakeNSISW - Call AddWorkspaceToStartMenu - - ; ExDLL - Push ExDLL - Call AddWorkspaceToStartMenu - - ; InstallOptions - Push InstallOptions - Call AddReadmeToStartMenu - - Push "InstallOptions\io.dsw" - Push "Source\InstallOptions project workspace" - Call AddContribToStartMenu + CreateShortCut "$SMPROGRAMS\NSIS\Contrib\MakeNSISw Readme.lnk" "$INSTDIR\Docs\makensisw\readme.txt" ; ZIP2EXE IfFileExists "$INSTDIR\Bin\zip2exe.exe" 0 +2 - CreateShortCut "$SMPROGRAMS\NSIS\Contrib\Zip2Exe (create SFX).lnk" "$INSTDIR\Bin\zip2exe.exe" - - Push ZIP2EXE - Call AddWorkspaceToStartMenu + CreateShortCut "$SMPROGRAMS\NSIS\Contrib\zip2exe (Create SFX).lnk" "$INSTDIR\Bin\zip2exe.exe" ; Modern UI Push "Modern UI" @@ -1127,75 +722,39 @@ Section -post Push Splash Call AddReadmeToStartMenu - Push Splash - Call AddWorkspaceToStartMenu - ; Advanced splash Push AdvSplash Call AddReadmeToStartMenu - Push AdvSplash - Call AddWorkspaceToStartMenu ; Math Push Math Call AddReadmeToStartMenu - Push "Math\Source\Math.sln" - Push "Source\Math project workspace" - Call AddContribToStartMenu - ; NSISdl Push NSISdl Call AddReadmeToStartMenu - Push NSISdl - Call AddWorkspaceToStartMenu - - ; UserInfo - Push UserInfo - Call AddWorkspaceToStartMenu - ; nsExec Push nsExec Call AddReadmeToStartMenu - Push nsExec - Call AddWorkspaceToStartMenu - - ; LangDLL - Push LangDLL - Call AddWorkspaceToStartMenu - ; StartMenu Push StartMenu Call AddReadmeToStartMenu - Push StartMenu - Call AddWorkspaceToStartMenu - ; BgImage Push BgImage Call AddReadmeToStartMenu - Push BgImage - Call AddWorkspaceToStartMenu - ; Banner Push Banner Call AddReadmeToStartMenu - Push Banner - Call AddWorkspaceToStartMenu - ; System Push System Call AddReadmeToStartMenu - Push System\Source\System.sln - Push "Source\System project workspace" - Call AddContribToStartMenu - ; VPatch Push VPatch Call AddReadmeToStartMenu @@ -1203,11 +762,6 @@ Section -post no_startshortcuts: !endif - ; will only be removed if empty - SetDetailsPrint none - RMDir $INSTDIR\Contrib\Source - SetDetailsPrint lastused - WriteUninstaller $INSTDIR\uninst-nsis.exe SetDetailsPrint both @@ -1226,52 +780,31 @@ SectionEnd !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesDefaultUI} "The default NSIS user interface which you can customize to make your own UI" !insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesTinyUI} "A tiny version of the default user interface" !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} "Tools that help you with NSIS development" - !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsS} "Source code to tools that help you with NSIS development" - !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsUpdate} "A tool that lets you check for new NSIS releases and download the latest development files" !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsZ2E} "A utility that converts a ZIP file to a NSIS installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsZ2ES} "Source code to a utility that converts a ZIP file to a NSIS installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecGraphics} "Icons, checkbox images and other graphics" !insertmacro MUI_DESCRIPTION_TEXT ${SecLangFiles} "Language files used to support multiple languages in an installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsPlugins} "Useful plugins that extend NSIS's functionality" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsPluginsS} "Source code for plugins" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBanner} "Plugin that lets you show a banner before installation starts" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBannerS} "Source code to plugin that lets you show a banner before installation starts" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsLangDLL} "Plugin that lets you add a language select dialog to your installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsLangDLLS} "Source code to plugin that lets you add a language select dialog to your installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsnsExec} "Plugin that executes console programs and prints its output in the NSIS log window or hides it" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsnsExecS} "Source code to plugin that executes console programs and prints its output in the NSIS log window or hides it" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplash} "Splash screen add-on that lets you add a splash screen to an installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplashS} "Source code to splash screen add-on that lets you add a splash screen to an installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplashT} "Splash screen add-on with transparency support that lets you add a splash screen to an installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSplashTS} "Source code to splash screen add-on with transparency support that lets you add a splash screen to an installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSystem} "Plugin that lets you call Win32 API or external DLLs" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsSystemS} "Source code to plugin that lets you call Win32 API or external DLLs" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsMath} "Plugin that lets you evaluate complicated mathematical expressions" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsMathS} "Source code to plugin that lets you evaluate complicated mathematical expressions" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsDialer} "Plugin that provides internet connection functions" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsDialerS} "Source code to plugin that provides internet connection functions" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsIO} "Plugin that lets you add custom pages to an installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsIOS} "Source code to plugin that lets you add custom pages to an installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsStartMenu} "Plugin that lets the user select the start menu folder" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsStartMenuS} "Source code to plugin that lets the user select the start menu folder" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBgImage} "Plugin that lets you show a persistent background image plugin and play sounds" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBgImageS} "Source code to plugin that lets you show a persistent background image plugin and play sounds" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsUserInfo} "Plugin that that gives you the user name and the user account type" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsUserInfoS} "Source code to plugin that that gives you the user name and the user account type" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsNSISDL} "Plugin that lets you create a web based installer" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsNSISDLS} "Source code to plugin that lets you create a web based installer" !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsVPatch} "Plugin that lets you create patches to upgrade older files" - !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsVPatchS} "Source code to plugin that lets you create patches to upgrade older files" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSrc} "Source code to NSIS and all related files" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSrcNSIS} "Source code to NSIS" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSrcEx} "Example DLL plugin source in C and plugin function header" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSrcUIHolder} "Source code to the UI Holder where you can put your recources in to preview your user interface" - !insertmacro MUI_DESCRIPTION_TEXT ${SecSrcMNW} "Source code to MakeNSISW (compiler interface)" !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Installer Functions +!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD + Function .onInit !insertmacro MUI_INSTALLOPTIONS_EXTRACT "makensis.ini" @@ -1318,7 +851,7 @@ Function PageReinstall same_version: - !insertmacro MUI_INSTALLOPTIONS_WRITE "makensis.ini" "Field 1" "Text" "NSIS ${VER_DISPLAY} is already installed. Select the operation you want to perform and click Next to continue." + !insertmacro MUI_INSTALLOPTIONS_WRITE "makensis.ini" "Field 1" "Text" "NSIS ${VERSION} is already installed. Select the operation you want to perform and click Next to continue." !insertmacro MUI_INSTALLOPTIONS_WRITE "makensis.ini" "Field 2" "Text" "Add/Reinstall components" !insertmacro MUI_INSTALLOPTIONS_WRITE "makensis.ini" "Field 3" "Text" "Uninstall NSIS" !insertmacro MUI_HEADER_TEXT "Already Installed" "Choose the maintenance option to perform." @@ -1366,71 +899,25 @@ Function PageLeaveReinstall FunctionEnd -!macro secSelected SEC - SectionGetFlags ${SEC} $R7 - IntOp $R7 $R7 & ${SF_SELECTED} - IntCmp $R7 ${SF_SELECTED} 0 +2 +2 - IntOp $R0 $R0 + 1 -!macroend - -Function .onSelChange - ;Plugins are linked to ExDLL - StrCpy $R0 0 - !insertmacro secSelected ${SecPluginsSplashTS} - !insertmacro secSelected ${SecPluginsBannerS} - !insertmacro secSelected ${SecPluginsBgImageS} - !insertmacro secSelected ${SecPluginsIOS} - !insertmacro secSelected ${SecPluginsLangDLLS} - !insertmacro secSelected ${SecPluginsnsExecS} - !insertmacro secSelected ${SecPluginsNSISdlS} - !insertmacro secSelected ${SecPluginsSplashS} - !insertmacro secSelected ${SecPluginsStartMenuS} - !insertmacro secSelected ${SecPluginsUserInfoS} - !insertmacro secSelected ${SecPluginsDialerS} - SectionGetFlags ${SecSrcEx} $R7 - StrCmp $R0 0 notRequired - IntOp $R7 $R7 | ${SF_SELECTED} - SectionSetFlags ${SecSrcEx} $R7 - SectionSetText ${SecSrcEx} "ExDLL Source (required)" - Goto done - notRequired: - SectionSetText ${SecSrcEx} "ExDLL Source" - done: -FunctionEnd +!endif # VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD !ifndef NO_STARTMENUSHORTCUTS -Function AddContribToStartMenu - Pop $0 ; link - Pop $1 ; file - IfFileExists $INSTDIR\Contrib\$1 0 +2 - CreateShortCut $SMPROGRAMS\NSIS\Contrib\$0.lnk $INSTDIR\Contrib\$1 -FunctionEnd - -Function AddWorkspaceToStartMenu - Pop $0 - IfFileExists $INSTDIR\Contrib\$0\$0.dsw 0 done - Push $0\$0.dsw - Push "Source\$0 project workspace" - Call AddContribToStartMenu - done: -FunctionEnd - Function AddReadmeToStartMenu Pop $0 - IfFileExists $INSTDIR\Contrib\$0\$0.txt 0 +3 - Push $0\$0.txt + StrCpy $1 "$0 Readme" + IfFileExists $INSTDIR\Docs\$0\$0.txt 0 +3 + StrCpy $0 Docs\$0\$0.txt Goto create - IfFileExists $INSTDIR\Contrib\$0\$0.html 0 +3 - Push $0\$0.html + IfFileExists $INSTDIR\Docs\$0\$0.html 0 +3 + StrCpy $0 Docs\$0\$0.html Goto create - IfFileExists $INSTDIR\Contrib\$0\Readme.txt 0 +3 - Push $0\Readme.txt + IfFileExists $INSTDIR\Docs\$0\Readme.txt 0 +3 + StrCpy $0 Docs\$0\Readme.txt Goto create - IfFileExists $INSTDIR\Contrib\$0\Readme.html 0 done - Push $0\Readme.html + IfFileExists $INSTDIR\Docs\$0\Readme.html 0 done + StrCpy $0 Docs\$0\Readme.html create: - Push "$0 Readme" - Call AddContribToStartMenu + CreateShortCut $SMPROGRAMS\NSIS\Contrib\$1.lnk $INSTDIR\$0 done: FunctionEnd !endif @@ -1483,14 +970,14 @@ Section Uninstall Delete $INSTDIR\nsisconf.nsi Delete $INSTDIR\nsisconf.nsh Delete $INSTDIR\NSIS.chm - RMDIR /r $INSTDIR\CVS - RMDir /r $INSTDIR\Contrib - RMDir /r $INSTDIR\Menu - RMDir /r $INSTDIR\Source RMDir /r $INSTDIR\Bin - RMDir /r $INSTDIR\Plugins + RMDir /r $INSTDIR\Contrib + RMDir /r $INSTDIR\Docs RMDir /r $INSTDIR\Examples RMDir /r $INSTDIR\Include + RMDir /r $INSTDIR\Menu + RMDir /r $INSTDIR\Plugins + RMDir /r $INSTDIR\Stubs RMDir $INSTDIR SetDetailsPrint both