123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- Name "@PACKAGE_NAME@ (@WINDOWS_BITS@-bit)"
- RequestExecutionLevel highest
- SetCompressor /SOLID lzma
- # General Symbol Definitions
- !define REGKEY "SOFTWARE\$(^Name)"
- !define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@
- !define COMPANY "@PACKAGE_NAME@ project"
- !define URL @PACKAGE_URL@
- # MUI Symbol Definitions
- !define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico"
- !define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp"
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_RIGHT
- !define MUI_HEADERIMAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-header.bmp"
- !define MUI_FINISHPAGE_NOAUTOCLOSE
- !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
- !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
- !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
- !define MUI_STARTMENUPAGE_DEFAULTFOLDER "@PACKAGE_NAME@"
- !define MUI_FINISHPAGE_RUN "$WINDIR\explorer.exe"
- !define MUI_FINISHPAGE_RUN_PARAMETERS $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
- !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
- !define MUI_UNWELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp"
- !define MUI_UNFINISHPAGE_NOAUTOCLOSE
- # Included files
- !include Sections.nsh
- !include MUI2.nsh
- !if "@WINDOWS_BITS@" == "64"
- !include x64.nsh
- !endif
- # Variables
- Var StartMenuGroup
- # Installer pages
- !insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
- !insertmacro MUI_PAGE_INSTFILES
- !insertmacro MUI_PAGE_FINISH
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
- # Installer languages
- !insertmacro MUI_LANGUAGE English
- # Installer attributes
- OutFile @abs_top_srcdir@/@PACKAGE_TARNAME@-${VERSION}-win@WINDOWS_BITS@-setup.exe
- !if "@WINDOWS_BITS@" == "64"
- InstallDir $PROGRAMFILES64\Litecoin
- !else
- InstallDir $PROGRAMFILES\Litecoin
- !endif
- CRCCheck on
- XPStyle on
- BrandingText " "
- ShowInstDetails show
- VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@
- VIAddVersionKey ProductName "@PACKAGE_NAME@"
- VIAddVersionKey ProductVersion "${VERSION}"
- VIAddVersionKey CompanyName "${COMPANY}"
- VIAddVersionKey CompanyWebsite "${URL}"
- VIAddVersionKey FileVersion "${VERSION}"
- VIAddVersionKey FileDescription ""
- VIAddVersionKey LegalCopyright ""
- InstallDirRegKey HKCU "${REGKEY}" Path
- ShowUninstDetails show
- # Installer sections
- Section -Main SEC0000
- SetOutPath $INSTDIR
- SetOverwrite on
- File @abs_top_srcdir@/release/@BITCOIN_GUI_NAME@@EXEEXT@
- File /oname=COPYING.txt @abs_top_srcdir@/COPYING
- File /oname=readme.txt @abs_top_srcdir@/doc/README_windows.txt
- SetOutPath $INSTDIR\daemon
- File @abs_top_srcdir@/release/@BITCOIN_DAEMON_NAME@@EXEEXT@
- File @abs_top_srcdir@/release/@BITCOIN_CLI_NAME@@EXEEXT@
- File @abs_top_srcdir@/release/@BITCOIN_TX_NAME@@EXEEXT@
- SetOutPath $INSTDIR\doc
- File /r /x Makefile* @abs_top_srcdir@/doc\*.*
- SetOutPath $INSTDIR
- WriteRegStr HKCU "${REGKEY}\Components" Main 1
- SectionEnd
- Section -post SEC0001
- WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
- SetOutPath $INSTDIR
- WriteUninstaller $INSTDIR\uninstall.exe
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- CreateDirectory $SMPROGRAMS\$StartMenuGroup
- CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
- CreateShortcut "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "-testnet" "$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" 1
- CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
- !insertmacro MUI_STARTMENU_WRITE_END
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
- WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
- WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
- WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
- WriteRegStr HKCR "@PACKAGE_TARNAME@" "URL Protocol" ""
- WriteRegStr HKCR "@PACKAGE_TARNAME@" "" "URL:Litecoin"
- WriteRegStr HKCR "@PACKAGE_TARNAME@\DefaultIcon" "" $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
- WriteRegStr HKCR "@PACKAGE_TARNAME@\shell\open\command" "" '"$INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@" "%1"'
- SectionEnd
- # Macro for selecting uninstaller sections
- !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
- Push $R0
- ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
- StrCmp $R0 1 0 next${UNSECTION_ID}
- !insertmacro SelectSection "${UNSECTION_ID}"
- GoTo done${UNSECTION_ID}
- next${UNSECTION_ID}:
- !insertmacro UnselectSection "${UNSECTION_ID}"
- done${UNSECTION_ID}:
- Pop $R0
- !macroend
- # Uninstaller sections
- Section /o -un.Main UNSEC0000
- Delete /REBOOTOK $INSTDIR\@BITCOIN_GUI_NAME@@EXEEXT@
- Delete /REBOOTOK $INSTDIR\COPYING.txt
- Delete /REBOOTOK $INSTDIR\readme.txt
- RMDir /r /REBOOTOK $INSTDIR\daemon
- RMDir /r /REBOOTOK $INSTDIR\doc
- DeleteRegValue HKCU "${REGKEY}\Components" Main
- SectionEnd
- Section -un.post UNSEC0001
- DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
- Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
- Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
- Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\@PACKAGE_NAME@ (testnet, @WINDOWS_BITS@-bit).lnk"
- Delete /REBOOTOK "$SMSTARTUP\Litecoin.lnk"
- Delete /REBOOTOK $INSTDIR\uninstall.exe
- Delete /REBOOTOK $INSTDIR\debug.log
- Delete /REBOOTOK $INSTDIR\db.log
- DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
- DeleteRegValue HKCU "${REGKEY}" Path
- DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
- DeleteRegKey /IfEmpty HKCU "${REGKEY}"
- DeleteRegKey HKCR "@PACKAGE_TARNAME@"
- RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
- RmDir /REBOOTOK $INSTDIR
- Push $R0
- StrCpy $R0 $StartMenuGroup 1
- StrCmp $R0 ">" no_smgroup
- no_smgroup:
- Pop $R0
- SectionEnd
- # Installer functions
- Function .onInit
- InitPluginsDir
- !if "@WINDOWS_BITS@" == "64"
- ${If} ${RunningX64}
- ; disable registry redirection (enable access to 64-bit portion of registry)
- SetRegView 64
- ${Else}
- MessageBox MB_OK|MB_ICONSTOP "Cannot install 64-bit version on a 32-bit system."
- Abort
- ${EndIf}
- !endif
- FunctionEnd
- # Uninstaller functions
- Function un.onInit
- ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
- !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
- !insertmacro SELECT_UNSECTION Main ${UNSEC0000}
- FunctionEnd
|