3 RequestExecutionLevel highest
\r
5 # General Symbol Definitions
\r
6 !define REGKEY "SOFTWARE\$(^Name)"
\r
7 !define VERSION 0.3.20
\r
8 !define COMPANY "Bitcoin project"
\r
9 !define URL http://www.bitcoin.org/
\r
11 # MUI Symbol Definitions
\r
12 !define MUI_ICON "src\rc\bitcoin.ico"
\r
13 !define MUI_FINISHPAGE_NOAUTOCLOSE
\r
14 !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
\r
15 !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
\r
16 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
\r
17 !define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin
\r
18 !define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin.exe
\r
19 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
\r
20 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
\r
23 !include Sections.nsh
\r
30 !insertmacro MUI_PAGE_WELCOME
\r
31 !insertmacro MUI_PAGE_DIRECTORY
\r
32 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
\r
33 !insertmacro MUI_PAGE_INSTFILES
\r
34 !insertmacro MUI_PAGE_FINISH
\r
35 !insertmacro MUI_UNPAGE_CONFIRM
\r
36 !insertmacro MUI_UNPAGE_INSTFILES
\r
38 # Installer languages
\r
39 !insertmacro MUI_LANGUAGE English
\r
41 # Installer attributes
\r
42 OutFile bitcoin-0.3.20-win32-setup.exe
\r
43 InstallDir $PROGRAMFILES\Bitcoin
\r
46 ShowInstDetails show
\r
47 VIProductVersion 0.3.20.0
\r
48 VIAddVersionKey ProductName Bitcoin
\r
49 VIAddVersionKey ProductVersion "${VERSION}"
\r
50 VIAddVersionKey CompanyName "${COMPANY}"
\r
51 VIAddVersionKey CompanyWebsite "${URL}"
\r
52 VIAddVersionKey FileVersion "${VERSION}"
\r
53 VIAddVersionKey FileDescription ""
\r
54 VIAddVersionKey LegalCopyright ""
\r
55 InstallDirRegKey HKCU "${REGKEY}" Path
\r
56 ShowUninstDetails show
\r
58 # Installer sections
\r
59 Section -Main SEC0000
\r
66 SetOutPath $INSTDIR\daemon
\r
68 SetOutPath $INSTDIR\locale
\r
70 SetOutPath $INSTDIR\src
\r
73 WriteRegStr HKCU "${REGKEY}\Components" Main 1
\r
76 Section -post SEC0001
\r
77 WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
\r
79 WriteUninstaller $INSTDIR\uninstall.exe
\r
80 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
\r
81 CreateDirectory $SMPROGRAMS\$StartMenuGroup
\r
82 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin.exe
\r
83 CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe
\r
84 !insertmacro MUI_STARTMENU_WRITE_END
\r
85 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
\r
86 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
\r
87 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
\r
88 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
\r
89 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
\r
90 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
\r
91 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
\r
92 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
\r
95 # Macro for selecting uninstaller sections
\r
96 !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
\r
98 ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
\r
99 StrCmp $R0 1 0 next${UNSECTION_ID}
\r
100 !insertmacro SelectSection "${UNSECTION_ID}"
\r
101 GoTo done${UNSECTION_ID}
\r
102 next${UNSECTION_ID}:
\r
103 !insertmacro UnselectSection "${UNSECTION_ID}"
\r
104 done${UNSECTION_ID}:
\r
108 # Uninstaller sections
\r
109 Section /o -un.Main UNSEC0000
\r
110 Delete /REBOOTOK $INSTDIR\bitcoin.exe
\r
111 Delete /REBOOTOK $INSTDIR\libeay32.dll
\r
112 Delete /REBOOTOK $INSTDIR\license.txt
\r
113 Delete /REBOOTOK $INSTDIR\readme.txt
\r
114 RMDir /r /REBOOTOK $INSTDIR\daemon
\r
115 RMDir /r /REBOOTOK $INSTDIR\locale
\r
116 RMDir /r /REBOOTOK $INSTDIR\src
\r
117 DeleteRegValue HKCU "${REGKEY}\Components" Main
\r
120 Section -un.post UNSEC0001
\r
121 DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
\r
122 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"
\r
123 Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"
\r
124 Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
\r
125 Delete /REBOOTOK $INSTDIR\uninstall.exe
\r
126 Delete /REBOOTOK $INSTDIR\debug.log
\r
127 Delete /REBOOTOK $INSTDIR\db.log
\r
128 DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
\r
129 DeleteRegValue HKCU "${REGKEY}" Path
\r
130 DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
\r
131 DeleteRegKey /IfEmpty HKCU "${REGKEY}"
\r
132 RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
\r
133 RmDir /REBOOTOK $INSTDIR
\r
135 StrCpy $R0 $StartMenuGroup 1
\r
136 StrCmp $R0 ">" no_smgroup
\r
141 # Installer functions
\r
146 # Uninstaller functions
\r
148 ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
\r
149 !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
\r
150 !insertmacro SELECT_UNSECTION Main ${UNSEC0000}
\r