-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathinstaller.nsi
More file actions
118 lines (96 loc) · 4.03 KB
/
Copy pathinstaller.nsi
File metadata and controls
118 lines (96 loc) · 4.03 KB
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
; MrRSS NSIS Installer Script
; This script creates a Windows installer for MrRSS
;
; IMPORTANT: This script creates a Windows installer for MrRSS
;
; To build:
; makensis build/windows/installer.nsi
;
; All paths in this script are relative to the script directory.
!define APP_NAME "MrRSS"
!define APP_VERSION "1.3.24"
!define APP_VERSION_NUMERIC "1.3.24.0" ; NSIS requires X.X.X.X format
!define APP_PUBLISHER "Ch3nyang"
!define APP_URL "https://github.com/WCY-dt/MrRSS"
!define APP_DESCRIPTION "A Modern, Cross-Platform Desktop RSS Reader"
!define APP_EXE "MrRSS.exe"
; Include Modern UI
!include "MUI2.nsh"
; General Settings
Name "${APP_NAME} ${APP_VERSION}"
; Output path relative to script directory
OutFile "..\bin\MrRSS-${APP_VERSION}-windows-amd64-installer.exe"
InstallDir "$PROGRAMFILES64\${APP_NAME}"
InstallDirRegKey HKLM "Software\${APP_NAME}" "Install_Dir"
RequestExecutionLevel admin
; MUI Settings
!define MUI_ABORTWARNING
; Use custom icons from build/windows/
!define MUI_ICON "icon.ico"
!define MUI_UNICON "icon.ico"
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "..\..\LICENSE"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\${APP_EXE}"
!define MUI_FINISHPAGE_RUN_TEXT "Launch ${APP_NAME}"
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Language
!insertmacro MUI_LANGUAGE "English"
; Version Information
VIProductVersion "${APP_VERSION_NUMERIC}"
VIAddVersionKey "ProductName" "${APP_NAME}"
VIAddVersionKey "FileDescription" "${APP_DESCRIPTION}"
VIAddVersionKey "FileVersion" "${APP_VERSION}"
VIAddVersionKey "ProductVersion" "${APP_VERSION}"
VIAddVersionKey "CompanyName" "${APP_PUBLISHER}"
VIAddVersionKey "LegalCopyright" "Copyright (C) ${APP_PUBLISHER}"
; Installer Sections
Section "MainSection" SEC01
SetOutPath "$INSTDIR"
; Copy the executable
File "..\bin\${APP_EXE}"
; Create shortcuts
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
CreateShortcut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
CreateShortcut "$SMPROGRAMS\${APP_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
CreateShortcut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
; Write registry keys
WriteRegStr HKLM "Software\${APP_NAME}" "Install_Dir" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "DisplayName" "${APP_NAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "DisplayVersion" "${APP_VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "Publisher" "${APP_PUBLISHER}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "URLInfoAbout" "${APP_URL}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "DisplayIcon" "$INSTDIR\${APP_EXE}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}" "NoRepair" 1
; Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
; Uninstaller Section
Section "Uninstall"
; Remove files
Delete "$INSTDIR\${APP_EXE}"
Delete "$INSTDIR\Uninstall.exe"
; Remove shortcuts
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_NAME}\Uninstall.lnk"
Delete "$DESKTOP\${APP_NAME}.lnk"
RMDir "$SMPROGRAMS\${APP_NAME}"
; Remove installation directory
RMDir "$INSTDIR"
; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
DeleteRegKey HKLM "Software\${APP_NAME}"
; Note: User data directory is NOT removed to preserve user data
; Data location: %APPDATA%\MrRSS
SectionEnd