temp/install.nsi
2023-04-12 19:52:02 +09:00

78 lines
2.7 KiB
Plaintext

!include "MUI2.nsh"
; General
Name "winresutil"
OutFile "winresutil.installer.exe"
Unicode True
InstallDir "$LOCALAPPDATA\winresutil"
InstallDirRegKey HKCU "Software\winresutil" ""
RequestExecutionLevel user
; Compress
SetCompressor /SOLID lzma
SetDatablockOptimize ON
; Interface
!define MUI_ABORTWARNING
; Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "LICENSE"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
; Registry
!define REGPATH_UNINSTSUBKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\winresutil"
; Languages
!insertmacro MUI_LANGUAGE "English"
; Installer Sections
Section "Install"
ReadRegStr $0 HKCU "${REGPATH_UNINSTSUBKEY}" "QuietUninstallString"
ReadRegStr $1 HKCU "${REGPATH_UNINSTSUBKEY}" "InstDir"
StrCmp $0 "" uninstall.done
ExecWait '$0 _?=$1'
uninstall.done:
; Check for write access
SectionIn RO
SetOutPath "$INSTDIR\bin"
File "target\x86_64-pc-windows-gnu\release\winresutil.exe"
WriteRegStr HKCU "Software\winresutil" "" $INSTDIR
SetOutPath "$INSTDIR"
WriteUninstaller "$INSTDIR\uninstall.exe"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "DisplayName" "winresutil"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "Publisher" "yanorei32"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "Readme" "https://github.com/yanorei32/winresutil"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "URLUpdateInfo" "https://github.com/yanorei32/winresutil/releases"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "URLInfoAbout" "https://github.com/yanorei32/winresutil"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "HelpLink" "https://twitter.com/yanorei32"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "Comments" "This software helps change the window resolution."
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "DisplayIcon" "$INSTDIR\winresutil.exe,0"
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "QuietUninstallString" '"$INSTDIR\uninstall.exe" /S'
WriteRegStr HKCU "${REGPATH_UNINSTSUBKEY}" "InstDir" '$INSTDIR'
WriteRegDWORD HKCU "${REGPATH_UNINSTSUBKEY}" "EstimatedSize" 192
WriteRegDWORD HKCU "${REGPATH_UNINSTSUBKEY}" "NoModify" 1
WriteRegDWORD HKCU "${REGPATH_UNINSTSUBKEY}" "NoRepair" 1
EnVar::AddValue "path" "$INSTDIR\bin"
SectionEnd
; Uninstall Sections
Section "Uninstall"
EnVar::DeleteValue "path" "$INSTDIR\bin"
Delete "$INSTDIR\bin\winresutil.exe"
RMDir "$INSTDIR\bin"
Delete "$INSTDIR\uninstall.exe"
RMDir "$INSTDIR"
DeleteRegKey HKCU "${REGPATH_UNINSTSUBKEY}"
SectionEnd