setup script removes startup shortcut and runs with highest exec level
[novacoin.git] / setup.nsi
1 # Auto-generated by EclipseNSIS Script Wizard\r
2 # 3.10.2009 19:00:28\r
3 \r
4 Name Bitcoin\r
5 \r
6 RequestExecutionLevel highest\r
7 \r
8 # General Symbol Definitions\r
9 !define REGKEY "SOFTWARE\$(^Name)"\r
10 !define VERSION 0.1.6\r
11 !define COMPANY "Bitcoin project"\r
12 !define URL http://bitcoin.sourceforge.net/\r
13 \r
14 # MUI Symbol Definitions\r
15 !define MUI_ICON "rc\bitcoin.ico"\r
16 !define MUI_FINISHPAGE_NOAUTOCLOSE\r
17 !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM\r
18 !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}\r
19 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup\r
20 !define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin\r
21 !define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin.exe\r
22 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"\r
23 !define MUI_UNFINISHPAGE_NOAUTOCLOSE\r
24 \r
25 # Included files\r
26 !include Sections.nsh\r
27 !include MUI2.nsh\r
28 \r
29 # Variables\r
30 Var StartMenuGroup\r
31 \r
32 # Installer pages\r
33 !insertmacro MUI_PAGE_WELCOME\r
34 !insertmacro MUI_PAGE_DIRECTORY\r
35 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup\r
36 !insertmacro MUI_PAGE_INSTFILES\r
37 !insertmacro MUI_PAGE_FINISH\r
38 !insertmacro MUI_UNPAGE_CONFIRM\r
39 !insertmacro MUI_UNPAGE_INSTFILES\r
40 \r
41 # Installer languages\r
42 !insertmacro MUI_LANGUAGE English\r
43 \r
44 # Installer attributes\r
45 OutFile Bitcoin_0.1.6_setup.exe\r
46 InstallDir $PROGRAMFILES\Bitcoin\r
47 CRCCheck on\r
48 XPStyle on\r
49 ShowInstDetails show\r
50 VIProductVersion 0.1.6.0\r
51 VIAddVersionKey ProductName Bitcoin\r
52 VIAddVersionKey ProductVersion "${VERSION}"\r
53 VIAddVersionKey CompanyName "${COMPANY}"\r
54 VIAddVersionKey CompanyWebsite "${URL}"\r
55 VIAddVersionKey FileVersion "${VERSION}"\r
56 VIAddVersionKey FileDescription ""\r
57 VIAddVersionKey LegalCopyright ""\r
58 InstallDirRegKey HKCU "${REGKEY}" Path\r
59 ShowUninstDetails show\r
60 \r
61 # Installer sections\r
62 Section -Main SEC0000\r
63     SetOutPath $INSTDIR\r
64     SetOverwrite on\r
65     File bitcoin.exe\r
66     File libeay32.dll\r
67     File mingwm10.dll\r
68     WriteRegStr HKCU "${REGKEY}\Components" Main 1\r
69 SectionEnd\r
70 \r
71 Section -post SEC0001\r
72     WriteRegStr HKCU "${REGKEY}" Path $INSTDIR\r
73     SetOutPath $INSTDIR\r
74     WriteUninstaller $INSTDIR\uninstall.exe\r
75     !insertmacro MUI_STARTMENU_WRITE_BEGIN Application\r
76     CreateDirectory $SMPROGRAMS\$StartMenuGroup\r
77     CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin.exe\r
78     CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe\r
79     !insertmacro MUI_STARTMENU_WRITE_END\r
80     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"\r
81     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"\r
82     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"\r
83     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"\r
84     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe\r
85     WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe\r
86     WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1\r
87     WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1\r
88 SectionEnd\r
89 \r
90 # Macro for selecting uninstaller sections\r
91 !macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID\r
92     Push $R0\r
93     ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"\r
94     StrCmp $R0 1 0 next${UNSECTION_ID}\r
95     !insertmacro SelectSection "${UNSECTION_ID}"\r
96     GoTo done${UNSECTION_ID}\r
97 next${UNSECTION_ID}:\r
98     !insertmacro UnselectSection "${UNSECTION_ID}"\r
99 done${UNSECTION_ID}:\r
100     Pop $R0\r
101 !macroend\r
102 \r
103 # Uninstaller sections\r
104 Section /o -un.Main UNSEC0000\r
105     Delete /REBOOTOK $INSTDIR\mingwm10.dll\r
106     Delete /REBOOTOK $INSTDIR\libeay32.dll\r
107     Delete /REBOOTOK $INSTDIR\bitcoin.exe\r
108     DeleteRegValue HKCU "${REGKEY}\Components" Main\r
109 SectionEnd\r
110 \r
111 Section -un.post UNSEC0001\r
112     DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"\r
113     Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"\r
114     Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"\r
115     Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"\r
116     Delete /REBOOTOK $INSTDIR\uninstall.exe\r
117     Delete /REBOOTOK $INSTDIR\db.log\r
118     DeleteRegValue HKCU "${REGKEY}" StartMenuGroup\r
119     DeleteRegValue HKCU "${REGKEY}" Path\r
120     DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"\r
121     DeleteRegKey /IfEmpty HKCU "${REGKEY}"\r
122     RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup\r
123     RmDir /REBOOTOK $INSTDIR\r
124     Push $R0\r
125     StrCpy $R0 $StartMenuGroup 1\r
126     StrCmp $R0 ">" no_smgroup\r
127 no_smgroup:\r
128     Pop $R0\r
129 SectionEnd\r
130 \r
131 # Installer functions\r
132 Function .onInit\r
133     InitPluginsDir\r
134 FunctionEnd\r
135 \r
136 # Uninstaller functions\r
137 Function un.onInit\r
138     ReadRegStr $INSTDIR HKCU "${REGKEY}" Path\r
139     !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup\r
140     !insertmacro SELECT_UNSECTION Main ${UNSEC0000}\r
141 FunctionEnd\r
142 \r