-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHardware Monitoring.nsi
More file actions
85 lines (73 loc) · 3.14 KB
/
Copy pathHardware Monitoring.nsi
File metadata and controls
85 lines (73 loc) · 3.14 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
!define APP_NAME "Hardware Monitoring"
!define APP_VERSION "1.0.8"
!define APP_EXE "Hardware Monitoring.exe"
!define DIST_DIR "dist\Hardware Monitoring"
!define INSTALL_DIR "$PROGRAMFILES\${APP_NAME}"
!define UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
Name "${APP_NAME} ${APP_VERSION}"
OutFile "HardwareMonitoring_Setup_v${APP_VERSION}.exe"
InstallDir "${INSTALL_DIR}"
InstallDirRegKey HKLM "${UNINSTALL_KEY}" "InstallLocation"
RequestExecutionLevel admin
SetCompressor /SOLID lzma
!include "MUI2.nsh"
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"
Section "程序文件 (必需)" SecCore
SectionIn RO
SetOutPath "$INSTDIR"
File "${DIST_DIR}\${APP_EXE}"
File "用户须知.txt"
SetOutPath "$INSTDIR\_internal"
File /r "${DIST_DIR}\_internal\*.*"
SetOutPath "$INSTDIR\licenses"
File "THIRD_PARTY_NOTICES.md"
File "third_party\licenses\*.txt"
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayName" "${APP_NAME}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "DisplayVersion" "${APP_VERSION}"
WriteRegStr HKLM "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "${UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoModify" 1
WriteRegDWORD HKLM "${UNINSTALL_KEY}" "NoRepair" 1
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
Section "开始菜单快捷方式" SecStartMenu
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
CreateShortCut "$SMPROGRAMS\${APP_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
SectionEnd
Section /o "桌面快捷方式" SecDesktop
CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
SectionEnd
Section /o "开机自启动" SecAutoRun
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${APP_NAME}" "$\"$INSTDIR\${APP_EXE}$\""
SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "程序运行必需的核心文件。"
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} "在开始菜单创建程序快捷方式。"
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "在桌面创建快捷方式。"
!insertmacro MUI_DESCRIPTION_TEXT ${SecAutoRun} "开机后自动启动硬件监控。"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
Section "Uninstall"
Delete "$DESKTOP\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_NAME}\Uninstall.lnk"
RMDir "$SMPROGRAMS\${APP_NAME}"
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "${APP_NAME}"
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "HardwareMonitorMini"
DeleteRegKey HKLM "${UNINSTALL_KEY}"
Delete "$INSTDIR\Uninstall.exe"
Delete "$INSTDIR\${APP_EXE}"
Delete "$INSTDIR\用户须知.txt"
Delete "$INSTDIR\config.json"
RMDir /r "$INSTDIR\licenses"
RMDir /r "$INSTDIR\_internal"
RMDir "$INSTDIR"
SectionEnd