summaryrefslogtreecommitdiff
path: root/nsis/installer.nsi.in
blob: d7310078071ebad6c0e636f12f922bcd54057227 (plain)
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
;-------------------------------------------------------------------------------
; Includes
!include "MUI2.nsh"
!include "LogicLib.nsh"
!include "WinVer.nsh"
!include "x64.nsh"

;-------------------------------------------------------------------------------
; Constants
!define PRODUCT_NAME "@PROJECT_TITLE@"
!define PRODUCT_DESCRIPTION "TODO"
!define COPYRIGHT "GNU GPLv3"
!define PRODUCT_VERSION "@NSIS_PRODUCT_VERSION@"
!define SETUP_VERSION 1.0.0.0

;-------------------------------------------------------------------------------
; Attributes
Name "@PROJECT_TITLE@"
OutFile "@PROJECT_TITLE@ @NSIS_PRODUCT_VERSION@ Setup.exe"
InstallDir "$PROGRAMFILES\@PROJECT_TITLE@"
InstallDirRegKey HKCU "Software\Louie S\@PROJECT_TITLE@" ""
RequestExecutionLevel user ; user|highest|admin

;-------------------------------------------------------------------------------
; Version Info
VIProductVersion "${PRODUCT_VERSION}"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileDescription" "${PRODUCT_DESCRIPTION}"
VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"
VIAddVersionKey "FileVersion" "${SETUP_VERSION}"

;-------------------------------------------------------------------------------
; Modern UI Appearance
;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_ICON "..\data\assignment-list.ico"
!define MUI_UNIICON "..\data\assignment-list.ico"
!define MUI_HEADERIMAGE
;!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp"
;!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_FINISHPAGE_RUN "@PROJECT_NAME@.exe" ; FIXME Currently does not work
!define MUI_FINISHPAGE_SHOWREADME ""
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut"
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION installDesktopShortcut

;-------------------------------------------------------------------------------
; Installer Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "..\LICENSE"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
Var StartMenuFolder
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

;-------------------------------------------------------------------------------
; Uninstaller Pages
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH

;-------------------------------------------------------------------------------
; Languages
!insertmacro MUI_LANGUAGE "English"

;-------------------------------------------------------------------------------
; Installer Sections
Section "My Application" MyApp
	SetOutPath $INSTDIR
	File "@CMAKE_CURRENT_BINARY_DIR@\@PROJECT_NAME@.exe"
	File /r "qtDeploy\*.*" ; FIXME need to include additional dlls to make fully portable
	;File "Readme.txt" ; TODO consider breaking into bin/ so that README can be included in the base, or in doc/
	!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
		CreateDirectory "$SMPROGRAMS\$StartMenuFolder\"
		CreateShortCut "$SMPROGRAMS\$StartMenuFolder\@PROJECT_TITLE@.lnk" "$INSTDIR\@PROJECT_NAME@.exe"
		CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
	!insertmacro MUI_STARTMENU_WRITE_END
	WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd

Function installDesktopShortcut
	CreateShortCut "$Desktop\@PROJECT_TITLE@.lnk" "$INSTDIR\@PROJECT_NAME@.exe"
FunctionEnd

;-------------------------------------------------------------------------------
; Uninstaller Sections
Section "Uninstall"
	#Delete "$INSTDIR\@PROJECT_NAME@.exe"
	#Delete "$INSTDIR\*.dll"
	#Delete "$INSTDIR\Uninstall.exe"
	Delete "$Desktop\@PROJECT_TITLE@.lnk"
	!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
	Delete "$SMPROGRAMS\$StartMenuFolder\@PROJECT_TITLE@.lnk"
	Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
	RMDir "$SMPROGRAMS\$StartMenuFolder"
	RMDir /r "$INSTDIR"
	;DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
SectionEnd