121 lines
3.5 KiB
Text
121 lines
3.5 KiB
Text
!ifndef VERSION
|
|
!define VERSION 'DEV'
|
|
!endif
|
|
!addplugindir "nsisPlugins"
|
|
|
|
; The name of the installer
|
|
Name "Cura ${VERSION}"
|
|
|
|
; The file to write
|
|
OutFile "Cura_${VERSION}.exe"
|
|
|
|
; The default installation directory
|
|
InstallDir $PROGRAMFILES\Cura_${VERSION}
|
|
|
|
; Registry key to check for directory (so if you install again, it will
|
|
; overwrite the old one automatically)
|
|
InstallDirRegKey HKLM "Software\Cura_${VERSION}" "Install_Dir"
|
|
|
|
; Request application privileges for Windows Vista
|
|
RequestExecutionLevel admin
|
|
|
|
; Set the LZMA compressor to reduce size.
|
|
SetCompressor /SOLID lzma
|
|
;--------------------------------
|
|
|
|
!include "MUI2.nsh"
|
|
!include Library.nsh
|
|
|
|
!define MUI_ICON "cura.ico"
|
|
!define MUI_BGCOLOR FFFFFF
|
|
|
|
; Directory page defines
|
|
!define MUI_DIRECTORYPAGE_VERIFYONLEAVE
|
|
|
|
; Header
|
|
!define MUI_HEADERIMAGE
|
|
!define MUI_HEADERIMAGE_RIGHT
|
|
!define MUI_HEADERIMAGE_BITMAP "header.bmp"
|
|
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
|
|
|
|
;Do not leave (Un)Installer page automaticly
|
|
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
|
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
|
|
|
|
; Pages
|
|
;!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
!insertmacro MUI_UNPAGE_FINISH
|
|
|
|
; Languages
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
; Reserve Files
|
|
!insertmacro MUI_RESERVEFILE_LANGDLL
|
|
ReserveFile '${NSISDIR}\Plugins\InstallOptions.dll'
|
|
ReserveFile "cura.ico"
|
|
ReserveFile "header.bmp"
|
|
|
|
;--------------------------------
|
|
|
|
; The stuff to install
|
|
Section "Cura Installer"
|
|
|
|
SectionIn RO
|
|
|
|
; Set output path to the installation directory.
|
|
SetOutPath $INSTDIR
|
|
|
|
; Put file there
|
|
File /r "dist\"
|
|
|
|
; Write the installation path into the registry
|
|
WriteRegStr HKLM "SOFTWARE\Cura_${VERSION}" "Install_Dir" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "DisplayName" "Cura ${VERSION}"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "NoModify" 1
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "NoRepair" 1
|
|
WriteUninstaller "uninstall.exe"
|
|
|
|
CreateDirectory "$SMPROGRAMS\Cura ${VERSION}"
|
|
CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
|
CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Cura.lnk" "$INSTDIR\cura.bat" "" "$INSTDIR\cura.icon" 0
|
|
CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\PrintRun.lnk" "$INSTDIR\printrun.bat" "" "$INSTDIR\cura.icon" 0
|
|
|
|
; Set output path to the driver directory.
|
|
SetOutPath "$INSTDIR\drivers\"
|
|
File /r "drivers\"
|
|
|
|
${If} ${RunningX64}
|
|
ExecWait '"$INSTDIR\drivers\dpinst64.exe" /lm'
|
|
${Else}
|
|
ExecWait '"$INSTDIR\drivers\dpinst32.exe" /lm'
|
|
${EndIf}
|
|
|
|
; Give all users write permissions in the install directory, so they can read/write profile and preferences files.
|
|
AccessControl::GrantOnFile "$INSTDIR" "(S-1-5-32-545)" "FullAccess"
|
|
|
|
SectionEnd
|
|
|
|
;--------------------------------
|
|
|
|
; Uninstaller
|
|
|
|
Section "Uninstall"
|
|
|
|
; Remove registry keys
|
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}"
|
|
DeleteRegKey HKLM "SOFTWARE\Cura_${VERSION}"
|
|
|
|
; Remove directories used
|
|
RMDir /r "$SMPROGRAMS\Cura ${VERSION}"
|
|
RMDir /r "$INSTDIR"
|
|
|
|
SectionEnd
|
|
|