Skip to content

Commit b69fdcc

Browse files
committed
Merge remote-tracking branch 'seb/winInstaller'
2 parents deb7378 + 118ab04 commit b69fdcc

File tree

3 files changed

+149
-0
lines changed

3 files changed

+149
-0
lines changed

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ before_build:
1818
build_script:
1919
- echo on
2020
- choco install make
21+
- choco install nsis -pre
2122
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
2223
- mkdir %GOPATH%\src\github.com\digitalbitbox
2324
- cd ..

frontends/qt/setup.nsi

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
Name "BitBox Wallet App"
2+
3+
RequestExecutionLevel highest
4+
SetCompressor /SOLID lzma
5+
6+
# General Symbol Definitions
7+
!define REGKEY "SOFTWARE\$(^Name)"
8+
!define VERSION 4.3.0.0
9+
!define COMPANY "Shiftcrypto"
10+
!define URL https://https://github.com/digitalbitbox/bitbox-wallet-app/releases/download
11+
!define BINDIR "build\windows"
12+
!define ICONDIR "resources\win"
13+
14+
# MUI Symbol Definitions
15+
!define MUI_ICON "${ICONDIR}\icon.ico"
16+
!define MUI_WELCOMEFINISHPAGE_UNICON "${ICONDIR}\icon.ico"
17+
!define MUI_HEADERIMAGE "${ICONDIR}\icon.ico"
18+
!define MUI_HEADERIMAGE_RIGHT "${ICONDIR}\icon.ico"
19+
!define MUI_HEADERIMAGE_UNICON "${ICONDIR}\icon.ico"
20+
!define MUI_FINISHPAGE_NOAUTOCLOSE
21+
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
22+
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
23+
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
24+
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "BitBox"
25+
!define MUI_FINISHPAGE_RUN "$WINDIR\explorer.exe"
26+
!define MUI_FINISHPAGE_RUN_PARAMETERS $INSTDIR\BitBox.exe
27+
!define MUI_UNICON "${ICONDIR}\icon.ico"
28+
!define MUI_UNWELCOMEFINISHPAGE_UNICON "${ICONDIR}\icon.ico"
29+
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
30+
31+
# Included files
32+
!include Sections.nsh
33+
!include MUI2.nsh
34+
!include x64.nsh
35+
36+
# Variables
37+
Var StartMenuGroup
38+
39+
# Installer pages
40+
!insertmacro MUI_PAGE_WELCOME
41+
!insertmacro MUI_PAGE_DIRECTORY
42+
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
43+
!insertmacro MUI_PAGE_INSTFILES
44+
!insertmacro MUI_PAGE_FINISH
45+
!insertmacro MUI_UNPAGE_CONFIRM
46+
!insertmacro MUI_UNPAGE_INSTFILES
47+
48+
# Installer languages
49+
!insertmacro MUI_LANGUAGE English
50+
51+
# Installer attributes
52+
OutFile BitBox-installer.exe
53+
InstallDir $PROGRAMFILES64\BitBox
54+
CRCCheck on
55+
XPStyle on
56+
BrandingText " "
57+
ShowInstDetails show
58+
VIProductVersion ${VERSION}
59+
VIAddVersionKey ProductName "BitBox Wallet App"
60+
VIAddVersionKey ProductVersion "${VERSION}"
61+
VIAddVersionKey CompanyName "${COMPANY}"
62+
VIAddVersionKey CompanyWebsite "${URL}"
63+
VIAddVersionKey FileVersion "${VERSION}"
64+
VIAddVersionKey FileDescription ""
65+
VIAddVersionKey LegalCopyright ""
66+
InstallDirRegKey HKCU "${REGKEY}" Path
67+
ShowUninstDetails show
68+
69+
# Installer sections
70+
Section -Main SEC0000
71+
SetOutPath $INSTDIR
72+
SetOverwrite on
73+
File /r "build\windows\*"
74+
SetOutPath $INSTDIR\daemon
75+
SetOutPath $INSTDIR\doc
76+
#File /r /x Makefile* @abs_top_srcdir@/doc\*.*
77+
SetOutPath $INSTDIR
78+
WriteRegStr HKCU "${REGKEY}\Components" Main 1
79+
SectionEnd
80+
81+
Section -post SEC0001
82+
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
83+
SetOutPath $INSTDIR
84+
WriteUninstaller $INSTDIR\uninstall.exe
85+
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
86+
CreateDirectory $SMPROGRAMS\$StartMenuGroup
87+
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\BitBox.exe
88+
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe
89+
!insertmacro MUI_STARTMENU_WRITE_END
90+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
91+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
92+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
93+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
94+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
95+
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
96+
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
97+
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
98+
SectionEnd
99+
100+
# Macro for selecting uninstaller sections
101+
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
102+
Push $R0
103+
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
104+
StrCmp $R0 1 0 next${UNSECTION_ID}
105+
!insertmacro SelectSection "${UNSECTION_ID}"
106+
GoTo done${UNSECTION_ID}
107+
next${UNSECTION_ID}:
108+
!insertmacro UnselectSection "${UNSECTION_ID}"
109+
done${UNSECTION_ID}:
110+
Pop $R0
111+
!macroend
112+
113+
# Uninstaller sections
114+
Section /o -un.Main UNSEC0000
115+
RMDir /r /REBOOTOK $INSTDIR
116+
DeleteRegValue HKCU "${REGKEY}\Components" Main
117+
SectionEnd
118+
119+
Section -un.post UNSEC0001
120+
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
121+
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk"
122+
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk"
123+
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\BitBox.lnk"
124+
Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
125+
Delete /REBOOTOK $INSTDIR\uninstall.exe
126+
Delete /REBOOTOK $INSTDIR\debug.log
127+
Delete /REBOOTOK $INSTDIR\db.log
128+
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
129+
DeleteRegValue HKCU "${REGKEY}" Path
130+
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
131+
DeleteRegKey /IfEmpty HKCU "${REGKEY}"
132+
#DeleteRegKey HKCR "@PACKAGE_TARNAME@"
133+
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
134+
RmDir /REBOOTOK $INSTDIR
135+
Push $R0
136+
StrCpy $R0 $StartMenuGroup 1
137+
StrCmp $R0 ">" no_smgroup
138+
no_smgroup:
139+
Pop $R0
140+
SectionEnd
141+
142+
# Uninstaller functions
143+
Function un.onInit
144+
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
145+
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
146+
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
147+
FunctionEnd

frontends/qt/windows_post.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ cp /c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Redist
2020
cp "/c/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Redist/MSVC/14.14.26405/x64/Microsoft.VC141.CRT/vccorlib140.dll" build/windows/
2121
cp "/c/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Redist/MSVC/14.14.26405/x64/Microsoft.VC141.CRT/vcruntime140.dll" build/windows/
2222
cp $MINGW_BIN/libssp-0.dll build/windows/
23+
makensis setup.nsi

0 commit comments

Comments
 (0)