1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
!include "MUI2.nsh"
!define MUI_COMPONENTSPAGE_SMALLDESC "MPSolve";
!define MUI_INSTFILESPAGE_COLORS "AAAAFF 000000" ;
Name "MPSolve"
# set the name of the installer
Outfile "SetupMPSolve.exe"
# For removing Start Menu shortcut in Windows 7
RequestExecutionLevel admin
InstallDir $PROGRAMFILES\MPSolve
; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\NSIS_MPSolve" "Install_Dir"
Var StartMenuFolder
!insertmacro MUI_LANGUAGE "English"
; Load pages
!insertmacro MUI_PAGE_LICENSE "COPYING"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\NSIS_MPSolve"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "MPSolve"
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# create a default section.
section "MPSolve"
SetOutPath $INSTDIR
; Write the installation path into the registry
WriteRegStr HKLM SOFTWARE\NSIS_MPSolve "Install_Dir" "$INSTDIR"
; Write the uninstall keys for Windows
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" "MPSolve" "MPSolve"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" "Uninstall" '"$INSTDIR\uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" "NoRepair" 1
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" \
"DisplayName" "MPSolve -- Multiprecision polynomial solver"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" \
"UninstallString" "$\"$INSTDIR\uninstall.exe$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve" \
"QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
WriteUninstaller "uninstall.exe"
File /r "bin"
File /r "include"
File /r "lib"
File /r "share"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\MPSolve"
createShortCut "$SMPROGRAMS\MPSolve\MPSolve.lnk" "$INSTDIR\bin\xmpsolve.exe"
createShortCut "$SMPROGRAMS\MPSolve\Uninstall MPSolve.lnk" "$INSTDIR\uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
sectionEnd
; Descriptions
LangString "MUI_INNERTEXT_STARTMENU_CHECKBOX" ${LANG_ENGLISH} "Don't install a Start Menu entry for MPSolve"
LangString "MUI_INNERTEXT_STARTMENU_TOP" ${LANG_ENGLISH} "Select the name for the Start Menu entry for MPSolve"
LangString "MUI_UNTEXT_CONFIRM_TITLE" ${LANG_ENGLISH} "Uninstall MPSolve"
LangString "MUI_UNTEXT_CONFIRM_SUBTITLE" ${LANG_ENGLISH} "MPSolve will be definitely removed from the PC"
LangString "MUI_UNTEXT_UNINSTALLING_TITLE" ${LANG_ENGLISH} "Uninstall MPSolve"
LangString "MUI_UNTEXT_UNINSTALLING_SUBTITLE" ${LANG_ENGLISH} "MPSolve will be definitely removed from the PC"
LangString "MUI_UNTEXT_FINISH_TITLE" ${LANG_ENGLIH} "Uninstall MPSolve"
LangString "MUI_UNTEXT_FINISH_SUBTITLE" ${LANG_ENGLISH} "MPSolve has been removed from the PC"
LangString "MUI_UNTEXT_ABORT_TITLE" ${LANG_ENGLISH} "Uninstall MPSolve"
LangString "MUI_UNTEXT_ABORT_SUBTITLE" ${LANG_ENGLISH} "MPSolve will be definitely removed from the PC"
LangString MUI_TEXT_LICENSE_TITLE ${LANG_ENGLISH} "License terms for MPSolve"
LangString MUI_TEXT_LICENSE_SUBTITLE ${LANG_ENGLISH} "Please accept the following terms to use MPSolve."
LangString MUI_TEXT_COMPONENTS_TITLE ${LANG_ENGLISH} "MPSolve components"
LangString MUI_TEXT_COMPONENTS_SUBTITLE ${LANG_ENGLISH} "Please select the components of MPSolve that you want to install on the system."
LangString MUI_INNERTEXT_LICENSE_BOTTOM ${LANG_ENGLISH} "For more information ses http://fsf.org/"
LangString MUI_INNERTEXT_LICENSE_TOP ${LANG_ENGLISH} "MPSolve is licensed with GPL3"
LangString MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE ${LANG_ENGLISH} "Details"
LangString MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO ${LANG_ENGLISH} "Base files for the MPSolve installation"
LangString MUI_TEXT_DIRECTORY_TITLE ${LANG_ENGLISH} "MPSolve installation path"
LangString MUI_TEXT_DIRECTORY_SUBTITLE ${LANG_ENGLISH} "Select the directory where MPSolve will be installed"
LangString MUI_TEXT_STARTMENU_TITLE ${LANG_ENGLISH} "MPSolve"
LangString MUI_TEXT_STARTMENU_SUBTITLE ${LANG_ENGLISH} "Installation of the start menu entries"
LangString MUI_TEXT_INSTALLING_TITLE ${LANG_ENGLISH} "MPSolve is installing on the system"
LangString MUI_TEXT_INSTALLING_SUBTITLE ${LANG_ENGLISH} "Please wait while all the files are copied in place"
LangString MUI_TEXT_FINISH_TITLE ${LANG_ENGLISH} "MPSolve has been installed"
LangString MUI_TEXT_FINISH_SUBTITLE ${LANG_ENGLISH} "You may now start it from the Windows menu"
LangString MUI_TEXT_ABORT_TITLE ${LANG_ENGLISH} "Aborting MPSolve installation"
LangString MUI_TEXT_ABORT_SUBTITLE ${LANG_ENGLISH} "Installation has been interrupted"
section "uninstall"
ReadRegStr $0 HKLM "Software\NSIS_MPSolve" "Install_Dir"
; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MPSolve"
DeleteRegKey HKLM SOFTWARE\NSIS_MPSolve
Delete /REBOOTOK $0\*
RMDir /r $0
delete "$SMPROGRAMS\MPSolve\Uninstall MPSolve.lnk"
delete "$SMPROGRAMS\MPSolve\MPSolve.lnk"
RMDir "$SMPROGRAMS\MPSolve"
DeleteRegKey /ifempty HKCU "Software/NSIS_MPSolve"
sectionEnd
|