Add checkpoint
[novacoin.git] / share / setup.nsi
1 Name NovaCoin\r
2 \r
3 RequestExecutionLevel highest\r
4 SetCompressor /SOLID lzma\r
5 \r
6 # General Symbol Definitions\r
7 !define REGKEY "SOFTWARE\$(^Name)"\r
8 !define VERSION 0.3.0\r
9 !define COMPANY "NovaCoin project"\r
10 !define URL http://www.novacoin.ru/\r
11 \r
12 # MUI Symbol Definitions\r
13 !define MUI_ICON "../share/pixmaps/novacoin.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 NovaCoin\r
23 #!define MUI_FINISHPAGE_RUN $INSTDIR\novacoin-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
27 \r
28 # Included files\r
29 !include Sections.nsh\r
30 !include MUI2.nsh\r
31 \r
32 # Variables\r
33 Var StartMenuGroup\r
34 \r
35 # Installer pages\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
43 \r
44 # Installer languages\r
45 !insertmacro MUI_LANGUAGE English\r
46 \r
47 # Installer attributes\r
48 OutFile novacoin-0.3.0-win32-setup.exe\r
49 InstallDir $PROGRAMFILES\NovaCoin\r
50 CRCCheck on\r
51 XPStyle on\r
52 BrandingText " "\r
53 ShowInstDetails show\r
54 VIProductVersion 0.3.0.0\r
55 VIAddVersionKey ProductName NovaCoin\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
64 \r
65 # Installer sections\r
66 Section -Main SEC0000\r
67     SetOutPath $INSTDIR\r
68     SetOverwrite on\r
69     #File ../release/novacoin-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/novacoind.exe\r
74     SetOutPath $INSTDIR\src\r
75     File /r /x *.exe /x *.o ../src\*.*\r
76     SetOutPath $INSTDIR\r
77     WriteRegStr HKCU "${REGKEY}\Components" Main 1\r
78 \r
79     # Remove old wxwidgets-based-novacoin executable and locales:\r
80     #Delete /REBOOTOK $INSTDIR\novacoin.exe\r
81     #RMDir /r /REBOOTOK $INSTDIR\locale\r
82 SectionEnd\r
83 \r
84 Section -post SEC0001\r
85     WriteRegStr HKCU "${REGKEY}" Path $INSTDIR\r
86     SetOutPath $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\Uninstall NovaCoin.lnk" $INSTDIR\uninstall.exe\r
91     !insertmacro MUI_STARTMENU_WRITE_END\r
92     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"\r
93     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"\r
94     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"\r
95     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"\r
96     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe\r
97     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe\r
98     WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1\r
99     WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1\r
100 \r
101     # novacoin: URI handling disabled for 0.6.0\r
102     #    WriteRegStr HKCR "novacoin" "URL Protocol" ""\r
103     #    WriteRegStr HKCR "novacoin" "" "URL:Novacoin"\r
104     #    WriteRegStr HKCR "novacoin\DefaultIcon" "" $INSTDIR\novacoin-qt.exe\r
105     #    WriteRegStr HKCR "novacoin\shell\open\command" "" '"$INSTDIR\novacoin-qt.exe" "$$1"'\r
106 SectionEnd\r
107 \r
108 # Macro for selecting uninstaller sections\r
109 !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID\r
110     Push $R0\r
111     ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"\r
112     StrCmp $R0 1 0 next${UNSECTION_ID}\r
113     !insertmacro SelectSection "${UNSECTION_ID}"\r
114     GoTo done${UNSECTION_ID}\r
115 next${UNSECTION_ID}:\r
116     !insertmacro UnselectSection "${UNSECTION_ID}"\r
117 done${UNSECTION_ID}:\r
118     Pop $R0\r
119 !macroend\r
120 \r
121 # Uninstaller sections\r
122 Section /o -un.Main UNSEC0000\r
123     #Delete /REBOOTOK $INSTDIR\novacoin-qt.exe\r
124     Delete /REBOOTOK $INSTDIR\license.txt\r
125     Delete /REBOOTOK $INSTDIR\readme.txt\r
126     RMDir /r /REBOOTOK $INSTDIR\daemon\r
127     RMDir /r /REBOOTOK $INSTDIR\src\r
128     DeleteRegValue HKCU "${REGKEY}\Components" Main\r
129 SectionEnd\r
130 \r
131 Section -un.post UNSEC0001\r
132     DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"\r
133     Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall NovaCoin.lnk"\r
134     #Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Novacoin.lnk"\r
135     #Delete /REBOOTOK "$SMSTARTUP\Novacoin.lnk"\r
136     Delete /REBOOTOK $INSTDIR\uninstall.exe\r
137     Delete /REBOOTOK $INSTDIR\debug.log\r
138     Delete /REBOOTOK $INSTDIR\db.log\r
139     DeleteRegValue HKCU "${REGKEY}" StartMenuGroup\r
140     DeleteRegValue HKCU "${REGKEY}" Path\r
141     DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"\r
142     DeleteRegKey /IfEmpty HKCU "${REGKEY}"\r
143     DeleteRegKey HKCR "novacoin"\r
144     RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup\r
145     RmDir /REBOOTOK $INSTDIR\r
146     Push $R0\r
147     StrCpy $R0 $StartMenuGroup 1\r
148     StrCmp $R0 ">" no_smgroup\r
149 no_smgroup:\r
150     Pop $R0\r
151 SectionEnd\r
152 \r
153 # Installer functions\r
154 Function .onInit\r
155     InitPluginsDir\r
156 FunctionEnd\r
157 \r
158 # Uninstaller functions\r
159 Function un.onInit\r
160     ReadRegStr $INSTDIR HKCU "${REGKEY}" Path\r
161     !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup\r
162     !insertmacro SELECT_UNSECTION Main ${UNSEC0000}\r
163 FunctionEnd\r