-
Notifications
You must be signed in to change notification settings - Fork 0
/
mcus.nsi.in
137 lines (104 loc) · 4.06 KB
/
mcus.nsi.in
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
;Based on:
;NSIS Modern User Interface
;Welcome/Finish Page Example Script
;Written by Joost Verburg
;--------------------------------
;Include Modern UI and registerExtension
!include "MUI2.nsh"
!include "@srcdir@/registerExtension.nsh"
;--------------------------------
;General
;General defines
!define SHORT_NAME "@PACKAGE_NAME@"
!define SHORT_NAME_ "@PACKAGE@"
!define APP_NAME "${SHORT_NAME_}.exe"
!define LONG_NAME "Microcontroller Simulator"
!define AUTHOR "Philip Withnall"
!define WEBSITE "@PACKAGE_URL@"
!define VERSION "@PACKAGE_VERSION@"
!define VERSION_MAJOR "@VERSION_MAJOR@"
!define VERSION_MINOR "@VERSION_MINOR@"
!define VERSION_REVISION "@VERSION_MICRO@"
;Name and file
Name "${SHORT_NAME}"
OutFile "${SHORT_NAME_}-${VERSION}.exe"
;Default installation folder
InstallDir "$PROGRAMFILES\${SHORT_NAME}"
;Get installation folder from registry if available
InstallDirRegKey HKLM "Software\${SHORT_NAME}" ""
;Request application privileges for Windows Vista
RequestExecutionLevel user
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "@top_srcdir@/COPYING"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Installer Sections
Section "Install"
;Install files
SetOutPath "$INSTDIR"
File /r "@builddir@\mcus-${VERSION}\bin"
File /r "@builddir@\mcus-${VERSION}\etc"
File /r "@builddir@\mcus-${VERSION}\gtk2-runtime"
File /r "@builddir@\mcus-${VERSION}\lib"
File /r "@builddir@\mcus-${VERSION}\share"
;Install Start Menu shortcut
CreateShortCut "$SMPROGRAMS\${SHORT_NAME}.lnk" "$INSTDIR\lib\${APP_NAME}" "" "$INSTDIR\lib\${APP_NAME}" 0
;Store installation folder
WriteRegStr HKLM "Software\${SHORT_NAME}" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\uninstall.exe"
;Add to Add/Remove Programs
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"DisplayName" "${SHORT_NAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"InstallLocation" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"DisplayIcon" "$INSTDIR\lib\${APP_NAME},0"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"Publisher" "${AUTHOR}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"URLInfoAbout" "${WEBSITE}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"DisplayVersion" "${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"VersionMajor" "${VERSION_MAJOR}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"VersionMinor" "${VERSION_MINOR}"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"NoModify" "1"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}" \
"NoRepair" "1"
;Register file association
${registerExtension} "$INSTDIR\lib\${APP_NAME}" ".asm" "OCR Assembly Code"
SectionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;Remove installed files
Delete "$INSTDIR\uninstall.exe"
RMDir /r "$INSTDIR"
;Remove Start Menu shortcut
Delete "$SMPROGRAMS\${SHORT_NAME}.lnk"
;Remove registry keys
DeleteRegKey /ifempty HKLM "Software\${SHORT_NAME}"
;Remove from Add/Remove programs
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SHORT_NAME}"
;Unregister file association
${unregisterExtension} ".asm" "OCR Assembly Code"
SectionEnd