3 RequestExecutionLevel highest
\r
5 # General Symbol Definitions
\r
6 !define REGKEY "SOFTWARE\$(^Name)"
\r
7 !define VERSION 0.3.24
\r
8 !define COMPANY "Bitcoin project"
\r
9 !define URL http://www.bitcoin.org/
\r
11 # MUI Symbol Definitions
\r
12 !define MUI_ICON "../share/pixmaps/bitcoin.ico"
\r
13 !define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
\r
14 !define MUI_HEADERIMAGE
\r
15 !define MUI_HEADERIMAGE_RIGHT
\r
16 !define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp"
\r
17 !define MUI_FINISHPAGE_NOAUTOCLOSE
\r
18 !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
\r
19 !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
\r
20 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
\r
21 !define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin
\r
22 !define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin.exe
\r
23 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
\r
24 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
\r
25 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
\r
28 !include Sections.nsh
\r
35 !insertmacro MUI_PAGE_WELCOME
\r
36 !insertmacro MUI_PAGE_DIRECTORY
\r
37 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
\r
38 !insertmacro MUI_PAGE_INSTFILES
\r
39 !insertmacro MUI_PAGE_FINISH
\r
40 !insertmacro MUI_UNPAGE_CONFIRM
\r
41 !insertmacro MUI_UNPAGE_INSTFILES
\r
43 # Installer languages
\r
44 !insertmacro MUI_LANGUAGE English
\r
46 # Installer attributes
\r
47 OutFile bitcoin-0.3.24-win32-setup.exe
\r
48 InstallDir $PROGRAMFILES\Bitcoin
\r
51 ShowInstDetails show
\r
52 VIProductVersion 0.3.24.0
\r
53 VIAddVersionKey ProductName Bitcoin
\r
54 VIAddVersionKey ProductVersion "${VERSION}"
\r
55 VIAddVersionKey CompanyName "${COMPANY}"
\r
56 VIAddVersionKey CompanyWebsite "${URL}"
\r
57 VIAddVersionKey FileVersion "${VERSION}"
\r
58 VIAddVersionKey FileDescription ""
\r
59 VIAddVersionKey LegalCopyright ""
\r
60 InstallDirRegKey HKCU "${REGKEY}" Path
\r
61 ShowUninstDetails show
\r
63 # Installer sections
\r
64 Section -Main SEC0000
\r
67 File ../src/bitcoin.exe
\r
68 File /oname=license.txt ../COPYING
\r
69 File /oname=readme.txt ../doc/README_windows.txt
\r
70 SetOutPath $INSTDIR\daemon
\r
71 File ../src/bitcoind.exe
\r
72 SetOutPath $INSTDIR\locale
\r
73 File /r ../locale/*.*
\r
74 SetOutPath $INSTDIR\src
\r
75 File /r /x *.exe /x *.o ../src\*.*
\r
77 WriteRegStr HKCU "${REGKEY}\Components" Main 1
\r
80 Section -post SEC0001
\r
81 WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
\r
83 WriteUninstaller $INSTDIR\uninstall.exe
\r
84 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
\r
85 CreateDirectory $SMPROGRAMS\$StartMenuGroup
\r
86 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin.exe
\r
87 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe
\r
88 !insertmacro MUI_STARTMENU_WRITE_END
\r
89 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
\r
90 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
\r
91 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
\r
92 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
\r
93 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
\r
94 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
\r
95 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
\r
96 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
\r
99 # Macro for selecting uninstaller sections
\r
100 !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
\r
102 ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
\r
103 StrCmp $R0 1 0 next${UNSECTION_ID}
\r
104 !insertmacro SelectSection "${UNSECTION_ID}"
\r
105 GoTo done${UNSECTION_ID}
\r
106 next${UNSECTION_ID}:
\r
107 !insertmacro UnselectSection "${UNSECTION_ID}"
\r
108 done${UNSECTION_ID}:
\r
112 # Uninstaller sections
\r
113 Section /o -un.Main UNSEC0000
\r
114 Delete /REBOOTOK $INSTDIR\bitcoin.exe
\r
115 Delete /REBOOTOK $INSTDIR\license.txt
\r
116 Delete /REBOOTOK $INSTDIR\readme.txt
\r
117 RMDir /r /REBOOTOK $INSTDIR\daemon
\r
118 RMDir /r /REBOOTOK $INSTDIR\locale
\r
119 RMDir /r /REBOOTOK $INSTDIR\src
\r
120 DeleteRegValue HKCU "${REGKEY}\Components" Main
\r
123 Section -un.post UNSEC0001
\r
124 DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
\r
125 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"
\r
126 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"
\r
127 Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
\r
128 Delete /REBOOTOK $INSTDIR\uninstall.exe
\r
129 Delete /REBOOTOK $INSTDIR\debug.log
\r
130 Delete /REBOOTOK $INSTDIR\db.log
\r
131 DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
\r
132 DeleteRegValue HKCU "${REGKEY}" Path
\r
133 DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
\r
134 DeleteRegKey /IfEmpty HKCU "${REGKEY}"
\r
135 RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
\r
136 RmDir /REBOOTOK $INSTDIR
\r
138 StrCpy $R0 $StartMenuGroup 1
\r
139 StrCmp $R0 ">" no_smgroup
\r
144 # Installer functions
\r
149 # Uninstaller functions
\r
151 ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
\r
152 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
\r
153 !insertmacro SELECT_UNSECTION Main ${UNSEC0000}
\r