rebrand: frp -> kanhole (kanhole server, kanholec client)
golangci-lint / lint (push) Failing after 1m5s
golangci-lint / lint (push) Failing after 1m5s
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
; kanholec Windows Installer (NSIS)
|
||||
; Build: makensis kanholec.nsi
|
||||
; Requires: NSIS 3.x (https://nsis.sourceforge.io)
|
||||
|
||||
!define PRODUCT_NAME "kanholec"
|
||||
!define PRODUCT_VERSION "0.62.0"
|
||||
!define PRODUCT_PUBLISHER "kanhole Contributors"
|
||||
!define PRODUCT_WEB_SITE "https://github.com/kanhole/kanhole"
|
||||
!define PRODUCT_DIR "$PROGRAMFILES64\${PRODUCT_NAME}"
|
||||
!define PRODUCT_UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||
OutFile "..\..\bin\kanholec-${PRODUCT_VERSION}-setup.exe"
|
||||
InstallDir "${PRODUCT_DIR}"
|
||||
InstallDirRegKey HKLM "${PRODUCT_UNINSTALL_KEY}" "InstallLocation"
|
||||
RequestExecutionLevel admin
|
||||
|
||||
SetCompressor lzma
|
||||
|
||||
; Pages (setup wizard)
|
||||
Page license
|
||||
Page components
|
||||
Page directory
|
||||
Page instfiles
|
||||
Page custom setFinishPage
|
||||
|
||||
; Uninstaller pages
|
||||
UninstPage uninstConfirm
|
||||
UninstPage instfiles
|
||||
|
||||
; License data
|
||||
LicenseData "..\..\packaging\windows\license.txt"
|
||||
|
||||
; Languages
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
; Include modern UI
|
||||
!include "MUI2.nsh"
|
||||
!include "FileFunc.nsh"
|
||||
!include "WinMessages.nsh"
|
||||
!include "LogicLib.nsh"
|
||||
|
||||
Var FinishPage
|
||||
Var RunNowCheckbox
|
||||
Var ShowReadmeCheckbox
|
||||
Var RunNowState
|
||||
Var ReadmeState
|
||||
|
||||
Function setFinishPage
|
||||
nsDialogs::Create 1018
|
||||
Pop $FinishPage
|
||||
|
||||
${NSD_CreateLabel} 0 0 100% 24 "Setup Complete"
|
||||
Pop $0
|
||||
|
||||
${NSD_CreateCheckbox} 0 30 100% 12 "Run kanholec now"
|
||||
Pop $RunNowCheckbox
|
||||
${NSD_Check} $RunNowCheckbox
|
||||
|
||||
${NSD_CreateCheckbox} 0 46 100% 12 "Open config directory"
|
||||
Pop $ShowReadmeCheckbox
|
||||
|
||||
nsDialogs::Show
|
||||
FunctionEnd
|
||||
|
||||
Function .onGUIEnd
|
||||
${NSD_GetState} $RunNowCheckbox $RunNowState
|
||||
${NSD_GetState} $ShowReadmeCheckbox $ReadmeState
|
||||
|
||||
${If} $RunNowState == ${BST_CHECKED}
|
||||
ExecShell "open" "$INSTDIR\kanholec.exe"
|
||||
${EndIf}
|
||||
|
||||
${If} $ReadmeState == ${BST_CHECKED}
|
||||
ExecShell "open" "$PROGRAMDATA\kanholec"
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Section "kanholec (required)" SEC_KANHOLEC
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR"
|
||||
File "..\..\bin\kanholec-windows-amd64.exe"
|
||||
Rename "$INSTDIR\kanholec-windows-amd64.exe" "$INSTDIR\kanholec.exe"
|
||||
|
||||
; Config directory
|
||||
CreateDirectory "$PROGRAMDATA\kanholec"
|
||||
SetOutPath "$PROGRAMDATA\kanholec"
|
||||
File "/oname=kanholec.toml" "..\..\packaging\windows\kanholec.default.toml"
|
||||
|
||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||
|
||||
; Registry for uninstaller
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayName" "${PRODUCT_NAME}"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "UninstallString" "$INSTDIR\uninstall.exe"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\kanholec.exe,0"
|
||||
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
|
||||
WriteRegDWORD HKLM "${PRODUCT_UNINSTALL_KEY}" "NoModify" 1
|
||||
WriteRegDWORD HKLM "${PRODUCT_UNINSTALL_KEY}" "NoRepair" 1
|
||||
SectionEnd
|
||||
|
||||
Section "Start Menu Shortcuts" SEC_SHORTCUTS
|
||||
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\kanholec.lnk" "$INSTDIR\kanholec.exe" "" "$INSTDIR\kanholec.exe" 0
|
||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Config Directory.lnk" "$PROGRAMDATA\kanholec"
|
||||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||
SectionEnd
|
||||
|
||||
Section "Add to PATH" SEC_PATH
|
||||
EnVar::AddValue "PATH" "$INSTDIR"
|
||||
Pop $0
|
||||
SectionEnd
|
||||
|
||||
Section "Desktop Shortcut" SEC_DESKTOP
|
||||
CreateShortCut "$DESKTOP\kanholec.lnk" "$INSTDIR\kanholec.exe" "" "$INSTDIR\kanholec.exe" 0
|
||||
SectionEnd
|
||||
|
||||
; Descriptions
|
||||
LangString DESC_SEC_KANHOLEC ${LANG_ENGLISH} "kanholec binary and default configuration."
|
||||
LangString DESC_SEC_SHORTCUTS ${LANG_ENGLISH} "Start menu shortcuts for kanholec."
|
||||
LangString DESC_SEC_PATH ${LANG_ENGLISH} "Add kanholec installation directory to system PATH."
|
||||
LangString DESC_SEC_DESKTOP ${LANG_ENGLISH} "Create a desktop shortcut for kanholec."
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_KANHOLEC} $(DESC_SEC_KANHOLEC)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_SHORTCUTS} $(DESC_SEC_SHORTCUTS)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_PATH} $(DESC_SEC_PATH)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_SEC_DESKTOP)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
Section "Uninstall"
|
||||
Delete "$INSTDIR\kanholec.exe"
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\kanholec.lnk"
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Config Directory.lnk"
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
|
||||
Delete "$DESKTOP\kanholec.lnk"
|
||||
|
||||
EnVar::DeleteValue "PATH" "$INSTDIR"
|
||||
|
||||
DeleteRegKey HKLM "${PRODUCT_UNINSTALL_KEY}"
|
||||
SectionEnd
|
||||
Reference in New Issue
Block a user