2013-11-07 04:45:58 +08:00
|
|
|
#!Nsis Installer Command Script
|
|
|
|
#
|
|
|
|
# The following external defines are recognized:
|
|
|
|
# ${VERSION} = YYYYMMDD
|
|
|
|
# ${VARIANT} = serial or mpich2
|
|
|
|
# ${BIT} = 32 or 64
|
|
|
|
# ${LIBGCC} = name of libgcc dll file to use
|
|
|
|
# ${MINGW} = <path to mingw windows dlls>
|
|
|
|
|
|
|
|
!include "LogicLib.nsh"
|
|
|
|
!include "EnvVarUpdate.nsh"
|
|
|
|
!include "x64.nsh"
|
|
|
|
|
|
|
|
RequestExecutionLevel admin
|
|
|
|
|
|
|
|
!macro VerifyUserIsAdmin
|
|
|
|
UserInfo::GetAccountType
|
|
|
|
pop $0
|
|
|
|
${If} $0 != "admin"
|
|
|
|
messageBox mb_iconstop "Administrator rights required!"
|
|
|
|
setErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
|
|
|
|
quit
|
|
|
|
${EndIf}
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
!macro CreateInternetShortcut FILENAME URL ICONFILE ICONINDEX
|
|
|
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "URL" "${URL}"
|
|
|
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconFile" "${ICONFILE}"
|
|
|
|
WriteINIStr "${FILENAME}.url" "InternetShortcut" "IconIndex" "${ICONINDEX}"
|
|
|
|
!macroend
|
|
|
|
|
|
|
|
!ifndef LIBGCC
|
|
|
|
!define LIBGCC libgcc_s_sjlj-1.dll
|
|
|
|
!endif
|
|
|
|
|
|
|
|
!define QE4WIN "Quantum ESPRESSO ${BIT}-bit ${VERSION}-${VARIANT}"
|
|
|
|
OutFile "qe4win/qe4win-${VERSION}-${BIT}bit-${VARIANT}.exe"
|
|
|
|
|
|
|
|
Name "${QE4WIN}"
|
|
|
|
!if ${BIT} == 64
|
|
|
|
InstallDir "$ProgramFiles64\${QE4WIN}"
|
|
|
|
!define MPICHDIR "$ProgramFiles64\MPICH2\bin"
|
|
|
|
!else
|
|
|
|
InstallDir "$ProgramFiles\${QE4WIN}"
|
|
|
|
!define MPICHDIR "$ProgramFiles\MPICH2\bin"
|
|
|
|
!endif
|
|
|
|
|
|
|
|
XPStyle on
|
|
|
|
ShowInstDetails show
|
|
|
|
ShowUninstDetails show
|
|
|
|
SetCompressor lzma
|
|
|
|
|
|
|
|
Page directory
|
|
|
|
Page instfiles
|
|
|
|
|
|
|
|
DirText "Please select the Quantum ESPRESSO installation folder."
|
|
|
|
|
|
|
|
function .onInit
|
|
|
|
setShellVarContext all
|
|
|
|
!insertmacro VerifyUserIsAdmin
|
|
|
|
functionEnd
|
|
|
|
|
|
|
|
Section "${QE4WIN}"
|
|
|
|
SectionIn RO
|
|
|
|
SetRegView ${BIT}
|
|
|
|
|
|
|
|
CreateDirectory "$SMPROGRAMS\${QE4WIN}"
|
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" ""
|
2013-11-08 05:06:06 +08:00
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\README.lnk" "$INSTDIR\README.txt" "" ""
|
2013-11-07 04:45:58 +08:00
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\Input Reference.lnk" "$INSTDIR\doc\qe-input-ref.html" "" ""
|
2013-11-08 05:06:06 +08:00
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\Documentation.lnk" "$WINDIR\explorer.exe" \
|
|
|
|
'/e,"$INSTDIR\doc"' ""
|
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\License.lnk" "$INSTDIR\License.txt" "" ""
|
|
|
|
CreateShortCut "$SMPROGRAMS\${QE4WIN}\Release Notes.lnk" "$INSTDIR\Release-Notes.txt" "" ""
|
2013-11-07 04:45:58 +08:00
|
|
|
|
|
|
|
!insertmacro CreateInternetShortcut "$SMPROGRAMS\${QE4WIN}\Quantum ESPRESSO Home Page" \
|
|
|
|
"http://www.quantum-espresso.org" "" "0"
|
|
|
|
|
|
|
|
SetOutPath "$INSTDIR"
|
|
|
|
CreateDirectory "$INSTDIR\bin"
|
|
|
|
CreateDirectory "$INSTDIR\doc"
|
2013-11-08 05:06:06 +08:00
|
|
|
CreateDirectory "$INSTDIR\pseudo"
|
|
|
|
File qe-docs/License.txt
|
|
|
|
File qe-docs/README.txt
|
|
|
|
File qe-docs/Release-Notes.txt
|
2013-11-07 04:45:58 +08:00
|
|
|
|
|
|
|
SetOutPath "$INSTDIR\bin"
|
|
|
|
File ${MINGW}/${LIBGCC}
|
|
|
|
File ${MINGW}/libgfortran-3.dll
|
|
|
|
File ${MINGW}/libquadmath-0.dll
|
|
|
|
|
2013-11-11 16:59:02 +08:00
|
|
|
File qe-${VARIANT}-${BIT}/*.*
|
2013-11-07 04:45:58 +08:00
|
|
|
|
|
|
|
SetOutPath "$INSTDIR\doc"
|
|
|
|
File qe-docs/qe-input-ref.html
|
|
|
|
File qe-docs/QE-logo.jpg
|
2013-11-08 05:06:06 +08:00
|
|
|
File qe-docs/*.pdf
|
|
|
|
|
|
|
|
SetOutPath "$INSTDIR\pseudo"
|
|
|
|
File espresso-current/pseudo/*.UPF
|
2013-11-09 04:16:51 +08:00
|
|
|
File espresso-current/pseudo/*.van
|
|
|
|
File espresso-current/pseudo/*.bhs
|
2013-11-07 04:45:58 +08:00
|
|
|
|
|
|
|
${EnvVarUpdate} $0 "PATH" "A" "HKLM" "${MPICHDIR}"
|
|
|
|
${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\bin"
|
2013-11-08 05:06:06 +08:00
|
|
|
${EnvVarUpdate} $0 "ESPRESSO_PSEUDO" "A" "HKLM" "$INSTDIR\pseudo"
|
|
|
|
# ${EnvVarUpdate} $0 "ESPRESSO_TMPDIR" "A" "HKLM" "$AppData\Local\Temp"
|
2013-11-07 04:45:58 +08:00
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
function un.onInit
|
|
|
|
SetShellVarContext all
|
|
|
|
!insertmacro VerifyUserIsAdmin
|
|
|
|
functionEnd
|
|
|
|
|
|
|
|
Section "Uninstall"
|
|
|
|
SetRegView ${BIT}
|
|
|
|
|
|
|
|
${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "${MPICHDIR}"
|
|
|
|
${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR\bin"
|
2013-11-08 05:06:06 +08:00
|
|
|
${un.EnvVarUpdate} $0 "ESPRESSO_PSEUDO" "R" "HKLM" "$INSTDIR\pseudo"
|
|
|
|
# ${un.EnvVarUpdate} $0 "ESPRESSO_TMPDIR" "R" "HKLM" "$AppData\Local\Temp"
|
2013-11-07 04:45:58 +08:00
|
|
|
|
|
|
|
RMDir /r "$SMPROGRAMS\${QE4WIN}"
|
|
|
|
|
|
|
|
Delete /REBOOTOK "$INSTDIR\*.txt"
|
|
|
|
Delete /REBOOTOK "$INSTDIR\Uninstall.exe"
|
|
|
|
RMDir /r /REBOOTOK "$INSTDIR\bin"
|
|
|
|
RMDir /r /REBOOTOK "$INSTDIR\doc"
|
2013-11-08 05:06:06 +08:00
|
|
|
RMDir /r /REBOOTOK "$INSTDIR\pseudo"
|
2013-11-07 04:45:58 +08:00
|
|
|
RMDir /REBOOTOK "$INSTDIR"
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
Section -post
|
|
|
|
SetRegView ${BIT}
|
|
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
# Local Variables:
|
|
|
|
# mode: sh
|
|
|
|
# End:
|