2002-11-06 12:12:51 +00:00
!define MUI_PRODUCT " NSIS "
!define MUI_VERSION " 2.0b0 "
!define MUI_NAME " Nullsoft Install System ${MUI_VERSION} " ;Installer name
2002-08-02 10:01:35 +00:00
!define VER_MAJOR 2
2002-09-08 14:22:40 +00:00
!define VER_MINOR 0b0
2002-08-02 10:01:35 +00:00
2002-10-27 17:17:46 +00:00
OutFile ..\ nsis${VER_MAJOR} ${VER_MINOR} .exe
2002-11-06 12:12:51 +00:00
2002-10-27 17:17:46 +00:00
SetCompressor bzip2
2002-10-27 17:10:57 +00:00
2002-09-20 17:31:27 +00:00
!ifndef CLASSIC_UI
2002-10-27 17:17:46 +00:00
2002-10-27 17:10:57 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\System.nsh "
2002-08-02 10:01:35 +00:00
2002-11-15 18:46:19 +00:00
!define MUI_WELCOMEPAGE
2002-10-16 18:21:43 +00:00
!define MUI_LICENSEPAGE
2002-11-01 20:51:14 +00:00
!define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
2002-11-15 18:46:19 +00:00
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_SHOWREADME " $INSTDIR \makensis.htm "
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
2002-10-16 18:21:43 +00:00
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
2002-11-15 18:46:19 +00:00
;NSIS updates no system files
!define MUI_TEXT_WELCOME_INFO " \r\n\r\nThis will install ${MUI_PRODUCT} on your computer.\r\n\r\n\r\n\r\n "
2002-11-06 12:12:51 +00:00
!insertmacro MUI_LANGUAGE " English "
2002-10-07 21:16:57 +00:00
2002-10-27 17:10:57 +00:00
!define MUI_UI " ${NSISDIR} \Contrib\UIs\modern2.exe "
2002-10-27 17:17:46 +00:00
2002-11-06 12:12:51 +00:00
!insertmacro MUI_SYSTEM
2002-09-20 17:31:27 +00:00
!endif
2002-08-02 10:01:35 +00:00
LicenseData ..\ license.txt
2002-08-28 19:45:45 +00:00
2002-08-29 15:04:15 +00:00
InstType " Full (w/ Source and Contrib) "
InstType " Normal (w/ Contrib, w/o Source) "
InstType " Lite (w/o Source or Contrib) "
2002-08-02 10:01:35 +00:00
ShowInstDetails show
ShowUninstDetails show
SetOverwrite on
SetDateSave on
InstallDir $PROGRAMFILES \ NSIS
InstallDirRegKey HKLM SOFTWARE\ NSIS " "
2002-11-15 18:46:19 +00:00
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
2002-11-18 17:57:59 +00:00
!insertmacro MUI_RESERVEFILE_SPECIALINI
!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
2002-11-15 18:46:19 +00:00
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
2002-08-02 10:01:35 +00:00
SetOverwrite try
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
2002-09-20 20:41:16 +00:00
SetOverwrite try
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
2002-08-29 01:59:08 +00:00
Section " NSIS Examples (recommended) " SecExample
2002-08-02 10:01:35 +00:00
SectionIn 1 2 3
SetOutPath $INSTDIR \ Examples
Delete $INSTDIR \ viewhtml.nsi
Delete $INSTDIR \ waplugin.nsi
Delete $INSTDIR \ example* .nsi
Delete $INSTDIR \ * test.nsi
Delete $INSTDIR \ primes.nsi
Delete $INSTDIR \ functions.htm
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
2002-08-08 10:21:51 +00:00
File ..\ Examples\ one- section .nsi
2002-08-26 16:56:33 +00:00
File ..\ Examples\ languages.nsi
2002-08-02 10:01:35 +00:00
File ..\ Examples\ WinMessages.nsh
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 "
WriteRegStr HKCR " NSHFile " " " " NSI Script File "
WriteRegStr HKCR " NSHFile\shell " " " " open "
2002-09-20 11:53:19 +00:00
WriteRegStr HKCR " NSHFile\DefaultIcon " " " $INSTDIR \ makensisw.exe, 1
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 "
WriteRegStr HKCR " NSISFile " " " " NSI Script File "
WriteRegStr HKCR " NSISFile\shell " " " " open "
2002-09-20 11:53:19 +00:00
WriteRegStr HKCR " NSISFile\DefaultIcon " " " $INSTDIR \ makensisw.exe, 1
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
2002-09-20 19:20:10 +00:00
Section " Start Menu + Desktop Shortcuts " SecIcons
2002-08-02 10:01:35 +00:00
SectionIn 1 2 3
2002-09-20 19:20:10 +00:00
SetOutPath $INSTDIR
CreateDirectory $SMPROGRAMS \ NSIS
2002-09-24 13:59:43 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\MakeNSIS GUI.lnk " " $INSTDIR \Makensisw.exe " " "
2002-09-20 19:20:10 +00:00
WriteINIStr " $SMPROGRAMS \NSIS\NSIS Home Page.url " " InternetShortcut " " URL " " http://www.nullsoft.com/free/nsis/ "
2002-08-02 10:01:35 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Uninstall NSIS.lnk " " $INSTDIR \uninst-nsis.exe "
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Documentation.lnk " " $INSTDIR \makensis.htm "
2002-09-20 20:41:16 +00:00
2002-09-24 13:59:43 +00:00
CreateShortCut " $DESKTOP \MakeNSIS.lnk " " $INSTDIR \Makensisw.exe " " "
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 "
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-11-18 15:11:49 +00:00
File " ..\Examples\Modern UI\StartMenu.nsi "
File " ..\Examples\Modern UI\WelcomeFinish.nsi "
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 "
File " ..\Contrib\Modern UI\License.txt "
2002-11-18 17:57:59 +00:00
File " ..\Contrib\Modern UI\ioSpecial.ini "
2002-10-17 16:37:57 +00:00
SetOutPath " $INSTDIR \Contrib\Modern UI\Language files "
2002-10-12 19:26:32 +00:00
File " ..\Contrib\Modern UI\Language files\*.nsh "
2002-10-12 18:30:36 +00:00
SetOutPath " $INSTDIR \Contrib\UIs "
File " ..\Contrib\UIs\modern.exe "
File " ..\Contrib\UIs\modern2.exe "
SetOutPath $INSTDIR \ Contrib\ Icons
File " ..\Contrib\Icons\modern-install.ico "
File " ..\Contrib\Icons\modern-uninstall.ico "
2002-11-16 12:48:37 +00:00
File " ..\Contrib\Icons\modern-wizard.bmp "
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
SubSectionEnd
2002-10-07 21:16:57 +00:00
2002-08-29 01:59:08 +00:00
Section " Extra Icons " SecContribIcons
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
SetOutPath " $INSTDIR \Contrib\Language files "
File " ..\Contrib\Language files\*.nlf "
2002-08-26 16:56:33 +00:00
SetOutPath $INSTDIR \ Bin
File ..\ Bin\ MakeLangID.exe
2002-08-04 20:25:10 +00:00
SectionEnd
2002-09-22 20:04:44 +00:00
SubSection " Plugins " SecContribPlugins
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
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-09-20 20:41:16 +00:00
File " ..\contrib\installoptions\Install Options.html "
2002-08-02 10:01:35 +00:00
File ..\ contrib\ installoptions\ test.ini
File ..\ contrib\ installoptions\ test.nsi
SectionEnd
2002-08-29 01:59:08 +00:00
Section " NSIS-DL " 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
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
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
Section " ExDLL Source " 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-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
#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
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
2002-09-20 20:53:52 +00:00
Section " NSIS-DL 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
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
SetOutPath $INSTDIR \ Contrib\ zip2exe\ zlib
File ..\ Contrib\ zip2exe\ zlib \ * .*
SetDetailsPrint both
SectionEnd
2002-08-02 10:01:35 +00:00
SubSectionEnd
SubSectionEnd
2002-11-15 18:46:19 +00:00
Function .onInit
!insertmacro MUI_WELCOMEFINISHPAGE_INIT
FunctionEnd
2002-11-08 21:05:57 +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 :
Push " $0 readme "
Call AddContribToStartMenu
done :
FunctionEnd
2002-08-02 10:01:35 +00:00
Section - post
2002-09-20 20:41:16 +00:00
SetOutPath $INSTDIR
2002-08-02 10:01:35 +00:00
WriteRegStr HKLM SOFTWARE\ NSIS " " $INSTDIR
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " DisplayName " " NSIS Development Kit (remove only) "
WriteRegStr HKLM " Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS " " UninstallString " '"$INSTDIR\uninst-nsis.exe"'
IfFileExists $SMPROGRAMS \ NSIS " " nofunshit
2002-09-20 19:20:10 +00:00
2002-11-08 21:05:57 +00:00
IfFileExists $INSTDIR \ Examples 0 + 2
2002-09-20 20:41:16 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\NSIS Examples Directory.lnk " " $INSTDIR \Examples "
2002-11-08 21:05:57 +00:00
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
2002-09-20 20:41:16 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\MakeNSISW readme.lnk " " $INSTDIR \contrib\MakeNsisw\readme.txt "
2002-11-08 21:05:57 +00:00
Push " MakeNSISW "
Call AddWorkspaceToStartMenu
; ExDLL
Push " ExDLL "
Call AddWorkspaceToStartMenu
; InstallOptions
Push " InstallOptions\install options.html "
Push " InstallOptions readme "
Call AddContribToStartMenu
Push " InstallOptions\io.dsw "
Push " Source\InstallOptions project workspace "
Call AddContribToStartMenu
; ZIP2EXE
IfFileExists " $INSTDIR \Bin\zip2exe.exe " 0 + 2
2002-09-20 20:41:16 +00:00
CreateShortCut " $SMPROGRAMS \NSIS\Contrib\ZIP 2 EXE converter.lnk " " $INSTDIR \Bin\zip2exe.exe "
2002-11-08 21:05:57 +00:00
Push ZIP2EXE
Call AddWorkspaceToStartMenu
; Modern UI
Push " Modern UI\Readme.html "
Push " Modern UI readme "
Call AddContribToStartMenu
; Splash
Push Splash
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
Push Splash
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
; Advanced splash
Push AdvSplash
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
Push AdvSplash
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
; NSISdl
Push NSISdl
Call AddReadmeToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
Push NSISdl
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
; UserInfo
Push UserInfo
Call AddWorkspaceToStartMenu
2002-09-20 20:41:16 +00:00
2002-11-08 21:05:57 +00:00
; nsExec
Push nsExec
Call AddReadmeToStartMenu
2002-09-20 19:20:10 +00:00
2002-11-08 21:05:57 +00:00
Push nsExec
Call AddWorkspaceToStartMenu
2002-09-20 19:20:10 +00:00
2002-11-08 21:05:57 +00:00
; LangDLL
Push LangDLL
Call AddWorkspaceToStartMenu
; StartMenu
Push StartMenu
Call AddReadmeToStartMenu
Push StartMenu
Call AddWorkspaceToStartMenu
; BgImage
Push BgImage
Call AddReadmeToStartMenu
Push BgImage
Call AddWorkspaceToStartMenu
; System
Push System
Call AddReadmeToStartMenu
Push System \ Source\ System .sln
Push " Source\System project workspace "
Call AddContribToStartMenu
; done
; will only be removed if empty
SetDetailsPrint none
RMDir $INSTDIR \ Contrib\ Source
SetDetailsPrint lastused
; open sesame
2002-08-02 10:01:35 +00:00
ExecShell open '$SMPROGRAMS\NSIS'
2002-08-29 13:36:46 +00:00
Sleep 500
2002-08-02 10:01:35 +00:00
BringToFront
nofunshit :
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
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
2002-11-01 20:51:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} " The Core files required to use NSIS "
!insertmacro MUI_DESCRIPTION_TEXT ${SecExample} " Example installation scripts that show you how to use NSIS "
!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 "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContrib} " Tools, graphics, files, and other utilities contributed by other NSIS developers "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUIs} " User interface designs that can be used to change the installer look and feel "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribModernUI} " A modern user interface for NSIS installers like the wizards of recent Windows versions "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribDefaultUI} " The default NSIS user interface which you can customize to make your own UI "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribIcons} " Icon files contributed by other NSIS developers "
!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 "
!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 "
!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 "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribIO} " Plugin that lets you add user interface components to an installer "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribIOS} " Source code to plugin that lets you add user interface components 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 "
!insertmacro MUI_DESCRIPTION_TEXT ${SecContribUiHolderS} " Source code to the UI Holder where you can put your UI recources in to preview your UI "
!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 "
!insertmacro MUI_DESCRIPTION_TEXT ${SecSrcEx} " Example DLL source in C "
!insertmacro MUI_DESCRIPTION_TEXT ${SecSrcMNW} " MakeNSIS Wrapper source code "
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
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
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Contrib
Delete $DESKTOP \ MakeNSIS.lnk
Delete $INSTDIR \ makensis* .exe
2002-09-18 18:44:13 +00:00
Delete $INSTDIR \ Docs\ * .html
Delete $INSTDIR \ Docs\ * .css
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ Bin\ zip2exe.exe
Delete $INSTDIR \ Bin\ installoptions.exe
2002-08-28 18:28:48 +00:00
Delete $INSTDIR \ Plugins\ installoptions.dll
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ Bin\ splash.txt
Delete $INSTDIR \ Bin\ splash.exe
2002-09-20 23:45:31 +00:00
Delete $INSTDIR \ Plugins\ splash.dll
2002-09-04 13:10:53 +00:00
Delete $INSTDIR \ Bin\ UberSplash.exe
2002-10-02 19:54:16 +00:00
Delete $INSTDIR \ Plugins\ advsplash.dll
2002-08-28 18:28:48 +00:00
Delete $INSTDIR \ Plugins\ nsisdl.dll
2002-08-26 16:56:33 +00:00
Delete $INSTDIR \ Bin\ MakeLangID.exe
2002-08-29 13:36:46 +00:00
Delete $INSTDIR \ Plugins\ LangDLL.dll
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ makensis.htm
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-08-02 10:01:35 +00:00
Delete $INSTDIR \ Examples\ makensis.nsi
Delete $INSTDIR \ Examples\ example1.nsi
Delete $INSTDIR \ Examples\ example2.nsi
Delete $INSTDIR \ Examples\ waplugin.nsi
Delete $INSTDIR \ Examples\ viewhtml.nsi
Delete $INSTDIR \ Examples\ bigtest.nsi
Delete $INSTDIR \ Examples\ primes.nsi
Delete $INSTDIR \ Examples\ rtest.nsi
Delete $INSTDIR \ Examples\ uglytest.nsi
Delete $INSTDIR \ Examples\ spin.nsi
Delete $INSTDIR \ Examples\ wafull.nsi
2002-08-26 16:56:33 +00:00
Delete $INSTDIR \ Examples\ languages.nsi
2002-08-02 10:01:35 +00:00
Delete $INSTDIR \ Examples\ upgradedll.nsh
Delete $INSTDIR \ Examples\ WinMessages.nsh
2002-08-26 16:56:33 +00:00
Delete " $INSTDIR \Examples\Modern UI\Screenshot.png "
2002-09-20 05:11:06 +00:00
Delete " $INSTDIR \Examples\Modern UI\Readme.jpg "
2002-08-26 16:56:33 +00:00
Delete " $INSTDIR \Examples\Modern UI\Readme.html "
Delete " $INSTDIR \Examples\Modern UI\License.txt "
Delete " $INSTDIR \Examples\Modern UI\Example.nsi "
2002-08-29 13:36:46 +00:00
Delete " $INSTDIR \Examples\Modern UI\MultiLanguage.nsi "
Delete " $INSTDIR \Examples\Modern UI\ModernUI.nsh "
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-29 13:36:46 +00:00
RMDir /r " $INSTDIR \Examples\Modern UI "
2002-08-02 10:01:35 +00:00
RMDir /r $INSTDIR \ Examples
2002-09-18 18:44:13 +00:00
RMDir /r $INSTDIR \ Docs
2002-08-02 10:01:35 +00:00
RMDir $INSTDIR
; if $INSTDIR was removed, skip these next ones
2002-09-02 20:05:09 +00:00
IfFileExists $INSTDIR 0 Removed
2002-08-02 10:01:35 +00:00
MessageBox MB_YESNO | MB_ICONQUESTION \
" Remove all files in your NSIS directory? (If you have anything you created that you want to keep, click No) " IDNO Removed
Delete $INSTDIR \ * .* ; this would be skipped if the user hits no
RMDir /r $INSTDIR
2002-09-02 20:05:09 +00:00
IfFileExists $INSTDIR 0 Removed
2002-08-02 10:01:35 +00:00
MessageBox MB_OK | MB_ICONEXCLAMATION " Note: $INSTDIR could not be removed. "
Removed :
2002-09-20 17:31:27 +00:00
!ifndef CLASSIC_UI
2002-10-27 17:10:57 +00:00
!insertmacro MUI_UNFINISHHEADER
2002-09-20 17:31:27 +00:00
!endif
2002-11-03 13:23:39 +00:00
SectionEnd