78 lines
2.7 KiB
Plaintext
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
|