fixes, format changes

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2035 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-01-04 16:25:28 +00:00
parent 1d990eab9a
commit 3aac535b07

View file

@ -1,45 +1,14 @@
!define MUI_PRODUCT "NSIS"
!define MUI_VERSION "2.0b1 (CVS)"
!define MUI_NAME "Nullsoft Install System ${MUI_VERSION}" ;Installer name
;NSIS Setup Script
!define VER_MAJOR 2
!define VER_MINOR 0b1
;--------------------------------
;Configuration
OutFile ..\nsis${VER_MAJOR}${VER_MINOR}.exe
SetCompressor bzip2
!ifndef CLASSIC_UI
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
!define MUI_WELCOMEPAGE
!define MUI_LICENSEPAGE
!define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Docs\index.html"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;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"
!define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_SYSTEM
!endif
LicenseData ..\license.txt
InstType "Full (w/ Source and Contrib)"
InstType "Normal (w/ Contrib, w/o Source)"
InstType "Lite (w/o Source or Contrib)"
@ -52,9 +21,61 @@ SetDateSave on
InstallDir $PROGRAMFILES\NSIS
InstallDirRegKey HKLM SOFTWARE\NSIS ""
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
!insertmacro MUI_RESERVEFILE_SPECIALINI
!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
;--------------------------------
!ifndef CLASSIC_UI
;Include Modern UI Macro's
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
;--------------------------------
;Modern UI Configuration
!define MUI_PRODUCT "NSIS"
!define MUI_VERSION "2.0b1 (CVS)"
!define MUI_NAME "Nullsoft Install System ${MUI_VERSION}" ;Installer name
!define MUI_WELCOMEPAGE
!define MUI_LICENSEPAGE
!define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Docs\index.html"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
!define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages
!define MUI_TEXT_WELCOME_INFO_TEXT "This wizard will guide you through the installation of the ${MUI_PRODUCT}, a scriptable win32 installer/uninstaller system that doesn't suck and isn't huge.\r\n\r\n\r\n"
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Reserve Files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
!insertmacro MUI_RESERVEFILE_SPECIALINI
!insertmacro MUI_RESERVEFILE_SPECIALBITMAP
!endif
;--------------------------------
;Data
LicenseData ..\license.txt
;--------------------------------
;Installer Sections
Section "NSIS Development System (required)" SecCore
SectionIn 1 2 3 RO
@ -514,71 +535,6 @@ SectionEnd
SubSectionEnd
SubSectionEnd
!define SF_SELECTED 1
!macro secSelected SEC
SectionGetFlags ${SEC} $R7
IntOp $R7 $R7 & ${SF_SELECTED}
StrCmp $R7 ${SF_SELECTED} 0 +2
IntOp $R0 $R0 + 1
!macroend
Function .onInit
!insertmacro MUI_WELCOMEFINISHPAGE_INIT
FunctionEnd
Function .onSelChange
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}
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
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
Section -post
SetOutPath $INSTDIR
WriteRegStr HKLM SOFTWARE\NSIS "" $INSTDIR
@ -708,6 +664,9 @@ Section -post
SectionEnd
;--------------------------------
;Descriptions
!ifndef CLASSIC_UI
!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
@ -758,6 +717,73 @@ SectionEnd
!endif
;--------------------------------
;Installer Functions
!define SF_SELECTED 1
!macro secSelected SEC
SectionGetFlags ${SEC} $R7
IntOp $R7 $R7 & ${SF_SELECTED}
StrCmp $R7 ${SF_SELECTED} 0 +2
IntOp $R0 $R0 + 1
!macroend
Function .onSelChange
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}
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
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
;--------------------------------
;Uninstaller Section
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
@ -809,7 +835,9 @@ Section Uninstall
RMDir /r $INSTDIR\Docs
RMDir $INSTDIR
!ifndef CLASSIC_UI
!insertmacro MUI_UNFINISHHEADER
!endif
!ifndef CLASSIC_UI
;Modern UI Finish Header
!insertmacro MUI_UNFINISHHEADER
!endif
SectionEnd