3 RequestExecutionLevel highest
\r
4 SetCompressor /SOLID lzma
\r
6 # General Symbol Definitions
\r
7 !define REGKEY "SOFTWARE\$(^Name)"
\r
8 !define VERSION 0.6.0
\r
9 !define COMPANY "Bitcoin project"
\r
10 !define URL http://www.bitcoin.org/
\r
12 # MUI Symbol Definitions
\r
13 !define MUI_ICON "../share/pixmaps/bitcoin.ico"
\r
14 !define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
\r
15 !define MUI_HEADERIMAGE
\r
16 !define MUI_HEADERIMAGE_RIGHT
\r
17 !define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp"
\r
18 !define MUI_FINISHPAGE_NOAUTOCLOSE
\r
19 !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
\r
20 !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
\r
21 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
\r
22 !define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin
\r
23 !define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin-qt.exe
\r
24 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
\r
25 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
\r
26 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
\r
29 !include Sections.nsh
\r
36 !insertmacro MUI_PAGE_WELCOME
\r
37 !insertmacro MUI_PAGE_DIRECTORY
\r
38 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
\r
39 !insertmacro MUI_PAGE_INSTFILES
\r
40 !insertmacro MUI_PAGE_FINISH
\r
41 !insertmacro MUI_UNPAGE_CONFIRM
\r
42 !insertmacro MUI_UNPAGE_INSTFILES
\r
44 # Installer languages
\r
45 !insertmacro MUI_LANGUAGE English
\r
47 # Installer attributes
\r
48 OutFile bitcoin-0.6.0-win32-setup.exe
\r
49 InstallDir $PROGRAMFILES\Bitcoin
\r
53 ShowInstDetails show
\r
54 VIProductVersion 0.6.0.99
\r
55 VIAddVersionKey ProductName Bitcoin
\r
56 VIAddVersionKey ProductVersion "${VERSION}"
\r
57 VIAddVersionKey CompanyName "${COMPANY}"
\r
58 VIAddVersionKey CompanyWebsite "${URL}"
\r
59 VIAddVersionKey FileVersion "${VERSION}"
\r
60 VIAddVersionKey FileDescription ""
\r
61 VIAddVersionKey LegalCopyright ""
\r
62 InstallDirRegKey HKCU "${REGKEY}" Path
\r
63 ShowUninstDetails show
\r
65 # Installer sections
\r
66 Section -Main SEC0000
\r
69 File ../release/bitcoin-qt.exe
\r
70 File /oname=license.txt ../COPYING
\r
71 File /oname=readme.txt ../doc/README_windows.txt
\r
72 SetOutPath $INSTDIR\daemon
\r
73 File ../src/bitcoind.exe
\r
74 SetOutPath $INSTDIR\src
\r
75 File /r /x *.exe /x *.o ../src\*.*
\r
77 WriteRegStr HKCU "${REGKEY}\Components" Main 1
\r
79 # Remove old wxwidgets-based-bitcoin executable and locales:
\r
80 Delete /REBOOTOK $INSTDIR\bitcoin.exe
\r
81 RMDir /r /REBOOTOK $INSTDIR\locale
\r
84 Section -post SEC0001
\r
85 WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
\r
87 WriteUninstaller $INSTDIR\uninstall.exe
\r
88 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
\r
89 CreateDirectory $SMPROGRAMS\$StartMenuGroup
\r
90 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin-qt.exe
\r
91 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe
\r
92 !insertmacro MUI_STARTMENU_WRITE_END
\r
93 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
\r
94 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
\r
95 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
\r
96 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
\r
97 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
\r
98 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
\r
99 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
\r
100 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
\r
102 # bitcoin: URI handling disabled for 0.6.0
\r
103 # WriteRegStr HKCR "bitcoin" "URL Protocol" ""
\r
104 # WriteRegStr HKCR "bitcoin" "" "URL:Bitcoin"
\r
105 # WriteRegStr HKCR "bitcoin\DefaultIcon" "" $INSTDIR\bitcoin-qt.exe
\r
106 # WriteRegStr HKCR "bitcoin\shell\open\command" "" '"$INSTDIR\bitcoin-qt.exe" "$$1"'
\r
109 # Macro for selecting uninstaller sections
\r
110 !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
\r
112 ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
\r
113 StrCmp $R0 1 0 next${UNSECTION_ID}
\r
114 !insertmacro SelectSection "${UNSECTION_ID}"
\r
115 GoTo done${UNSECTION_ID}
\r
116 next${UNSECTION_ID}:
\r
117 !insertmacro UnselectSection "${UNSECTION_ID}"
\r
118 done${UNSECTION_ID}:
\r
122 # Uninstaller sections
\r
123 Section /o -un.Main UNSEC0000
\r
124 Delete /REBOOTOK $INSTDIR\bitcoin-qt.exe
\r
125 Delete /REBOOTOK $INSTDIR\license.txt
\r
126 Delete /REBOOTOK $INSTDIR\readme.txt
\r
127 RMDir /r /REBOOTOK $INSTDIR\daemon
\r
128 RMDir /r /REBOOTOK $INSTDIR\src
\r
129 DeleteRegValue HKCU "${REGKEY}\Components" Main
\r
132 Section -un.post UNSEC0001
\r
133 DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
\r
134 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"
\r
135 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"
\r
136 Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
\r
137 Delete /REBOOTOK $INSTDIR\uninstall.exe
\r
138 Delete /REBOOTOK $INSTDIR\debug.log
\r
139 Delete /REBOOTOK $INSTDIR\db.log
\r
140 DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
\r
141 DeleteRegValue HKCU "${REGKEY}" Path
\r
142 DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
\r
143 DeleteRegKey /IfEmpty HKCU "${REGKEY}"
\r
144 DeleteRegKey HKCR "bitcoin"
\r
145 RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
\r
146 RmDir /REBOOTOK $INSTDIR
\r
148 StrCpy $R0 $StartMenuGroup 1
\r
149 StrCmp $R0 ">" no_smgroup
\r
154 # Installer functions
\r
159 # Uninstaller functions
\r
161 ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
\r
162 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
\r
163 !insertmacro SELECT_UNSECTION Main ${UNSEC0000}
\r