summaryrefslogtreecommitdiff
path: root/altosui/altos-windows.nsi
blob: 6f296f186505575aad53580de170f36a610c5516 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
!addplugindir Instdrv/NSIS/Plugins

Name "Altus Metrum Installer"

; Default install directory
InstallDir "$PROGRAMFILES\AltusMetrum"

; Tell the installer where to re-install a new version
InstallDirRegKey HKLM "Software\AltusMetrum" "Install_Dir"

LicenseText "GNU General Public License Version 2"
LicenseData "../COPYING"

; Need admin privs for Vista or Win7
RequestExecutionLevel admin

ShowInstDetails Show

ComponentText "Altus Metrum Software and Driver Installer"

; Pages to present

Page license
Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

; And the stuff to install

Section "Install Driver" InstDriver

	InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial
	Pop $0
	DetailPrint "InitDriverSetup: $0"
	InstDrv::DeleteOemInfFiles /NOUNLOAD
	InstDrv::CreateDevice /NOUNLOAD

	SetOutPath $TEMP
	File "../telemetrum.inf"
	InstDrv::InstallDriver /NOUNLOAD "$TEMP\telemetrum.inf"

	SetOutPath $INSTDIR
	File "../telemetrum.inf"

	SetOutPath $WINDIR\Inf
	File "../telemetrum.inf"

SectionEnd

Section "AltosUI Application"
	SetOutPath $INSTDIR

	File "altosui-fat.jar"
	File "cmudict04.jar"
	File "cmulex.jar"
	File "cmu_time_awb.jar"
	File "cmutimelex.jar"
	File "cmu_us_kal.jar"
	File "en_us.jar"
	File "freetts.jar"
	File "jfreechart.jar"
	File "jcommon.jar"

	File "*.dll"

	File "../icon/*.ico"

	CreateShortCut "$SMPROGRAMS\AltusMetrum.lnk" "$INSTDIR\altosui-fat.jar" "" "$INSTDIR\altus-metrum.ico"
SectionEnd

Section "AltosUI Desktop Shortcut"
	CreateShortCut "$DESKTOP\AltusMetrum.lnk" "$INSTDIR\altosui-fat.jar"  "" "$INSTDIR\altus-metrum.ico"
SectionEnd

Section "TeleMetrum and TeleDongle Firmware"

	SetOutPath $INSTDIR

	File "../src/telemetrum-v1.0/telemetrum-v1.0-${VERSION}.ihx"
	File "../src/teledongle-v0.2/teledongle-v0.2-${VERSION}.ihx"

SectionEnd

Section "Uninstaller"

	; Deal with the uninstaller
	
	SetOutPath $INSTDIR

	; Write the install path to the registry
	WriteRegStr HKLM SOFTWARE\AltusMetrum "Install_Dir" "$INSTDIR"
	
	; Write the uninstall keys for windows
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "DisplayName" "Altus Metrum"
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "UninstallString" '"$INSTDIR\uninstall.exe"'
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "NoModify" "1"
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum" "NoRepair" "1"

	WriteUninstaller "uninstall.exe"
SectionEnd

Section "Uninstall"
	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\AltusMetrum"
	DeleteRegKey HKLM "Software\AltusMetrum"

	Delete "$INSTDIR\*.*"
	RMDir "$INSTDIR"

	; Remove devices
	InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial
	InstDrv::DeleteOemInfFiles /NOUNLOAD
	InstDrv::RemoveAllDevices

	; Remove shortcuts, if any
	Delete "$SMPROGRAMS\AltusMetrum.lnk"
	Delete "$DESKTOP\AltusMetrum.lnk"
SectionEnd