2003-01-04 16:25:28 +00:00
;NSIS Setup Script
2002-11-06 12:12:51 +00:00
2002-08-02 10:01:35 +00:00
!define VER_MAJOR 2
2003-03-20 11:33:35 +00:00
!define VER_MINOR 0b4
2002-08-02 10:01:35 +00:00
2003-02-17 20:38:49 +00:00
;--------------------------------
;Compile CVS Data Setup
2003-02-21 15:29:16 +00:00
!system '"${NSISDIR}\Bin\InstallCVSData.exe" nooverwrite'
!system '"${NSISDIR}\makensis.exe" cvsdata.nsi' = 0
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
2003-01-04 16:25:28 +00:00
OutFile ..\ nsis${VER_MAJOR} ${VER_MINOR} .exe
2002-10-27 17:17:46 +00:00
SetCompressor bzip2
2002-10-27 17:10:57 +00:00
2003-01-04 16:25:28 +00:00
InstType " Full (w/ Source and Contrib) "
InstType " Normal (w/ Contrib, w/o Source) "
InstType " Lite (w/o Source or Contrib) "
ShowInstDetails show
ShowUninstDetails show
SetDateSave on
InstallDir $PROGRAMFILES \ NSIS
InstallDirRegKey HKLM SOFTWARE\ NSIS " "
;--------------------------------
2002-09-20 17:31:27 +00:00
!ifndef CLASSIC_UI
2002-10-27 17:17:46 +00:00
2003-01-04 16:25:28 +00:00
;Include Modern UI Macro's
2002-10-27 17:10:57 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\System.nsh "
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Modern UI Configuration
2003-05-25 20:26:28 +00:00
;Names
2003-01-04 16:25:28 +00:00
!define MUI_PRODUCT " NSIS "
2003-03-20 11:33:35 +00:00
!define MUI_VERSION " 2.0b4 (CVS) "
2003-01-04 16:25:28 +00:00
!define MUI_NAME " Nullsoft Install System ${MUI_VERSION} " ;Installer name
2003-05-25 20:26:28 +00:00
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
2002-11-15 18:46:19 +00:00
2003-05-25 20:26:28 +00:00
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;Settings
!define MUI_ABORTWARNING
2003-01-04 16:25:28 +00:00
2003-03-09 18:55:57 +00:00
!define MUI_HEADERBITMAP " ${NSISDIR} \Contrib\Icons\modern-header.bmp "
2003-01-11 21:31:26 +00:00
!define MUI_SPECIALBITMAP " ${NSISDIR} \Contrib\Icons\modern-wizard nsis llama.bmp "
2003-01-04 16:25:28 +00:00
2003-05-25 20:26:28 +00:00
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_SHOWREADME " $INSTDIR \Docs\index.html "
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
2003-01-04 16:25:28 +00:00
;--------------------------------
;Languages
2003-02-17 20:38:49 +00:00
!define MUI_TEXT_WELCOME_INFO_TEXT " This wizard will guide you through the installation of NSIS, a scriptable win32 installer/uninstaller system that doesn't suck and isn't huge.\r\n\r\n\r\n "
2002-12-17 13:47:24 +00:00
!insertmacro MUI_LANGUAGE " English "
2002-10-27 17:17:46 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Reserve Files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
!insertmacro MUI_RESERVEFILE_SPECIALINI
!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
2002-11-06 12:12:51 +00:00
2002-09-20 17:31:27 +00:00
!endif
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Data
2002-08-28 19:45:45 +00:00
2003-01-04 16:25:28 +00:00
LicenseData ..\ license.txt
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Installer Sections
2002-11-15 18:46:19 +00:00
2003-02-17 20:38:49 +00:00
!define SF_SELECTED 1
2002-08-29 01:59:08 +00:00
Section " NSIS Development System (required) " SecCore
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 12:45:31 +00:00
Delete $INSTDIR \ makensis- bz2.exe
2002-08-02 10:01:35 +00:00
File ..\ makensis.exe
File ..\ makensisw.exe
File ..\ makensis.htm
File ..\ license.txt
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
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
2002-12-06 17:20:16 +00:00
2002-09-18 18:44:13 +00:00
SetOutPath $INSTDIR \ Docs
File ..\ Docs\ * .html
File ..\ Docs\ * .css
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR \ Contrib\ Makensisw
File ..\ contrib\ makensisw\ * .txt
2002-08-02 10:01:35 +00:00
SectionEnd
2003-02-20 09:49:19 +00:00
Section " Script Examples " SecExample
SectionIn 1 2 3
SetOutPath $INSTDIR \ Examples
Delete $INSTDIR \ functions.htm
2003-02-20 09:57:11 +00:00
File ..\ Examples\ cvsdata.nsi
2003-02-20 09:49:19 +00:00
File ..\ Examples\ makensis.nsi
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
2003-06-10 19:34:15 +00:00
File ..\ Examples\ VersionInfo.nsi
2003-02-20 09:49:19 +00:00
SectionEnd
2003-02-17 20:38:49 +00:00
Section " NSIS Menu " SecMenu
SectionIn 1 2 3
SetOutPath $INSTDIR
File ..\ NSIS.exe
SetOutPath $INSTDIR \ Menu
File ..\ Menu\ * .html
SetOutPath $INSTDIR \ Menu\ images
File ..\ Menu\ images\ * .gif
SectionEnd
Section " NSIS Update " SecUpdate
SectionIn 1 2 3
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ NSISUpdate.exe
File ..\ Bin\ InstallCVSData.exe
SectionEnd
2002-08-29 01:59:08 +00:00
Section " NSI Development Shell Extensions " SecExtention
2002-08-02 10:01:35 +00:00
SectionIn 1 2 3
; back up old value of .nsi
ReadRegStr $1 HKCR " .nsi " " "
StrCmp $1 " " Label1
StrCmp $1 " NSISFile " Label1
WriteRegStr HKCR " .nsi " " backup_val " $1
Label1 :
2002-09-11 02:14:39 +00:00
WriteRegStr HKCR " .nsh " " " " NSHFile "
2003-02-11 17:58:16 +00:00
ReadRegStr $0 HKCR " NSHFile " " "
2003-02-13 11:28:56 +00:00
StrCmp $0 " " 0 skipNSHAssoc
2003-02-11 17:58:16 +00:00
WriteRegStr HKCR " NSHFile " " " " NSIS Header File "
WriteRegStr HKCR " NSHFile\shell " " " " open "
WriteRegStr HKCR " NSHFile\DefaultIcon " " " $INSTDIR \ makensisw.exe, 1
skipNSHAssoc :
2002-09-11 02:14:39 +00:00
WriteRegStr HKCR " NSHFile\shell\open\command " " " 'notepad.exe "%1"'
2002-08-02 10:01:35 +00:00
WriteRegStr HKCR " .nsi " " " " NSISFile "
2003-02-11 17:58:16 +00:00
ReadRegStr $0 HKCR " NSISFile " " "
StrCmp $0 " " 0 skipNSIAssoc
WriteRegStr HKCR " NSISFile " " " " NSIS Script File "
WriteRegStr HKCR " NSISFile\shell " " " " open "
WriteRegStr HKCR " NSISFile\DefaultIcon " " " $INSTDIR \ makensisw.exe, 1
skipNSIAssoc :
2002-08-02 10:01:35 +00:00
WriteRegStr HKCR " NSISFile\shell\open\command " " " 'notepad.exe "%1"'
WriteRegStr HKCR " NSISFile\shell\compile " " " " Compile NSI "
2002-11-14 20:03:07 +00:00
WriteRegStr HKCR " NSISFile\shell\compile\command " " " '"$INSTDIR\makensisw.exe" "%1"'
2002-08-02 10:01:35 +00:00
WriteRegStr HKCR " NSISFile\shell\compile-bz2 " " " " Compile NSI (with bz2) "
2002-11-14 20:03:07 +00:00
WriteRegStr HKCR " NSISFile\shell\compile-bz2\command " " " '"$INSTDIR\makensisw.exe" /X"SetCompressor bzip2" "%1"'
2002-08-02 10:01:35 +00:00
SectionEnd
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2002-09-20 19:20:10 +00:00
Section " Start Menu + Desktop Shortcuts " SecIcons
2003-01-21 19:24:17 +00:00
!else
Section " Desktop Shortcut " SecIcons
!endif
2002-08-02 10:01:35 +00:00
SectionIn 1 2 3
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-02-17 20:38:49 +00:00
IfFileExists " $INSTDIR \NSIS.exe " " " + 2
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Menu.lnk " " $INSTDIR \NSIS.exe " " "
2003-03-17 14:20:31 +00:00
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 "
2003-02-26 15:30:20 +00:00
WriteINIStr " $SMPROGRAMS \NSIS\NSIS Development 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 "
2002-12-06 19:08:49 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Documentation.lnk " " $INSTDIR \Docs\index.html "
2003-01-21 19:24:17 +00:00
!endif
2002-09-20 20:41:16 +00:00
2003-02-17 20:38:49 +00:00
IfFileExists " $INSTDIR \NSIS.exe " " " + 3
2003-03-17 14:20:31 +00:00
CreateShortCut " $DESKTOP \Nullsoft Install System.lnk " " $INSTDIR \NSIS.exe "
2003-02-17 20:38:49 +00:00
Goto + 2
2003-03-17 14:20:31 +00:00
CreateShortCut " $DESKTOP \Nullsoft Install System.lnk " " $INSTDIR \makensisw.exe "
2003-02-17 20:38:49 +00:00
2002-08-02 10:01:35 +00:00
SectionEnd
2002-08-29 01:59:08 +00:00
SubSection " Contrib " SecContrib
2002-10-12 18:30:36 +00:00
SubSection " Extra User Interfaces " SecContribUIs
Section " Modern User Interface " SecContribModernUI
SectionIn 1 2
SetOutPath " $INSTDIR \Examples\Modern UI "
File " ..\Examples\Modern UI\Basic.nsi "
2003-03-09 19:00:12 +00:00
File " ..\Examples\Modern UI\HeaderBitmap.nsi "
2002-10-12 18:30:36 +00:00
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 "
2002-12-05 17:20:58 +00:00
File " ..\Examples\Modern UI\StartMenu.nsi "
File " ..\Examples\Modern UI\WelcomeFinish.nsi "
2003-02-17 20:38:49 +00:00
2002-10-12 18:30:36 +00:00
SetOutPath " $INSTDIR \Contrib\Modern UI "
File " ..\Contrib\Modern UI\System.nsh "
File " ..\Contrib\Modern UI\Readme.jpg "
File " ..\Contrib\Modern UI\Readme.html "
2002-11-01 20:51:14 +00:00
File " ..\Contrib\Modern UI\Changelog.txt "
2002-10-12 18:30:36 +00:00
File " ..\Contrib\Modern UI\Screenshot.png "
2002-12-01 22:22:02 +00:00
File " ..\Contrib\Modern UI\Screenshot2.png "
2002-10-12 18:30:36 +00:00
File " ..\Contrib\Modern UI\License.txt "
2002-12-05 17:20:58 +00:00
File " ..\Contrib\Modern UI\ioSpecial.ini "
2003-02-17 20:38:49 +00:00
SetOutPath $INSTDIR \ Contrib\ UIs
2002-10-12 18:30:36 +00:00
File " ..\Contrib\UIs\modern.exe "
2003-03-09 19:00:12 +00:00
File " ..\Contrib\UIs\modern_headerbmp.exe "
File " ..\Contrib\UIs\modern_headerbmpr.exe "
File " ..\Contrib\UIs\modern_nodesc.exe "
File " ..\Contrib\UIs\modern_smalldesc.exe "
2003-02-17 20:38:49 +00:00
2003-03-16 19:46:20 +00:00
Delete " $INSTDIR \Contrib\UIs\modern2.exe "
Delete " $INSTDIR \Contrib\UIs\modern3.exe "
2003-03-09 19:00:12 +00:00
SetOutPath $INSTDIR \ Include
File " ..\Include\MUI.nsh "
2003-02-17 20:38:49 +00:00
2002-10-12 18:30:36 +00:00
SectionEnd
Section " Default User Interface " SecContribDefaultUI
SectionIn 1 2
SetOutPath " $INSTDIR \Contrib\UIs "
File " ..\Contrib\UIs\default.exe "
SectionEnd
2002-12-05 16:28:15 +00:00
Section " Tiny User Interface " SecContribTinyUI
SectionIn 1 2
SetOutPath " $INSTDIR \Contrib\UIs "
File " ..\Contrib\UIs\sdbarker_tiny.exe "
SectionEnd
2002-10-12 18:30:36 +00:00
SubSectionEnd
2002-10-07 21:16:57 +00:00
2003-02-20 09:49:19 +00:00
Section " Graphics " SecContribGraphics
2002-08-02 10:01:35 +00:00
SectionIn 1 2
SetOutPath $INSTDIR \ Contrib\ Icons
Delete $INSTDIR \ Contrib\ * .ico
Delete $INSTDIR \ Contrib\ * .bmp
File ..\ Contrib\ Icons\ * .ico
File ..\ Contrib\ Icons\ * .bmp
SectionEnd
2002-08-29 01:59:08 +00:00
Section " Language files " SecContribLang
2002-08-04 20:25:10 +00:00
SectionIn 1 2
2003-02-17 20:38:49 +00:00
2002-08-04 20:25:10 +00:00
SetOutPath " $INSTDIR \Contrib\Language files "
File " ..\Contrib\Language files\*.nlf "
2003-02-17 20:38:49 +00:00
2002-08-26 16:56:33 +00:00
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ MakeLangID.exe
2003-02-17 20:38:49 +00:00
SectionGetFlags ${SecContribModernUI} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} 0 nomui nomui
SetOutPath " $INSTDIR \Contrib\Modern UI\Language files "
File " ..\Contrib\Modern UI\Language files\*.nsh "
nomui :
2002-08-04 20:25:10 +00:00
SectionEnd
2002-09-22 20:04:44 +00:00
SubSection " Plugins " SecContribPlugins
2002-11-24 18:50:31 +00:00
Section " Banner " SecContribBanner
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ Banner.dll
SetOutPath $INSTDIR \ Contrib\ Banner
File ..\ Contrib\ Banner\ Readme.txt
File ..\ Contrib\ Banner\ Example.nsi
SectionEnd
2002-08-29 13:36:46 +00:00
Section " Language DLL " SecContribLangDLL
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ LangDLL.dll
SectionEnd
2002-09-05 16:41:54 +00:00
Section " nsExec " SecContribnsExec
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ nsExec.dll
SetOutPath $INSTDIR \ Contrib\ nsExec
File ..\ Contrib\ nsExec\ * .txt
2002-12-02 15:51:33 +00:00
File ..\ Contrib\ nsExec\ * .nsi
2002-09-05 16:41:54 +00:00
SectionEnd
2002-08-29 01:59:08 +00:00
Section " Splash " SecContribSplash
2002-08-02 10:01:35 +00:00
SectionIn 1 2
2002-09-20 23:13:34 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ splash.dll
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR \ Contrib\ Splash
File ..\ Contrib\ splash\ splash.txt
2002-11-15 13:26:37 +00:00
File ..\ Contrib\ splash\ Example.nsi
2002-08-02 10:01:35 +00:00
SectionEnd
2002-10-02 19:54:16 +00:00
Section " AdvSplash w/transparency " SecContribSplashT
2002-08-05 14:31:50 +00:00
SectionIn 1 2
2002-10-02 19:54:16 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ advsplash.dll
SetOutPath $INSTDIR \ Contrib\ AdvSplash
File ..\ Contrib\ AdvSplash\ advsplash.txt
2002-11-15 13:26:37 +00:00
File ..\ Contrib\ AdvSplash\ Example.nsi
2002-08-05 14:31:50 +00:00
SectionEnd
2002-11-08 21:05:57 +00:00
Section " BgImage " SecContribBgImage
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ BgImage.dll
SetOutPath $INSTDIR \ Contrib\ BgImage
File ..\ Contrib\ BgImage\ BgImage.txt
2002-11-15 13:26:37 +00:00
File ..\ Contrib\ BgImage\ Example.nsi
2002-11-08 21:05:57 +00:00
SectionEnd
2002-08-29 01:59:08 +00:00
Section " InstallOptions " SecContribIO
2002-08-02 10:01:35 +00:00
SectionIn 1 2
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ InstallOptions.dll
2002-08-02 10:01:35 +00:00
SetOutPath $INSTDIR \ Contrib\ InstallOptions
2002-12-16 17:24:35 +00:00
File ..\ Contrib\ InstallOptions\ Readme.html
File ..\ Contrib\ InstallOptions\ Changelog.txt
2002-08-02 10:01:35 +00:00
File ..\ contrib\ installoptions\ test.ini
File ..\ contrib\ installoptions\ test.nsi
2003-06-22 11:02:05 +00:00
File ..\ contrib\ installoptions\ testlink.ini
File ..\ contrib\ installoptions\ testlink.nsi
2002-08-02 10:01:35 +00:00
SectionEnd
2003-02-20 09:49:19 +00:00
Section " NSISdl " SecContribNSISDL
2002-08-02 10:01:35 +00:00
SectionIn 1 2
2002-08-28 18:28:48 +00:00
SetOutPath $INSTDIR \ Plugins
2002-08-28 18:57:32 +00:00
File ..\ Plugins\ nsisdl.dll
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR \ Contrib\ NSISdl
File ..\ contrib\ NSISdl\ ReadMe.txt
2003-02-20 09:49:19 +00:00
File ..\ contrib\ NSISdl\ License.txt
2002-08-02 10:01:35 +00:00
SectionEnd
2002-09-26 14:52:18 +00:00
Section " System " SecContribSystem
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ System .dll
2002-11-08 21:05:57 +00:00
SetOutPath $INSTDIR \ Contrib\ System
File ..\ Contrib\ System \ * .dll
File ..\ Contrib\ System \ * .nsh
File ..\ Contrib\ System \ * .nsi
File ..\ Contrib\ System \ * .txt
SectionEnd
Section " StartMenu " SecContribStartMenu
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ StartMenu.dll
SetOutPath $INSTDIR \ Contrib\ StartMenu
File ..\ Contrib\ StartMenu\ Example.nsi
File ..\ Contrib\ StartMenu\ Readme.txt
2002-09-26 14:52:18 +00:00
SectionEnd
2002-11-08 21:05:57 +00:00
Section " UserInfo " SecContribUserInfo
2002-09-26 14:52:18 +00:00
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
2002-11-08 21:05:57 +00:00
File ..\ Plugins\ UserInfo.dll
SetOutPath $INSTDIR \ Contrib\ UserInfo
File ..\ Contrib\ UserInfo\ UserInfo.nsi
2002-09-26 14:52:18 +00:00
SectionEnd
2003-02-19 21:29:44 +00:00
Section " Dialer " SecContribDialer
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ Dialer.dll
SetOutPath $INSTDIR \ Contrib\ Dialer
File ..\ Contrib\ Dialer\ Dialer.txt
SectionEnd
2003-05-21 12:24:22 +00:00
Section " VPatch " SecContribVPatch
SectionIn 1 2
SetOutPath $INSTDIR \ Plugins
File ..\ Plugins\ VPatch.dll
SetOutPath $INSTDIR \ Contrib\ VPatch
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
SectionEnd
2002-08-02 10:01:35 +00:00
SubSectionEnd
2002-09-22 20:04:44 +00:00
Section " Zip2Exe " SecContribZ2E
SectionIn 1 2
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ zip2exe.exe
SectionEnd
2002-09-26 14:52:18 +00:00
2002-09-22 20:04:44 +00:00
SubSectionEnd
2002-08-02 10:01:35 +00:00
2002-08-29 01:59:08 +00:00
SubSection " Source code " SecSrc
2002-08-29 13:59:40 +00:00
Section " NSIS Source Code " SecSrcNSIS
2002-08-02 10:01:35 +00:00
SectionIn 1
DetailPrint " Extracting source code.... "
SetDetailsPrint textonly
SetOutPath $INSTDIR \ Source
File ..\ Source\ * .cpp
File ..\ Source\ * .c
File ..\ Source\ * .h
File ..\ Source\ Makefile
File ..\ Source\ makenssi.dsp
File ..\ Source\ makenssi.dsw
SetOutPath $INSTDIR \ Source\ zlib
File ..\ Source\ zlib \ * .*
SetOutPath $INSTDIR \ Source\ bzip2
File ..\ Source\ bzip2 \ * .*
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
SetDetailsPrint both
SectionEnd
2002-08-29 01:59:08 +00:00
SubSection " Contrib " SecSrcContrib
2002-12-02 15:51:33 +00:00
# required for other plugins sources
# text changes in .onSelChange
Section " ExDLL Source (required) " SecSrcEx
2002-08-02 10:01:35 +00:00
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ ExDLL
2002-10-12 18:30:36 +00:00
File ..\ Contrib\ exdll\ exdll.c
File ..\ Contrib\ exdll\ exdll.dpr
File ..\ Contrib\ exdll\ exdll.dsp
File ..\ Contrib\ exdll\ exdll.dsw
2002-12-02 15:51:33 +00:00
File ..\ Contrib\ exdll\ exdll.h
2002-08-02 10:01:35 +00:00
SectionEnd
2002-08-29 01:59:08 +00:00
Section " MakeNSISW Source " SecSrcMNW
2002-08-02 10:01:35 +00:00
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ Makensisw
2002-10-12 18:30:36 +00:00
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
2002-12-02 15:51:33 +00:00
File ..\ Contrib\ Makensisw\ * .ico
File ..\ Contrib\ Makensisw\ * .psp
2002-10-12 18:30:36 +00:00
#File ..\Contrib\Makensisw\Makefile
SectionEnd
2002-09-20 19:20:10 +00:00
2002-10-12 18:30:36 +00:00
Section " UI Holder Source " SecContribUIHolderS
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 "
2002-08-02 10:01:35 +00:00
SectionEnd
2002-09-20 20:41:16 +00:00
2002-09-22 20:04:44 +00:00
SubSection " Plugins " SecContribPluginsS
2002-09-20 20:41:16 +00:00
2002-11-24 18:50:31 +00:00
Section " Banner Source " SecContribBannerS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ Banner
File ..\ Contrib\ Banner\ Banner.dsw
File ..\ Contrib\ Banner\ Banner.dsp
File ..\ Contrib\ Banner\ Banner.c
SectionEnd
2002-09-20 20:41:16 +00:00
Section " Language DLL Source " SecContribLangDLLS
2002-09-20 20:53:52 +00:00
SectionIn 1
2002-09-20 20:41:16 +00:00
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 " SecContribnsExecS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ nsExec
File ..\ Contrib\ nsExec\ * .c
File ..\ Contrib\ nsExec\ * .dsw
File ..\ Contrib\ nsExec\ * .dsp
SectionEnd
Section " Splash Source " SecContribSplashS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ Splash
File ..\ Contrib\ Splash\ splash.c
File ..\ Contrib\ Splash\ splash.dsp
File ..\ Contrib\ Splash\ splash.dsw
SectionEnd
2002-10-02 19:54:16 +00:00
Section " AdvSplash Source " SecContribSplashTS
2002-09-20 20:41:16 +00:00
SectionIn 1
2002-10-02 19:54:16 +00:00
SetOutPath $INSTDIR \ Contrib\ AdvSplash
File ..\ Contrib\ AdvSplash\ * .c
File ..\ Contrib\ AdvSplash\ * .dsw
File ..\ Contrib\ AdvSplash\ * .dsp
2002-11-08 21:05:57 +00:00
SectionEnd
Section " BgImage Source " SecContribBgImageS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ BgImage
File ..\ Contrib\ BgImage\ BgImage.cpp
File ..\ Contrib\ BgImage\ BgImage.dsw
File ..\ Contrib\ BgImage\ BgImage.dsp
2002-09-20 20:41:16 +00:00
SectionEnd
Section " InstallOptions Source " SecContribIOS
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
2003-02-20 09:49:19 +00:00
Section " NSISdl Source " SecContribNSISDLS
2002-09-20 20:41:16 +00:00
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ NSISdl
File ..\ contrib\ NSISdl\ nsisdl.dsw
File ..\ contrib\ NSISdl\ nsisdl.dsp
File ..\ contrib\ NSISdl\ * .cpp
File ..\ contrib\ NSISdl\ * .h
File ..\ contrib\ NSISdl\ * .rc
SectionEnd
2002-09-26 14:52:18 +00:00
Section " System Source " SecContribSystemS
SectionIn 1
2002-11-02 13:41:13 +00:00
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
2002-09-26 14:52:18 +00:00
SectionEnd
2002-11-08 21:05:57 +00:00
Section " StartMenu Source " SecContribStartMenuS
2002-09-26 14:52:18 +00:00
SectionIn 1
2002-11-08 21:05:57 +00:00
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
2002-09-26 14:52:18 +00:00
SectionEnd
2002-11-08 21:05:57 +00:00
Section " UserInfo Source " SecContribUserInfoS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ UserInfo
File ..\ Contrib\ UserInfo\ UserInfo.c
File ..\ Contrib\ UserInfo\ UserInfo.dsp
File ..\ Contrib\ UserInfo\ UserInfo.dsw
SectionEnd
2002-09-26 14:52:18 +00:00
2003-02-19 21:29:44 +00:00
Section " Dialer Source " SecContribDialerS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ Dialer
File ..\ Contrib\ Dialer\ dialer.c
File ..\ Contrib\ Dialer\ dialer.dsp
File ..\ Contrib\ Dialer\ dialer.dsw
SectionEnd
2003-05-21 12:24:22 +00:00
Section " VPatch Source " SecContribVPatchS
SectionIn 1
SetOutPath $INSTDIR \ Contrib\ VPatch
File ..\ Contrib\ VPatch\ vpatchdll.c
File ..\ Contrib\ VPatch\ vpatchdll.dsp
File ..\ Contrib\ VPatch\ vpatchdll.dsw
SectionEnd
2002-09-22 20:04:44 +00:00
SubSectionEnd ; plugins
Section " Zip2Exe Source " SecContribZ2ES
SectionIn 1
DetailPrint " Extracting zip2exe source "
SetDetailsPrint textonly
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
2002-12-02 15:51:33 +00:00
File ..\ Contrib\ zip2exe\ * .xml
2002-09-22 20:04:44 +00:00
SetOutPath $INSTDIR \ Contrib\ zip2exe\ zlib
File ..\ Contrib\ zip2exe\ zlib \ * .*
SetDetailsPrint both
SectionEnd
2002-08-02 10:01:35 +00:00
SubSectionEnd
SubSectionEnd
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-02-20 09:49:19 +00:00
SectionGetFlags ${SecContribModernUI} $R0
2003-02-17 20:38:49 +00:00
IntOp $R0 $R0 & ${SF_SELECTED}
2003-02-19 20:03:42 +00:00
IntCmp $R0 ${SF_SELECTED} " " nomui nomui
2003-02-20 09:49:19 +00:00
SectionGetFlags ${SecContribLang} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} langfiles
2003-02-17 20:38:49 +00:00
SetOutPath " $INSTDIR \Contrib\Modern UI\Language files "
File " ..\Contrib\Modern UI\Language files\English.nsh "
2003-02-20 09:49:19 +00:00
langfiles :
SectionGetFlags ${SecContribGraphics} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} graphics
SetOutPath $INSTDIR \ Contrib\ Icons
File " ..\Contrib\Icons\modern-install.ico "
File " ..\Contrib\Icons\modern-uninstall.ico "
File " ..\Contrib\Icons\modern-wizard.bmp "
graphics :
nomui :
2003-02-17 20:38:49 +00:00
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR
2003-02-17 20:38:49 +00:00
2002-08-02 10:01:35 +00:00
WriteRegStr HKLM SOFTWARE\ NSIS " " $INSTDIR
2003-02-17 20:38:49 +00:00
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 " " ${MUI_VERSION} "
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " VersionMajor " " ${VER_MAJOR} "
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " VersionMinor " " ${VER_MINOR} "
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " NoModify " " 1 "
WriteRegDWORD HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " NoRepair " " 1 "
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2002-08-02 10:01:35 +00:00
IfFileExists $SMPROGRAMS \ NSIS " " nofunshit
2002-09-20 19:20:10 +00:00
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
IfFileExists " $INSTDIR \Source " 0 + 2
2003-02-17 20:38:49 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\MakeNSIS project workspace.lnk " " $INSTDIR \source\makenssi.dsw "
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
CreateDirectory $SMPROGRAMS \ NSIS\ Contrib\ Source
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; MakeNSISW
CreateDirectory $SMPROGRAMS \ NSIS\ Contrib
2002-09-20 20:41:16 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\MakeNSISW readme.lnk " " $INSTDIR \contrib\MakeNsisw\readme.txt "
2003-02-17 20:38:49 +00:00
Push " MakeNSISW "
2002-12-02 15:51:33 +00:00
Call AddWorkspaceToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; ExDLL
Push " ExDLL "
Call AddWorkspaceToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; InstallOptions
2003-05-21 12:24:22 +00:00
Push " InstallOptions\Readme.html "
Push " InstallOptions Readme "
2002-12-02 15:51:33 +00:00
Call AddContribToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
Push " InstallOptions\io.dsw "
Push " Source\InstallOptions project workspace "
Call AddContribToStartMenu
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
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\ZIP 2 EXE converter.lnk " " $INSTDIR \Bin\zip2exe.exe "
2002-09-20 20:41:16 +00:00
2002-12-02 15:51:33 +00:00
Push ZIP2EXE
Call AddWorkspaceToStartMenu
2002-11-08 21:05:57 +00:00
2002-12-02 15:51:33 +00:00
; Modern UI
Push " Modern UI\Readme.html "
2003-05-21 12:24:22 +00:00
Push " Modern UI Readme "
2002-12-02 15:51:33 +00:00
Call AddContribToStartMenu
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
Push Splash
Call AddWorkspaceToStartMenu
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
2002-12-02 15:51:33 +00:00
Push AdvSplash
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
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
Push NSISdl
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
2002-12-02 15:51:33 +00:00
; UserInfo
Push UserInfo
Call AddWorkspaceToStartMenu
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
Push nsExec
Call AddWorkspaceToStartMenu
2002-09-20 19:20:10 +00:00
2002-12-02 15:51:33 +00:00
; LangDLL
Push LangDLL
Call AddWorkspaceToStartMenu
2002-11-08 21:05:57 +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
Push StartMenu
Call AddWorkspaceToStartMenu
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
Push BgImage
Call AddWorkspaceToStartMenu
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
Push Banner
Call AddWorkspaceToStartMenu
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
2002-12-02 15:51:33 +00:00
Push System \ Source\ System .sln
Push " Source\System project workspace "
Call AddContribToStartMenu
2003-05-21 12:24:22 +00:00
; VPatch
Push " VPatch\Readme.html "
Push " VPatch Readme "
Call AddContribToStartMenu
2002-11-08 21:05:57 +00:00
2002-08-02 10:01:35 +00:00
nofunshit :
2003-01-21 19:24:17 +00:00
!endif
; will only be removed if empty
SetDetailsPrint none
RMDir $INSTDIR \ Contrib\ Source
SetDetailsPrint lastused
2002-09-02 19:50:25 +00:00
Delete $INSTDIR \ uninst- nsis.exe
2002-08-02 10:01:35 +00:00
WriteUninstaller $INSTDIR \ uninst- nsis.exe
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
2002-09-20 17:31:27 +00:00
!ifndef CLASSIC_UI
2002-08-29 13:36:46 +00:00
2002-11-08 21:14:12 +00:00
!insertmacro MUI_FUNCTIONS_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-02-17 20:38:49 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMenu} " A menu that contains links to NSIS information, utilities and websites "
!insertmacro MUI_DESCRIPTION_TEXT ${SecUpdate} " A tool that lets you check for new NSIS releases and download the latest development files "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecExtention} " Adds right mouse click integration to nsi files so you can compile scripts easily "
!insertmacro MUI_DESCRIPTION_TEXT ${SecIcons} " Adds icons to your start menu and your desktop for easy access "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContrib} " User interfaces, plugins, graphics, and utilities contributed by other NSIS developers "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUIs} " User interface designs that can be used to change the installer look and feel "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribModernUI} " A modern user interface like the wizards of recent Windows versions "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribDefaultUI} " The default NSIS user interface which you can customize to make your own UI "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribTinyUI} " A tiny version of the default user interface "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribGraphics} " Icons, checkbox images and other graphics "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribLang} " Language files used to support multiple languages in an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribPlugins} " Useful plugins that extend NSIS's functionality "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribPluginsS} " Source code for plugins "
2003-07-12 12:19:42 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribBanner} " Plugin that lets you show a banner before installation starts "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribBannerS} " Source code to plugin that lets you show a banner before installation starts "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribLangDLL} " Plugin that lets you add a language select dialog to your installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribLangDLLS} " Source code to plugin that lets you add a language select dialog to your installer "
2002-11-08 21:05:57 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribnsExec} " Plugin that executes console programs and prints its output in the NSIS log window or hides it "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribnsExecS} " Source code to plugin that executes console programs and prints its output in the NSIS log window or hides it "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSplash} " Splash screen add-on that lets you add a splash screen to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSplashS} " Source code to splash screen add-on that lets you add a splash screen to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSplashT} " Splash screen add-on with transparency support that lets you add a splash screen to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSplashTS} " Source code to splash screen add-on with transparency support that lets you add a splash screen to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSystem} " Plugin that lets you call Win32 API from NSIS scripts "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribSystemS} " Source code to plugin that lets you call Win32 API from NSIS scripts "
2003-02-19 22:36:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribDialer} " Plugin that provides internet connection functions "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribDialerS} " Source code to plugin that provides internet connection functions "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribZ2E} " A utility that converts zip files into an NSIS installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribZ2ES} " Source code to a utility that converts zip files into an NSIS installer "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribIO} " Plugin that lets you add custom pages to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribIOS} " Source code to plugin that lets you add custom pages to an installer "
2002-11-08 21:05:57 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribStartMenu} " Plugin that lets the user select the start menu folder "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribStartMenuS} " Source code to plugin that lets the user select the start menu folder "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribBgImage} " Plugin that lets you show a persistent background image plugin and play sounds "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribBgImageS} " Source code to plugin that lets you show a persistent background image plugin and play sounds "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUserInfo} " Plugin that that gives you the user name and the user account type "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUserInfoS} " Source code to plugin that that gives you the user name and the user account type "
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribNSISDL} " Plugin that lets you create a web based installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribNSISDLS} " Source code to plugin that lets you create a web based installer "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUiHolderS} " Source code to the UI Holder where you can put your recources in to preview your user interface "
2003-05-21 12:24:22 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribVPatch} " Plugin that lets you create patches to upgrade older files "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribVPatchS} " Source code to plugin that lets you create patches to upgrade older files "
2002-11-01 20:51:14 +00:00
!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 ${SecSrcContrib} " Source code to user contributed utilities "
2003-02-20 09:49:19 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecSrcEx} " Example DLL plugin source in C and plugin function header "
!insertmacro MUI_DESCRIPTION_TEXT ${SecSrcMNW} " Source code to MakeNSIS Wrapper "
2002-11-03 13:23:39 +00:00
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
2002-10-27 17:10:57 +00:00
2002-09-20 17:31:27 +00:00
!endif
2002-08-02 10:01:35 +00:00
2003-01-04 16:25:28 +00:00
;--------------------------------
;Installer Functions
!macro secSelected SEC
SectionGetFlags ${SEC} $R7
IntOp $R7 $R7 & ${SF_SELECTED}
2003-02-19 20:03:42 +00:00
IntCmp $R7 ${SF_SELECTED} 0 + 2 + 2
2003-01-04 16:25:28 +00:00
IntOp $R0 $R0 + 1
!macroend
Function .onSelChange
2003-02-19 21:29:44 +00:00
;Plugins are linked to ExDLL
2003-01-04 16:25:28 +00:00
StrCpy $R0 0
!insertmacro secSelected ${SecContribSplashTS}
!insertmacro secSelected ${SecContribBannerS}
!insertmacro secSelected ${SecContribBgImageS}
!insertmacro secSelected ${SecContribIOS}
!insertmacro secSelected ${SecContribLangDLLS}
!insertmacro secSelected ${SecContribnsExecS}
!insertmacro secSelected ${SecContribNSISdlS}
!insertmacro secSelected ${SecContribSplashS}
!insertmacro secSelected ${SecContribStartMenuS}
!insertmacro secSelected ${SecContribUserInfoS}
2003-02-19 21:29:44 +00:00
!insertmacro secSelected ${SecContribDialerS}
2003-01-04 16:25:28 +00:00
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
2003-01-21 19:24:17 +00:00
!ifndef NO_STARTMENUSHORTCUTS
2003-01-04 16:25:28 +00:00
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
Goto create
IfFileExists $INSTDIR \ Contrib\ $0 \ Readme.txt 0 done
Push $0 \ Readme.txt
create :
2003-05-21 12:24:22 +00:00
Push " $0 Readme "
2003-01-04 16:25:28 +00:00
Call AddContribToStartMenu
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
IfFileExists $INSTDIR \ makensis.exe skip_confirmation
MessageBox MB_YESNO " It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended) " IDYES skip_confirmation
Abort " Uninstall aborted by user "
skip_confirmation :
ReadRegStr $1 HKCR " .nsi " " "
StrCmp $1 " NSISFile " 0 NoOwn ; only do this if we own it
ReadRegStr $1 HKCR " .nsi " " backup_val "
StrCmp $1 " " 0 RestoreBackup ; if backup == "" then delete the whole key
DeleteRegKey HKCR " .nsi "
Goto NoOwn
RestoreBackup :
WriteRegStr HKCR " .nsi " " " $1
DeleteRegValue HKCR " .nsi " " backup_val "
NoOwn :
2002-09-11 02:14:39 +00:00
ReadRegStr $1 HKCR " .nsh " " "
StrCmp $1 " NSHFile " 0 NoOwn2 ; only do this if we own it
ReadRegStr $1 HKCR " .nsh " " backup_val "
StrCmp $1 " " 0 RestoreBackup2 ; if backup == "" then delete the whole key
DeleteRegKey HKCR " .nsh "
Goto NoOwn
RestoreBackup2 :
WriteRegStr HKCR " .nsh " " " $1
DeleteRegValue HKCR " .nsh " " backup_val "
NoOwn2 :
2002-08-02 10:01:35 +00:00
DeleteRegKey HKCR " NSISFile "
2002-09-11 02:14:39 +00:00
DeleteRegKey HKCR " NSHFile "
2002-08-02 10:01:35 +00:00
DeleteRegKey HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS "
DeleteRegKey HKLM SOFTWARE\ NSIS
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
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ makensis.htm
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
2002-12-06 20:24:44 +00:00
RMDir /r $INSTDIR \ Contrib
2003-02-17 21:49:22 +00:00
RMDir /r $INSTDIR \ Menu
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Source
RMDir /r $INSTDIR \ Bin
2002-08-28 18:28:48 +00:00
RMDir /r $INSTDIR \ Plugins
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Examples
2002-12-06 20:24:44 +00:00
RMDir /r $INSTDIR \ Include
2002-09-18 18:44:13 +00:00
RMDir /r $INSTDIR \ Docs
2002-08-02 10:01:35 +00:00
RMDir $INSTDIR
2002-11-03 13:23:39 +00:00
SectionEnd