2003-01-04 16:25:28 +00:00
;NSIS Setup Script
2003-11-27 21:29:05 +00:00
;--------------------------------
2002-11-06 12:12:51 +00:00
2005-06-19 17:00:09 +00:00
!ifndef VERSION
!define VERSION 'anonymous-build'
!endif
2003-02-17 20:38:49 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Configuration
2002-11-06 12:12:51 +00:00
2005-06-19 17:00:09 +00:00
!ifdef OUTFILE
OutFile " ${OUTFILE} "
!else
2005-12-17 13:54:34 +00:00
OutFile ..\ nsis- ${VERSION} - setup.exe
2005-06-19 17:00:09 +00:00
!endif
2005-04-02 12:04:36 +00:00
SetCompressor /SOLID lzma
2002-10-27 17:10:57 +00:00
2003-11-27 21:29:05 +00:00
InstType " Full "
InstType " Lite "
2005-06-19 17:00:09 +00:00
InstType " Minimal "
2003-01-04 16:25:28 +00:00
InstallDir $PROGRAMFILES \ NSIS
2003-11-27 21:29:05 +00:00
InstallDirRegKey HKLM Software\ NSIS " "
2003-01-04 16:25:28 +00:00
;--------------------------------
2003-12-04 16:28:13 +00:00
;Header Files
2003-09-05 15:16:15 +00:00
!include " MUI.nsh "
2003-12-04 16:28:13 +00:00
!include " Sections.nsh "
2002-08-02 10:01:35 +00:00
2004-10-11 10:32:23 +00:00
;--------------------------------
;Definitions
!define SHCNE_ASSOCCHANGED 0x8000000
!define SHCNF_IDLIST 0
2003-09-05 15:16:15 +00:00
;--------------------------------
2003-10-08 11:19:25 +00:00
;Configuration
2003-01-04 16:25:28 +00:00
2003-09-05 15:16:15 +00:00
;Names
2003-09-12 16:05:00 +00:00
Name " NSIS "
2005-06-19 17:00:09 +00:00
Caption " NSIS ${VERSION} Setup "
2003-01-04 16:25:28 +00:00
2003-10-08 11:19:25 +00:00
;Interface Settings
!define MUI_ABORTWARNING
2003-10-22 19:23:45 +00:00
!define MUI_HEADERIMAGE
2004-02-06 23:17:43 +00:00
!define MUI_WELCOMEFINISHPAGE_BITMAP " ${NSISDIR} \Contrib\Graphics\Wizard\nsis.bmp "
2003-10-08 11:19:25 +00:00
!define MUI_COMPONENTSPAGE_SMALLDESC
2003-09-05 15:16:15 +00:00
;Pages
2005-06-19 17:00:09 +00:00
!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 "
2003-09-26 11:10:23 +00:00
2003-09-05 15:16:15 +00:00
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE " ..\license.txt "
2005-06-19 17:00:09 +00:00
!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
2003-10-08 17:44:33 +00:00
Page custom PageReinstall PageLeaveReinstall
2005-06-19 17:00:09 +00:00
!endif
2003-09-05 15:16:15 +00:00
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
2003-01-04 16:25:28 +00:00
2004-02-23 17:46:16 +00:00
!define MUI_FINISHPAGE_LINK " Visit the NSIS site for the latest news, FAQs and support "
2003-09-26 11:10:23 +00:00
!define MUI_FINISHPAGE_LINK_LOCATION " http://nsis.sf.net/ "
2003-11-06 15:05:27 +00:00
!define MUI_FINISHPAGE_RUN " $INSTDIR \NSIS.exe "
2003-09-05 15:16:15 +00:00
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
2003-01-04 16:25:28 +00:00
2003-09-05 15:16:15 +00:00
!insertmacro MUI_PAGE_FINISH
2002-12-17 13:47:24 +00:00
2003-09-05 15:16:15 +00:00
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE " English "
2002-08-02 10:01:35 +00:00
2003-10-08 17:44:33 +00:00
;--------------------------------
;Reserve Files
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
;These files should be inserted before other files in the data block
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
ReserveFile " makensis.ini "
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
2003-01-04 16:25:28 +00:00
;--------------------------------
;Installer Sections
2002-11-15 18:46:19 +00:00
2003-11-27 21:29:05 +00:00
Section " NSIS Core Files (required) " SecCore
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing NSIS Core Files... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2002-08-02 10:01:35 +00:00
SectionIn 1 2 3 RO
SetOutPath $INSTDIR
2002-09-20 20:41:16 +00:00
RMDir /r $SMPROGRAMS \ NSIS
2003-02-19 22:36:14 +00:00
SetOverwrite on
2002-08-02 10:01:35 +00:00
File ..\ makensis.exe
File ..\ makensisw.exe
File ..\ license.txt
2003-11-06 15:05:27 +00:00
File ..\ NSIS.chm
2003-12-04 22:12:25 +00:00
2003-11-06 15:05:27 +00:00
File ..\ NSIS.exe
2002-10-01 23:03:34 +00:00
IfFileExists $INSTDIR \ nsisconf.nsi " " + 2
Rename $INSTDIR \ nsisconf.nsi $INSTDIR \ nsisconf.nsh
2002-09-20 20:41:16 +00:00
SetOverwrite off
2002-10-01 23:03:34 +00:00
File ..\ nsisconf.nsh
2003-02-19 22:36:14 +00:00
SetOverwrite on
2002-09-20 20:41:16 +00:00
2005-06-19 17:00:09 +00:00
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
2002-12-06 17:20:16 +00:00
SetOutPath $INSTDIR \ Include
File ..\ Include\ WinMessages.nsh
2003-02-17 18:57:49 +00:00
File ..\ Include\ Sections.nsh
2004-08-07 07:55:53 +00:00
File ..\ Include\ Library.nsh
2003-11-12 17:35:04 +00:00
File ..\ Include\ UpgradeDLL.nsh
2003-12-14 01:15:44 +00:00
File ..\ Include\ LogicLib.nsh
2004-02-07 00:39:42 +00:00
File ..\ Include\ StrFunc.nsh
2004-07-24 12:34:47 +00:00
File ..\ Include\ Colors.nsh
2005-07-23 13:51:15 +00:00
File ..\ Include\ FileFunc.nsh
File ..\ Include\ TextFunc.nsh
File ..\ Include\ WordFunc.nsh
2002-12-06 17:20:16 +00:00
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ StrFunc
File ..\ Docs\ StrFunc\ StrFunc.txt
SetOutPath $INSTDIR \ Docs\ makensisw
File ..\ Docs\ makensisw\ * .txt
2003-12-04 22:12:25 +00:00
2003-11-06 15:05:27 +00:00
SetOutPath $INSTDIR \ Menu
File ..\ Menu\ * .html
SetOutPath $INSTDIR \ Menu\ images
2005-11-12 14:50:16 +00:00
File ..\ Menu\ images\ clear.gif
File ..\ Menu\ images\ header.gif
File ..\ Menu\ images\ line.gif
File ..\ Menu\ images\ menu.gif
File ..\ Menu\ images\ menud.gif
File ..\ Menu\ images\ site.gif
2003-12-04 22:12:25 +00:00
2003-11-10 18:51:23 +00:00
Delete $INSTDIR \ makensis.htm
2003-11-10 18:48:48 +00:00
Delete $INSTDIR \ Docs\ * .html
Delete $INSTDIR \ Docs\ style.css
RMDir $INSTDIR \ Docs
2003-12-04 22:12:25 +00:00
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ LibraryLocal.exe
File ..\ Bin\ RegTool.bin
2004-10-11 10:32:23 +00:00
2004-08-07 07:55:53 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ TypeLib.dll
2003-11-27 21:29:05 +00:00
ReadRegStr $R0 HKCR " .nsi " " "
2003-12-11 21:05:30 +00:00
StrCmp $R0 " NSISFile " 0 + 2
2003-11-27 21:29:05 +00:00
DeleteRegKey HKCR " NSISFile "
2003-12-11 21:05:30 +00:00
WriteRegStr HKCR " .nsi " " " " NSIS.Script "
WriteRegStr HKCR " NSIS.Script " " " " NSIS Script File "
WriteRegStr HKCR " NSIS.Script\DefaultIcon " " " " $INSTDIR \makensisw.exe,1 "
ReadRegStr $R0 HKCR " NSIS.Script\shell\open\command " " "
StrCmp $R0 " " 0 no_nsiopen
WriteRegStr HKCR " NSIS.Script\shell " " " " open "
WriteRegStr HKCR " NSIS.Script\shell\open\command " " " 'notepad.exe "%1"'
no_nsiopen :
WriteRegStr HKCR " NSIS.Script\shell\compile " " " " Compile NSIS Script "
WriteRegStr HKCR " NSIS.Script\shell\compile\command " " " '"$INSTDIR\makensisw.exe" "%1"'
WriteRegStr HKCR " NSIS.Script\shell\compile-compressor " " " " Compile NSIS Script (Choose Compressor) "
WriteRegStr HKCR " NSIS.Script\shell\compile-compressor\command " " " '"$INSTDIR\makensisw.exe" /ChooseCompressor "%1"'
2003-12-04 22:12:25 +00:00
2003-11-27 21:29:05 +00:00
ReadRegStr $R0 HKCR " .nsh " " "
2003-12-11 21:05:30 +00:00
StrCmp $R0 " NSHFile " 0 + 2
2003-11-27 21:29:05 +00:00
DeleteRegKey HKCR " NSHFile "
2003-12-11 21:05:30 +00:00
WriteRegStr HKCR " .nsh " " " " NSIS.Header "
WriteRegStr HKCR " NSIS.Header " " " " NSIS Header File "
WriteRegStr HKCR " NSIS.Header\DefaultIcon " " " " $INSTDIR \makensisw.exe,1 "
ReadRegStr $R0 HKCR " NSIS.Header\shell\open\command " " "
StrCmp $R0 " " 0 no_nshopen
WriteRegStr HKCR " NSIS.Header\shell " " " " open "
WriteRegStr HKCR " NSIS.Header\shell\open\command " " " 'notepad.exe "%1"'
no_nshopen :
2003-11-27 21:29:05 +00:00
2004-10-11 10:32:23 +00:00
System :: Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
2002-08-02 10:01:35 +00:00
SectionEnd
2003-02-20 09:49:19 +00:00
Section " Script Examples " SecExample
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Installing Script Examples... "
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1 2
2003-02-20 09:49:19 +00:00
SetOutPath $INSTDIR \ Examples
File ..\ Examples\ makensis.nsi
2003-11-18 11:39:52 +00:00
File ..\ Examples\ makensis.ini
2003-02-20 09:49:19 +00:00
File ..\ Examples\ example1.nsi
File ..\ Examples\ example2.nsi
File ..\ Examples\ viewhtml.nsi
File ..\ Examples\ waplugin.nsi
File ..\ Examples\ bigtest.nsi
File ..\ Examples\ primes.nsi
File ..\ Examples\ rtest.nsi
File ..\ Examples\ gfx.nsi
File ..\ Examples\ one- section .nsi
File ..\ Examples\ languages.nsi
2005-07-28 17:58:36 +00:00
File ..\ Examples\ Library.nsi
2003-06-10 19:34:15 +00:00
File ..\ Examples\ VersionInfo.nsi
2003-07-20 11:14:02 +00:00
File ..\ Examples\ UserVars.nsi
2003-12-14 01:15:44 +00:00
File ..\ Examples\ LogicLib.nsi
2003-12-17 23:57:19 +00:00
File ..\ Examples\ silent .nsi
2004-02-07 00:39:42 +00:00
File ..\ Examples\ StrFunc.nsi
2005-07-23 13:51:15 +00:00
File ..\ Examples\ FileFunc.nsi
File ..\ Examples\ FileFunc.ini
File ..\ Examples\ FileFuncTest.nsi
File ..\ Examples\ TextFunc.nsi
File ..\ Examples\ TextFunc.ini
File ..\ Examples\ TextFuncTest.nsi
File ..\ Examples\ WordFunc.nsi
File ..\ Examples\ WordFunc.ini
File ..\ Examples\ WordFuncTest.nsi
2003-02-20 09:49:19 +00:00
SectionEnd
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2003-11-27 21:29:05 +00:00
Section " Start Menu and Desktop Shortcuts " SecShortcuts
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Start Menu and Desktop Shortcuts... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2003-01-21 19:24:17 +00:00
!else
2003-11-27 21:29:05 +00:00
Section " Desktop Shortcut " SecShortcuts
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Installing Desktop Shortcut... "
SetDetailsPrint listonly
2003-01-21 19:24:17 +00:00
!endif
2005-06-19 17:00:09 +00:00
SectionIn 1 2
2002-09-20 19:20:10 +00:00
SetOutPath $INSTDIR
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2002-09-20 19:20:10 +00:00
CreateDirectory $SMPROGRAMS \ NSIS
2003-09-21 16:18:17 +00:00
2003-11-06 15:05:27 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Menu.lnk " " $INSTDIR \NSIS.exe " " "
2003-09-21 16:18:17 +00:00
2003-03-17 14:20:31 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\MakeNSISW (Compiler GUI).lnk " " $INSTDIR \makensisw.exe "
2003-09-21 16:18:17 +00:00
2003-11-06 15:05:27 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Documentation.lnk " " $INSTDIR \NSIS.chm "
WriteINIStr " $SMPROGRAMS \NSIS\NSIS Site.url " " InternetShortcut " " URL " " http://nsis.sourceforge.net/ "
2002-08-02 10:01:35 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Uninstall NSIS.lnk " " $INSTDIR \uninst-nsis.exe "
2003-12-04 22:12:25 +00:00
2003-01-21 19:24:17 +00:00
!endif
2003-09-21 16:18:17 +00:00
2003-11-06 15:05:27 +00:00
CreateShortCut " $DESKTOP \Nullsoft Install System.lnk " " $INSTDIR \NSIS.exe "
2003-12-04 22:12:25 +00:00
2002-08-02 10:01:35 +00:00
SectionEnd
2005-01-10 12:43:52 +00:00
SectionGroup " User Interfaces " SecInterfaces
2002-10-12 18:30:36 +00:00
2003-11-27 21:29:05 +00:00
Section " Modern User Interface " SecInterfacesModernUI
2003-07-12 14:44:38 +00:00
2003-12-01 11:36:04 +00:00
SetDetailsPrint textonly
2003-12-04 16:28:13 +00:00
DetailPrint " Installing User Interfaces | Modern User Interface... "
2003-12-01 11:36:04 +00:00
SetDetailsPrint listonly
2003-07-12 14:44:38 +00:00
2005-06-19 17:00:09 +00:00
SectionIn 1 2
2003-12-01 11:36:04 +00:00
2003-11-27 21:29:05 +00:00
SetOutPath " $INSTDIR \Examples\Modern UI "
File " ..\Examples\Modern UI\Basic.nsi "
File " ..\Examples\Modern UI\HeaderBitmap.nsi "
File " ..\Examples\Modern UI\MultiLanguage.nsi "
File " ..\Examples\Modern UI\InstallOptions.nsi "
File " ..\Examples\Modern UI\ioA.ini "
File " ..\Examples\Modern UI\ioB.ini "
File " ..\Examples\Modern UI\ioC.ini "
File " ..\Examples\Modern UI\StartMenu.nsi "
File " ..\Examples\Modern UI\WelcomeFinish.nsi "
SetOutPath " $INSTDIR \Contrib\Modern UI "
File " ..\Contrib\Modern UI\System.nsh "
File " ..\Contrib\Modern UI\ioSpecial.ini "
2004-10-11 10:32:23 +00:00
2005-06-19 17:00:09 +00:00
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 "
2003-11-27 21:29:05 +00:00
SetOutPath $INSTDIR \ Contrib\ UIs
File " ..\Contrib\UIs\modern.exe "
File " ..\Contrib\UIs\modern_headerbmp.exe "
File " ..\Contrib\UIs\modern_headerbmpr.exe "
File " ..\Contrib\UIs\modern_nodesc.exe "
File " ..\Contrib\UIs\modern_smalldesc.exe "
2004-10-11 10:32:23 +00:00
2003-11-27 21:29:05 +00:00
SetOutPath $INSTDIR \ Include
File " ..\Include\MUI.nsh "
2003-12-04 22:12:25 +00:00
2003-11-27 21:29:05 +00:00
SectionEnd
2003-09-21 16:18:17 +00:00
2003-11-27 21:29:05 +00:00
Section " Default User Interface " SecInterfacesDefaultUI
2003-07-12 14:44:38 +00:00
2003-12-01 11:36:04 +00:00
SetDetailsPrint textonly
2003-12-04 16:28:13 +00:00
DetailPrint " Installing User Interfaces | Default User Interface... "
2003-12-01 11:36:04 +00:00
SetDetailsPrint listonly
2003-07-12 14:44:38 +00:00
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-11-27 21:29:05 +00:00
SetOutPath " $INSTDIR \Contrib\UIs "
File " ..\Contrib\UIs\default.exe "
2003-09-21 16:18:17 +00:00
2003-11-27 21:29:05 +00:00
SectionEnd
2003-07-12 14:44:38 +00:00
2003-11-27 21:29:05 +00:00
Section " Tiny User Interface " SecInterfacesTinyUI
2003-07-12 14:44:38 +00:00
2003-12-01 11:36:04 +00:00
SetDetailsPrint textonly
2003-12-04 16:28:13 +00:00
DetailPrint " Installing User Interfaces | Tiny User Interface... "
2003-12-01 11:36:04 +00:00
SetDetailsPrint listonly
2003-11-27 21:29:05 +00:00
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-11-27 21:29:05 +00:00
SetOutPath " $INSTDIR \Contrib\UIs "
File " ..\Contrib\UIs\sdbarker_tiny.exe "
SectionEnd
2003-09-21 16:18:17 +00:00
2005-01-10 12:43:52 +00:00
SectionGroupEnd
2002-10-07 21:16:57 +00:00
2003-12-04 16:28:13 +00:00
Section " Graphics " SecGraphics
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Graphics... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-09-23 18:50:38 +00:00
Delete $INSTDIR \ Contrib\ Icons\ * .ico
Delete $INSTDIR \ Contrib\ Icons\ * .bmp
2003-11-10 18:48:48 +00:00
RMDir $INSTDIR \ Contrib\ Icons
2003-09-23 18:50:38 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics
File /r " ..\Contrib\Graphics\*.ico "
File /r " ..\Contrib\Graphics\*.bmp "
2002-08-02 10:01:35 +00:00
SectionEnd
2003-12-04 16:28:13 +00:00
Section " Language Files " SecLangFiles
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-12-04 16:28:13 +00:00
DetailPrint " Installing Language Files... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-09-21 16:18:17 +00:00
2002-08-04 20:25:10 +00:00
SetOutPath " $INSTDIR \Contrib\Language files "
File " ..\Contrib\Language files\*.nlf "
2003-09-21 16:18:17 +00:00
2002-08-26 16:56:33 +00:00
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ MakeLangID.exe
2003-09-21 16:18:17 +00:00
2003-12-04 16:28:13 +00:00
!insertmacro SectionFlagIsSet ${SecInterfacesModernUI} ${SF_SELECTED} mui nomui
mui :
SetOutPath " $INSTDIR \Contrib\Modern UI\Language files "
File " ..\Contrib\Modern UI\Language files\*.nsh "
2003-02-17 20:38:49 +00:00
nomui :
2003-09-21 16:18:17 +00:00
2002-08-04 20:25:10 +00:00
SectionEnd
2005-01-10 12:43:52 +00:00
SectionGroup " Tools " SecTools
2003-11-27 21:29:05 +00:00
Section " Zip2Exe " SecToolsZ2E
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Tools | Zip2Exe... "
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-11-27 21:29:05 +00:00
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ zip2exe.exe
SetOutPath $INSTDIR \ Contrib\ zip2exe
File ..\ Contrib\ zip2exe\ Base.nsh
File ..\ Contrib\ zip2exe\ Modern.nsh
File ..\ Contrib\ zip2exe\ Classic.nsh
SectionEnd
2005-01-10 12:43:52 +00:00
SectionGroupEnd
2003-11-27 21:29:05 +00:00
2005-01-10 12:43:52 +00:00
SectionGroup " Plug-ins " SecPluginsPlugins
2003-11-27 21:29:05 +00:00
Section " Banner " SecPluginsBanner
SetDetailsPrint textonly
DetailPrint " Installing Plug-ins | Banner... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-11-24 18:50:31 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ Banner.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ Banner
File ..\ Docs\ Banner\ Readme.txt
SetOutPath $INSTDIR \ Examples\ Banner
File ..\ Examples\ Banner\ Example.nsi
2002-11-24 18:50:31 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " Language DLL " SecPluginsLangDLL
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | Language DLL... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2002-08-29 13:36:46 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ LangDLL.dll
SectionEnd
2003-11-27 21:29:05 +00:00
Section " nsExec " SecPluginsnsExec
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | nsExec... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-09-05 16:41:54 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ nsExec.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ nsExec
File ..\ Docs\ nsExec\ nsExec.txt
SetOutPath $INSTDIR \ Examples\ nsExec
File ..\ Examples\ nsExec\ test.nsi
2002-09-05 16:41:54 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " Splash " SecPluginsSplash
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | Splash... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-09-20 23:13:34 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ splash.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ Splash
File ..\ Docs\ Splash\ splash.txt
SetOutPath $INSTDIR \ Examples\ Splash
File ..\ Examples\ Splash\ Example.nsi
2002-08-02 10:01:35 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " AdvSplash " SecPluginsSplashT
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | AdvSplash... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-10-02 19:54:16 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ advsplash.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ AdvSplash
File ..\ Docs\ AdvSplash\ advsplash.txt
SetOutPath $INSTDIR \ Examples\ AdvSplash
File ..\ Examples\ AdvSplash\ Example.nsi
2002-08-05 14:31:50 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " BgImage " SecPluginsBgImage
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | BgImage... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-11-08 21:05:57 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ BgImage.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ BgImage
File ..\ Docs\ BgImage\ BgImage.txt
SetOutPath $INSTDIR \ Examples\ BgImage
File ..\ Examples\ BgImage\ Example.nsi
2002-11-08 21:05:57 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " InstallOptions " SecPluginsIO
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-12-04 22:12:25 +00:00
DetailPrint " Installing Plug-ins | InstallOptions... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ InstallOptions.dll
2005-06-19 17:00:09 +00:00
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
2002-08-02 10:01:35 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " Math " SecPluginsMath
2003-09-21 16:18:17 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | Math... "
2003-09-21 16:18:17 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-09-21 16:18:17 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ Math.dll
2005-06-19 17:00:09 +00:00
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
2003-09-21 16:18:17 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " NSISdl " SecPluginsNSISDL
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | NSISdl... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-08-28 18:28:48 +00:00
SetOutPath $INSTDIR \ Plugins
2002-08-28 18:57:32 +00:00
File ..\ Plugins\ nsisdl.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ NSISdl
File ..\ Docs\ NSISdl\ ReadMe.txt
File ..\ Docs\ NSISdl\ License.txt
2002-08-02 10:01:35 +00:00
SectionEnd
2002-09-26 14:52:18 +00:00
2003-11-27 21:29:05 +00:00
Section " System " SecPluginsSystem
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | System... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-09-26 14:52:18 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ System .dll
2005-06-19 17:00:09 +00:00
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
2002-11-08 21:05:57 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " StartMenu " SecPluginsStartMenu
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | StartMenu... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-11-08 21:05:57 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ StartMenu.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ StartMenu
File ..\ Docs\ StartMenu\ Readme.txt
SetOutPath $INSTDIR \ Examples\ StartMenu
File ..\ Examples\ StartMenu\ Example.nsi
2002-09-26 14:52:18 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " UserInfo " SecPluginsUserInfo
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | UserInfo... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2002-09-26 14:52:18 +00:00
SetOutPath $INSTDIR \ Plugins
2002-11-08 21:05:57 +00:00
File ..\ Plugins\ UserInfo.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Examples\ UserInfo
File ..\ Examples\ UserInfo\ UserInfo.nsi
2002-09-26 14:52:18 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " Dialer " SecPluginsDialer
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | Dialer... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-02-19 21:29:44 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ Dialer.dll
2005-06-19 17:00:09 +00:00
SetOutPath $INSTDIR \ Docs\ Dialer
File ..\ Docs\ Dialer\ Dialer.txt
2003-02-19 21:29:44 +00:00
SectionEnd
2003-11-27 21:29:05 +00:00
Section " VPatch " SecPluginsVPatch
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
2003-11-27 21:29:05 +00:00
DetailPrint " Installing Plug-ins | VPatch... "
2003-07-12 14:44:38 +00:00
SetDetailsPrint listonly
2005-06-19 17:00:09 +00:00
SectionIn 1
2003-12-01 11:36:04 +00:00
2003-05-21 12:24:22 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ VPatch.dll
2005-06-19 17:00:09 +00:00
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
2005-09-17 09:25:44 +00:00
SetOutPath $INSTDIR \ Include
File ..\ Include\ VPatchLib.nsh
2003-05-21 12:24:22 +00:00
SectionEnd
2005-01-10 12:43:52 +00:00
SectionGroupEnd
2002-08-02 10:01:35 +00:00
Section - post
2003-02-17 20:38:49 +00:00
2003-02-20 09:49:19 +00:00
; When Modern UI is installed:
; * Always install the English language file
; * Always install default icons / bitmaps
2003-02-17 20:38:49 +00:00
2003-12-04 16:28:13 +00:00
!insertmacro SectionFlagIsSet ${SecInterfacesModernUI} ${SF_SELECTED} mui nomui
2003-12-04 22:12:25 +00:00
mui :
2003-07-12 14:44:38 +00:00
2003-12-04 16:28:13 +00:00
SetDetailsPrint textonly
DetailPrint " Configurating Modern UI... "
SetDetailsPrint listonly
2003-07-12 14:44:38 +00:00
2003-12-04 16:28:13 +00:00
!insertmacro SectionFlagIsSet ${SecLangFiles} ${SF_SELECTED} langfiles nolangfiles
2003-12-04 22:12:25 +00:00
2003-12-04 16:28:13 +00:00
nolangfiles :
2003-12-04 22:12:25 +00:00
2003-12-04 16:28:13 +00:00
SetOutPath " $INSTDIR \Contrib\Language files "
File " ..\Contrib\Language files\English.nlf "
2003-11-25 21:07:51 +00:00
SetOutPath " $INSTDIR \Contrib\Modern UI\Language files "
2003-12-04 16:28:13 +00:00
File " ..\Contrib\Modern UI\Language files\Default.nsh "
2003-02-17 20:38:49 +00:00
File " ..\Contrib\Modern UI\Language files\English.nsh "
2003-09-21 16:18:17 +00:00
2003-02-20 09:49:19 +00:00
langfiles :
2003-09-21 16:18:17 +00:00
2003-12-04 16:28:13 +00:00
!insertmacro SectionFlagIsSet ${SecGraphics} ${SF_SELECTED} graphics nographics
2003-12-04 22:12:25 +00:00
2003-12-04 16:28:13 +00:00
nographics :
2003-12-04 22:12:25 +00:00
2003-09-23 18:50:38 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics
2003-12-04 16:28:13 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics\ Checks
File " ..\Contrib\Graphics\Checks\modern.bmp "
2003-09-23 18:50:38 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics\ Icons
File " ..\Contrib\Graphics\Icons\modern-install.ico "
File " ..\Contrib\Graphics\Icons\modern-uninstall.ico "
2003-12-04 16:28:13 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics\ Header
File " ..\Contrib\Graphics\Header\nsis.bmp "
2003-09-23 19:57:55 +00:00
SetOutPath $INSTDIR \ Contrib\ Graphics\ Wizard
2003-09-23 18:50:38 +00:00
File " ..\Contrib\Graphics\Wizard\win.bmp "
2003-09-21 16:18:17 +00:00
2003-02-20 09:49:19 +00:00
graphics :
2003-09-21 16:18:17 +00:00
2003-02-20 09:49:19 +00:00
nomui :
2003-09-21 16:18:17 +00:00
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Creating Registry Keys... "
SetDetailsPrint listonly
2003-02-17 20:38:49 +00:00
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR
2003-09-21 16:18:17 +00:00
2003-10-08 17:44:33 +00:00
WriteRegStr HKLM " Software\NSIS " " " $INSTDIR
2005-06-19 17:00:09 +00:00
!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
2003-10-08 17:44:33 +00:00
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} "
2005-06-19 17:00:09 +00:00
!endif
2003-10-08 17:44:33 +00:00
2003-10-09 22:16:26 +00:00
WriteRegExpandStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " UninstallString " '"$INSTDIR\uninst-nsis.exe"'
2003-02-17 20:38:49 +00:00
WriteRegExpandStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " InstallLocation " " $INSTDIR "
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " DisplayName " " Nullsoft Install System "
2003-11-12 17:35:04 +00:00
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " DisplayIcon " " $INSTDIR \NSIS.exe,0 "
2005-06-19 17:00:09 +00:00
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " DisplayVersion " " ${VERSION} "
!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
2003-02-17 20:38:49 +00:00
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " VersionMajor " " ${VER_MAJOR} "
2003-10-08 17:44:33 +00:00
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " VersionMinor " " ${VER_MINOR}.${VER_REVISION} "
2005-06-19 17:00:09 +00:00
!endif
2003-11-27 21:29:05 +00:00
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " URLInfoAbout " " http://nsis.sourceforge.net/ "
2005-11-08 20:20:20 +00:00
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " HelpLink " " http://nsis.sourceforge.net/Support "
2003-02-17 20:38:49 +00:00
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " NoModify " " 1 "
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " NoRepair " " 1 "
2003-09-21 16:18:17 +00:00
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2003-09-23 19:57:55 +00:00
IfFileExists $SMPROGRAMS \ NSIS " " no_startshortcuts
2002-09-20 19:20:10 +00:00
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Creating Shortcuts... "
SetDetailsPrint listonly
2003-02-17 20:38:49 +00:00
IfFileExists $INSTDIR \ Examples 0 + 2
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Examples Directory.lnk " " $INSTDIR \Examples "
2002-09-20 20:41:16 +00:00
2002-12-02 15:51:33 +00:00
; MakeNSISW
CreateDirectory $SMPROGRAMS \ NSIS\ Contrib
2005-06-19 17:00:09 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\MakeNSISw Readme.lnk " " $INSTDIR \Docs\makensisw\readme.txt "
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; ZIP2EXE
2003-02-17 20:38:49 +00:00
IfFileExists " $INSTDIR \Bin\zip2exe.exe " 0 + 2
2005-06-19 17:00:09 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\zip2exe (Create SFX).lnk " " $INSTDIR \Bin\zip2exe.exe "
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; Modern UI
2004-06-04 16:31:45 +00:00
Push " Modern UI "
Call AddReadmeToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; Splash
Push Splash
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2002-12-02 15:51:33 +00:00
; Advanced splash
Push AdvSplash
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2003-09-22 23:20:47 +00:00
; Math
Push Math
Call AddReadmeToStartMenu
2002-12-02 15:51:33 +00:00
; NSISdl
Push NSISdl
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2002-12-02 15:51:33 +00:00
; nsExec
Push nsExec
Call AddReadmeToStartMenu
2002-09-20 19:20:10 +00:00
2002-12-02 15:51:33 +00:00
; StartMenu
Push StartMenu
Call AddReadmeToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; BgImage
Push BgImage
Call AddReadmeToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; Banner
Push Banner
Call AddReadmeToStartMenu
2002-11-24 18:50:31 +00:00
2002-12-02 15:51:33 +00:00
; System
Push System
Call AddReadmeToStartMenu
2002-11-08 21:05:57 +00:00
2003-05-21 12:24:22 +00:00
; VPatch
2004-06-04 16:31:45 +00:00
Push VPatch
Call AddReadmeToStartMenu
2002-11-08 21:05:57 +00:00
2005-07-16 15:29:34 +00:00
; InstallOptions
Push InstallOptions
Call AddReadmeToStartMenu
2003-09-23 19:57:55 +00:00
no_startshortcuts :
2003-01-21 19:24:17 +00:00
!endif
2003-09-21 16:18:17 +00:00
2002-08-02 10:01:35 +00:00
WriteUninstaller $INSTDIR \ uninst- nsis.exe
2003-07-12 14:44:38 +00:00
SetDetailsPrint both
2002-11-15 18:46:19 +00:00
SectionEnd
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Descriptions
2003-09-04 20:25:32 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} " The core files required to use NSIS (compiler etc.) "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecExample} " Example installation scripts that show you how to use NSIS "
2003-11-27 21:29:05 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} " Adds icons to your start menu and your desktop for easy access "
!insertmacro MUI_DESCRIPTION_TEXT ${SecInterfaces} " User interface designs that can be used to change the installer look and feel "
!insertmacro MUI_DESCRIPTION_TEXT ${SecInterfacesModernUI} " A modern user interface like the wizards of recent Windows versions "
!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 ${SecToolsZ2E} " A utility that converts a ZIP file to a NSIS installer "
2003-12-04 16:28:13 +00:00
!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 "
2003-11-27 21:29:05 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsPlugins} " Useful plugins that extend NSIS's functionality "
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsBanner} " 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 ${SecPluginsnsExec} " 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 ${SecPluginsSplashT} " 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 ${SecPluginsMath} " Plugin that lets you evaluate complicated mathematical expressions "
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsDialer} " 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 ${SecPluginsStartMenu} " 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 ${SecPluginsUserInfo} " 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 ${SecPluginsVPatch} " Plugin that lets you create patches to upgrade older files "
2003-09-04 20:25:32 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_END
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Installer Functions
2005-06-19 17:00:09 +00:00
!ifdef VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
2003-10-08 17:44:33 +00:00
Function .onInit
!insertmacro MUI_INSTALLOPTIONS_EXTRACT " makensis.ini "
FunctionEnd
Function PageReinstall
ReadRegStr $R0 HKLM " Software\NSIS " " "
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
StrCmp $R0 " " 0 + 2
Abort
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
;Detect version
ReadRegDWORD $R0 HKLM " Software\NSIS " " VersionMajor "
IntCmp $R0 ${VER_MAJOR} minor_check new_version older_version
minor_check :
ReadRegDWORD $R0 HKLM " Software\NSIS " " VersionMinor "
IntCmp $R0 ${VER_MINOR} revision_check new_version older_version
revision_check :
ReadRegDWORD $R0 HKLM " Software\NSIS " " VersionRevision "
IntCmp $R0 ${VER_REVISION} build_check new_version older_version
build_check :
ReadRegDWORD $R0 HKLM " Software\NSIS " " VersionBuild "
IntCmp $R0 ${VER_BUILD} same_version new_version older_version
new_version :
2003-12-03 15:43:22 +00:00
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 1 " " Text " " An older version of NSIS is installed on your system. It's recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue. "
2003-10-08 17:44:33 +00:00
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 2 " " Text " " Uninstall before installing "
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 3 " " Text " " Do not uninstall "
!insertmacro MUI_HEADER_TEXT " Already Installed " " Choose how you want to install NSIS. "
StrCpy $R0 " 1 "
Goto reinst_start
older_version :
2003-12-03 12:30:11 +00:00
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 1 " " Text " " A newer version of NSIS is already installed! It is not recommended that you install an older version. If you really want to install this older version, it's better to uninstall the current version first. Select the operation you want to perform and click Next to continue. "
2003-10-08 17:44:33 +00:00
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 2 " " Text " " Uninstall before installing "
!insertmacro MUI_INSTALLOPTIONS_WRITE " makensis.ini " " Field 3 " " Text " " Do not uninstall "
!insertmacro MUI_HEADER_TEXT " Already Installed " " Choose how you want to install NSIS. "
StrCpy $R0 " 1 "
Goto reinst_start
same_version :
2005-06-19 17:00:09 +00:00
!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. "
2003-10-08 17:44:33 +00:00
!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. "
StrCpy $R0 " 2 "
reinst_start :
!insertmacro MUI_INSTALLOPTIONS_DISPLAY " makensis.ini "
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
FunctionEnd
Function PageLeaveReinstall
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
!insertmacro MUI_INSTALLOPTIONS_READ $R1 " makensis.ini " " Field 2 " " State "
StrCmp $R0 " 1 " 0 + 2
StrCmp $R1 " 1 " reinst_uninstall reinst_done
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
StrCmp $R0 " 2 " 0 + 3
StrCmp $R1 " 1 " reinst_done reinst_uninstall
reinst_uninstall :
ReadRegStr $R1 HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " UninstallString "
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
;Run uninstaller
HideWindow
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
ClearErrors
2003-10-09 22:16:26 +00:00
ExecWait '$R1 _?=$INSTDIR'
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
IfErrors no_remove_uninstaller
IfFileExists " $INSTDIR \makensis.exe " no_remove_uninstaller
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
Delete $R1
RMDir $INSTDIR
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
no_remove_uninstaller :
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
StrCmp $R0 " 2 " 0 + 2
Quit
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
BringToFront
reinst_done :
2003-12-04 22:12:25 +00:00
2003-10-08 17:44:33 +00:00
FunctionEnd
2005-06-19 17:00:09 +00:00
!endif # VER_MAJOR & VER_MINOR & VER_REVISION & VER_BUILD
2003-01-04 16:25:28 +00:00
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2003-01-04 16:25:28 +00:00
Function AddReadmeToStartMenu
Pop $0
2005-06-19 17:00:09 +00:00
StrCpy $1 " $0 Readme "
IfFileExists $INSTDIR \ Docs\ $0 \ $0 .txt 0 + 3
StrCpy $0 Docs\ $0 \ $0 .txt
2003-01-04 16:25:28 +00:00
Goto create
2005-06-19 17:00:09 +00:00
IfFileExists $INSTDIR \ Docs\ $0 \ $0 .html 0 + 3
StrCpy $0 Docs\ $0 \ $0 .html
2004-06-04 16:31:45 +00:00
Goto create
2005-06-19 17:00:09 +00:00
IfFileExists $INSTDIR \ Docs\ $0 \ Readme.txt 0 + 3
StrCpy $0 Docs\ $0 \ Readme.txt
2004-06-04 16:31:45 +00:00
Goto create
2005-06-19 17:00:09 +00:00
IfFileExists $INSTDIR \ Docs\ $0 \ Readme.html 0 done
StrCpy $0 Docs\ $0 \ Readme.html
2003-01-04 16:25:28 +00:00
create :
2005-06-19 17:00:09 +00:00
CreateShortCut $SMPROGRAMS \ NSIS\ Contrib\ $1 .lnk $INSTDIR \ $0
2003-01-04 16:25:28 +00:00
done :
FunctionEnd
2003-01-21 19:24:17 +00:00
!endif
2003-01-04 16:25:28 +00:00
;--------------------------------
;Uninstaller Section
2002-08-02 10:01:35 +00:00
Section Uninstall
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Uninstalling NSI Development Shell Extensions... "
SetDetailsPrint listonly
2003-12-04 16:28:13 +00:00
IfFileExists $INSTDIR \ makensis.exe nsis_installed
MessageBox MB_YESNO " It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)? " IDYES nsis_installed
2002-08-02 10:01:35 +00:00
Abort " Uninstall aborted by user "
2003-12-04 16:28:13 +00:00
nsis_installed :
2002-09-11 02:14:39 +00:00
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Deleting Registry Keys... "
SetDetailsPrint listonly
2003-12-04 22:12:25 +00:00
2003-12-04 16:28:13 +00:00
ReadRegStr $R0 HKCR " .nsi " " "
StrCmp $R0 " NSIS.Script " 0 + 2
DeleteRegKey HKCR " .nsi "
2003-12-04 22:12:25 +00:00
2003-12-04 16:28:13 +00:00
ReadRegStr $R0 HKCR " .nsh " " "
StrCmp $R0 " NSIS.Header " 0 + 2
DeleteRegKey HKCR " .nsh "
2003-07-12 14:44:38 +00:00
2003-12-04 16:28:13 +00:00
DeleteRegKey HKCR " NSIS.Script "
DeleteRegKey HKCR " NSIS.Header "
2003-12-04 22:12:25 +00:00
2004-10-11 10:32:23 +00:00
System :: Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
2002-08-02 10:01:35 +00:00
DeleteRegKey HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS "
2003-12-04 16:28:13 +00:00
DeleteRegKey HKLM " Software\NSIS "
2002-08-02 10:01:35 +00:00
2003-07-12 14:44:38 +00:00
SetDetailsPrint textonly
DetailPrint " Deleting Files... "
SetDetailsPrint listonly
2002-09-20 20:41:16 +00:00
RMDir /r $SMPROGRAMS \ NSIS
2003-02-17 21:49:22 +00:00
Delete " $DESKTOP \Nullsoft Install System.lnk "
2002-12-06 20:24:44 +00:00
Delete $INSTDIR \ makensis.exe
Delete $INSTDIR \ makensisw.exe
2003-02-17 21:49:22 +00:00
Delete $INSTDIR \ NSIS.exe
2002-09-19 16:27:17 +00:00
Delete $INSTDIR \ license.txt
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ uninst- nsis.exe
Delete $INSTDIR \ nsisconf.nsi
2002-10-01 23:03:34 +00:00
Delete $INSTDIR \ nsisconf.nsh
2003-11-10 18:48:48 +00:00
Delete $INSTDIR \ NSIS.chm
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Bin
2005-06-19 17:00:09 +00:00
RMDir /r $INSTDIR \ Contrib
RMDir /r $INSTDIR \ Docs
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Examples
2002-12-06 20:24:44 +00:00
RMDir /r $INSTDIR \ Include
2005-06-19 17:00:09 +00:00
RMDir /r $INSTDIR \ Menu
RMDir /r $INSTDIR \ Plugins
RMDir /r $INSTDIR \ Stubs
2002-08-02 10:01:35 +00:00
RMDir $INSTDIR
2003-07-12 14:44:38 +00:00
SetDetailsPrint both
2003-12-04 22:12:25 +00:00
SectionEnd