1+ ; Script generated by the HM NIS Edit Script Wizard.
2+
3+ ; HM NIS Edit Wizard helper defines
4+ !define PRODUCT_NAME " NyarukoMFALocker"
5+ !define PRODUCT_VERSION " 4.5"
6+ !define PRODUCT_PUBLISHER " KagurazakaYashi"
7+ !define PRODUCT_WEB_SITE " https://github.com/kagurazakayashi/MFAScreenLock"
8+ !define PRODUCT_DIR_REGKEY " Software\Microsoft\Windows\CurrentVersion\App Paths\MFAScreenLockApp.exe"
9+ !define PRODUCT_UNINST_KEY " Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
10+ !define PRODUCT_UNINST_ROOT_KEY " HKLM"
11+ !define PRODUCT_STARTMENU_REGVAL " NSIS:StartMenuDir"
12+
13+ SetCompressor lzma
14+
15+ ; MUI 1.67 compatible ------
16+ !include " MUI.nsh"
17+
18+ ; MUI Settings
19+ !define MUI_ABORTWARNING
20+ !define MUI_ICON " icons\icon0.ico"
21+ !define MUI_UNICON " MFAScreenLock\MFAScreenLockApp\icon0.ico"
22+
23+ ; Welcome page
24+ !insertmacro MUI_PAGE_WELCOME
25+ ; License page
26+ !insertmacro MUI_PAGE_LICENSE " LICENSE.txt"
27+ ; Directory page
28+ !insertmacro MUI_PAGE_DIRECTORY
29+ ; Start menu page
30+ var ICONS_GROUP
31+ !define MUI_STARTMENUPAGE_NODISABLE
32+ !define MUI_STARTMENUPAGE_DEFAULTFOLDER " NyarukoMFALocker"
33+ !define MUI_STARTMENUPAGE_REGISTRY_ROOT " ${PRODUCT_UNINST_ROOT_KEY}"
34+ !define MUI_STARTMENUPAGE_REGISTRY_KEY " ${PRODUCT_UNINST_KEY}"
35+ !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME " ${PRODUCT_STARTMENU_REGVAL}"
36+ !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
37+ ; Instfiles page
38+ !insertmacro MUI_PAGE_INSTFILES
39+ ; Finish page
40+ !define MUI_FINISHPAGE_RUN " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
41+ !define MUI_FINISHPAGE_SHOWREADME " $PROGRAMFILES\NyarukoMFALock\README.md"
42+ !insertmacro MUI_PAGE_FINISH
43+
44+ ; Uninstaller pages
45+ !insertmacro MUI_UNPAGE_INSTFILES
46+
47+ ; Language files
48+ !insertmacro MUI_LANGUAGE " SimpChinese"
49+
50+ ; Reserve files
51+ !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
52+
53+ ; MUI end ------
54+
55+ Name " ${PRODUCT_NAME}"
56+ OutFile " Setup.exe"
57+ InstallDir " $PROGRAMFILES\NyarukoMFALock"
58+ InstallDirRegKey HKLM " ${PRODUCT_DIR_REGKEY}" " "
59+ ShowInstDetails show
60+ ShowUnInstDetails show
61+
62+ Section " MainSection" SEC01
63+ SetOutPath " $PROGRAMFILES\NyarukoMFALock"
64+ SetOverwrite on
65+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\SysLink.pdb"
66+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\SysLink.dll"
67+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\README.md"
68+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\QRCoder.dll"
69+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\QRCodeEncoderLibrary.xml"
70+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\QRCodeEncoderLibrary.dll"
71+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\MFAScreenLockApp.pdb"
72+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\MFAScreenLockApp.exe.manifest"
73+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\MFAScreenLockApp.exe.config"
74+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\MFAScreenLockApp.exe"
75+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\MFAScreenLockApp.application"
76+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\LICENSE"
77+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\ImageControl.pdb"
78+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\ImageControl.dll"
79+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\Google.Authenticator.pdb"
80+ File " MFAScreenLock\MFAScreenLockApp\bin\Release\Google.Authenticator.dll"
81+
82+ ; Shortcuts
83+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
84+ CreateDirectory " $SMPROGRAMS\$ICONS_GROUP"
85+ CreateShortCut " $SMPROGRAMS\$ICONS_GROUP\NyarukoMFALocker.lnk" " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
86+ CreateShortCut " $DESKTOP\NyarukoMFALocker.lnk" " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
87+ !insertmacro MUI_STARTMENU_WRITE_END
88+ SectionEnd
89+
90+ Section -AdditionalIcons
91+ SetOutPath $INSTDIR
92+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
93+ WriteIniStr " $INSTDIR\${PRODUCT_NAME}.url" " InternetShortcut" " URL" " ${PRODUCT_WEB_SITE}"
94+ CreateShortCut " $SMPROGRAMS\$ICONS_GROUP\Website.lnk" " $INSTDIR\${PRODUCT_NAME}.url"
95+ CreateShortCut " $SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" " $INSTDIR\uninst.exe"
96+ !insertmacro MUI_STARTMENU_WRITE_END
97+ SectionEnd
98+
99+ Section -Post
100+ WriteUninstaller " $INSTDIR\uninst.exe"
101+ WriteRegStr HKLM " ${PRODUCT_DIR_REGKEY}" " " " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
102+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " DisplayName" " $(^Name)"
103+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " UninstallString" " $INSTDIR\uninst.exe"
104+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " DisplayIcon" " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
105+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " DisplayVersion" " ${PRODUCT_VERSION}"
106+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " URLInfoAbout" " ${PRODUCT_WEB_SITE}"
107+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}" " Publisher" " ${PRODUCT_PUBLISHER}"
108+ SectionEnd
109+
110+
111+ Function un.onUninstSuccess
112+ HideWindow
113+ MessageBox MB_ICONINFORMATION |MB_OK " 感谢使用,有缘再见。"
114+ FunctionEnd
115+
116+ Function un.onInit
117+ MessageBox MB_ICONQUESTION |MB_YESNO |MB_DEFBUTTON2 " 真的要卸载 $(^Name) 吗?" IDYES +2
118+ Abort
119+ FunctionEnd
120+
121+ Section Uninstall
122+ !insertmacro MUI_STARTMENU_GETFOLDER " Application" $ICONS_GROUP
123+ Delete " $INSTDIR\${PRODUCT_NAME}.url"
124+ Delete " $INSTDIR\uninst.exe"
125+ Delete " $PROGRAMFILES\NyarukoMFALock\Google.Authenticator.dll"
126+ Delete " $PROGRAMFILES\NyarukoMFALock\Google.Authenticator.pdb"
127+ Delete " $PROGRAMFILES\NyarukoMFALock\ImageControl.dll"
128+ Delete " $PROGRAMFILES\NyarukoMFALock\ImageControl.pdb"
129+ Delete " $PROGRAMFILES\NyarukoMFALock\LICENSE"
130+ Delete " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.application"
131+ Delete " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe"
132+ Delete " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe.config"
133+ Delete " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.exe.manifest"
134+ Delete " $PROGRAMFILES\NyarukoMFALock\MFAScreenLockApp.pdb"
135+ Delete " $PROGRAMFILES\NyarukoMFALock\QRCodeEncoderLibrary.dll"
136+ Delete " $PROGRAMFILES\NyarukoMFALock\QRCodeEncoderLibrary.xml"
137+ Delete " $PROGRAMFILES\NyarukoMFALock\QRCoder.dll"
138+ Delete " $PROGRAMFILES\NyarukoMFALock\README.md"
139+ Delete " $PROGRAMFILES\NyarukoMFALock\SysLink.dll"
140+ Delete " $PROGRAMFILES\NyarukoMFALock\SysLink.pdb"
141+
142+ Delete " $SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
143+ Delete " $SMPROGRAMS\$ICONS_GROUP\Website.lnk"
144+ Delete " $DESKTOP\NyarukoMFALocker.lnk"
145+ Delete " $SMPROGRAMS\$ICONS_GROUP\NyarukoMFALocker.lnk"
146+
147+ RMDir " $SMPROGRAMS\$ICONS_GROUP"
148+
149+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} " ${PRODUCT_UNINST_KEY}"
150+ DeleteRegKey HKLM " ${PRODUCT_DIR_REGKEY}"
151+ SetAutoClose true
152+ SectionEnd
0 commit comments