123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- !ifndef VERSION
- !define VERSION '15.09.80'
- !endif
- ; 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 "dist/resources/cura.ico"
- !define MUI_BGCOLOR FFFFFF
- ; Directory page defines
- !define MUI_DIRECTORYPAGE_VERIFYONLEAVE
- ; Header
- ; Don't show the component description box
- !define MUI_COMPONENTSPAGE_NODESC
- ;Do not leave (Un)Installer page automaticly
- !define MUI_FINISHPAGE_NOAUTOCLOSE
- !define MUI_UNFINISHPAGE_NOAUTOCLOSE
- ;Run Cura after installing
- !define MUI_FINISHPAGE_RUN
- !define MUI_FINISHPAGE_RUN_TEXT "Start Cura ${VERSION}"
- !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
- ;Add an option to show release notes
- !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\plugins\ChangeLogPlugin\changelog.txt"
- ; Pages
- ;!insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_COMPONENTS
- !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'
- ;--------------------------------
- ; The stuff to install
- Section "Cura ${VERSION}"
- 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"
- ; Write start menu entries for all users
- SetShellVarContext all
-
- CreateDirectory "$SMPROGRAMS\Cura ${VERSION}"
- CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Uninstall Cura ${VERSION}.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
- CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Cura ${VERSION}.lnk" "$INSTDIR\Cura.exe" '' "$INSTDIR\Cura.exe" 0
-
- SectionEnd
- Function LaunchLink
- ; Write start menu entries for all users
- SetShellVarContext all
- Exec '"$WINDIR\explorer.exe" "$SMPROGRAMS\Cura ${VERSION}\Cura ${VERSION}.lnk"'
- FunctionEnd
- Section "Install Visual Studio 2010 Redistributable"
- SetOutPath "$INSTDIR"
- File "vcredist_2010_20110908_x86.exe"
-
- IfSilent +2
- ExecWait '"$INSTDIR\vcredist_2010_20110908_x86.exe" /q /norestart'
- SectionEnd
- Section "Install Arduino Drivers"
- ; Set output path to the driver directory.
- SetOutPath "$INSTDIR\drivers\"
- File /r "drivers\"
-
- ${If} ${RunningX64}
- IfSilent +2
- ExecWait '"$INSTDIR\drivers\dpinst64.exe" /lm'
- ${Else}
- IfSilent +2
- ExecWait '"$INSTDIR\drivers\dpinst32.exe" /lm'
- ${EndIf}
- SectionEnd
- Section "Open STL files with Cura"
- WriteRegStr HKCR .stl "" "Cura STL model file"
- DeleteRegValue HKCR .stl "Content Type"
- WriteRegStr HKCR "Cura STL model file\DefaultIcon" "" "$INSTDIR\Cura.exe,0"
- WriteRegStr HKCR "Cura STL model file\shell" "" "open"
- WriteRegStr HKCR "Cura STL model file\shell\open\command" "" '"$INSTDIR\Cura.exe" "%1"'
- SectionEnd
- Section /o "Open OBJ files with Cura"
- WriteRegStr HKCR .obj "" "Cura OBJ model file"
- DeleteRegValue HKCR .obj "Content Type"
- WriteRegStr HKCR "Cura OBJ model file\DefaultIcon" "" "$INSTDIR\Cura.exe,0"
- WriteRegStr HKCR "Cura OBJ model file\shell" "" "open"
- WriteRegStr HKCR "Cura OBJ model file\shell\open\command" "" '"$INSTDIR\Cura.exe" "%1"'
- SectionEnd
- ;--------------------------------
- ; Uninstaller
- Section "Uninstall"
-
- ; Remove registry keys
- DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}"
- DeleteRegKey HKLM "SOFTWARE\Cura_${VERSION}"
- ; Write start menu entries for all users
- SetShellVarContext all
- ; Remove directories used
- RMDir /r "$SMPROGRAMS\Cura ${VERSION}"
- RMDir /r "$INSTDIR"
- SectionEnd
|