mirror of
https://github.com/dashpay/dash.git
synced 2024-12-23 19:12:47 +01:00
474dd760e1
9086e0dd3c924b6c9a5ad05799d30d97b9ced3be build: set Unicode true for NSIS installer (fanquake) Pull request description: Now that we are using Focal for gitian builds, and have [NSIS 3.0+ available](https://packages.ubuntu.com/focal/nsis) (also in Guix), we can create installers that [support unicode](https://nsis.sourceforge.io/Docs/Chapter4.html#aunicodetarget). Unicode is only becoming the NSIS default [beginning with the 3.07 release](https://nsis.sourceforge.io/Docs/AppendixF.html#v3.07-cl), so we need to set this attribute to get support. Should close: #13817 Gitian builds: ```bash b8553615b6b4be5e4459e03796e700b30b5d198a7f184f27be6983ff901b5592 bitcoin-9086e0dd3c92-win-unsigned.tar.gz a6b024a5a68e0196e8e118168c918285e820f2d0ffe9c38db680580459da8bf3 bitcoin-9086e0dd3c92-win64-debug.zip ff4003d4f61127c707e44b5235eaf924b30351f20cde27e775131982a1b4cf92 bitcoin-9086e0dd3c92-win64-setup-unsigned.exe 1876bee55fa9ea99b91203975c13d0ad8a046b4b58068bde41c977fd1d12de13 bitcoin-9086e0dd3c92-win64.zip 000f2778f8f166a89b4ab35f155156c1c34800be6e47d29b5308043c50128392 src/bitcoin-9086e0dd3c92.tar.gz d650a9b8f2dd1df777bf42439dfcbcf6bc358e30ec148b9992a18b39f76b1ecf bitcoin-core-win-22-res.yml ``` ACKs for top commit: laanwj: ACK 9086e0dd3c924b6c9a5ad05799d30d97b9ced3be hebasto: ACK 9086e0dd3c924b6c9a5ad05799d30d97b9ced3be, tested on Windows 10 Pro (20H2, build 19042.804): Tree-SHA512: cc7b7ca05877571d0a29a7d36e40279f54d886d8ab27facfa722c2ee95a1fc06c2bad8ef1eb1980d283ae981659d737021a46c8f4618e24d510b5ab384990e09
177 lines
6.9 KiB
Plaintext
177 lines
6.9 KiB
Plaintext
Name "@PACKAGE_NAME@ (64-bit)"
|
|
|
|
RequestExecutionLevel highest
|
|
SetCompressor /SOLID lzma
|
|
SetDateSave off
|
|
Unicode true
|
|
|
|
# Uncomment these lines when investigating reproducibility errors
|
|
#SetCompress off
|
|
#SetDatablockOptimize off
|
|
|
|
# General Symbol Definitions
|
|
!define REGKEY "SOFTWARE\$(^Name)"
|
|
!define COMPANY "@PACKAGE_NAME@ project"
|
|
!define URL @PACKAGE_URL@
|
|
|
|
# MUI Symbol Definitions
|
|
!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/dash.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
|
|
!include x64.nsh
|
|
|
|
# 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
|
|
InstallDir $PROGRAMFILES64\DashCore
|
|
CRCCheck on
|
|
XPStyle on
|
|
BrandingText " "
|
|
ShowInstDetails show
|
|
VIProductVersion @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_BUILD@.0
|
|
VIAddVersionKey ProductName "@PACKAGE_NAME@"
|
|
VIAddVersionKey ProductVersion "@PACKAGE_VERSION@"
|
|
VIAddVersionKey CompanyName "${COMPANY}"
|
|
VIAddVersionKey CompanyWebsite "${URL}"
|
|
VIAddVersionKey FileVersion "@PACKAGE_VERSION@"
|
|
VIAddVersionKey FileDescription "Installer for @PACKAGE_NAME@"
|
|
VIAddVersionKey LegalCopyright "Copyright (C) 2009-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS_FINAL@"
|
|
InstallDirRegKey HKCU "${REGKEY}" Path
|
|
ShowUninstDetails show
|
|
|
|
# Installer sections
|
|
Section -Main SEC0000
|
|
SetOutPath $INSTDIR
|
|
SetOverwrite on
|
|
File @abs_top_builddir@/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_builddir@/release/@BITCOIN_DAEMON_NAME@@EXEEXT@
|
|
File @abs_top_builddir@/release/@BITCOIN_CLI_NAME@@EXEEXT@
|
|
File @abs_top_builddir@/release/@BITCOIN_TX_NAME@@EXEEXT@
|
|
File @abs_top_builddir@/release/@BITCOIN_WALLET_TOOL_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, 64-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 "@PACKAGE_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\dash-qt.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:Dash"
|
|
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, 64-bit).lnk"
|
|
Delete /REBOOTOK "$SMSTARTUP\Dash.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} ${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}
|
|
FunctionEnd
|
|
|
|
# Uninstaller functions
|
|
Function un.onInit
|
|
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
|
|
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
|
|
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
|
|
FunctionEnd
|