mirror of
https://github.com/debauchee/barrier.git
synced 2024-12-28 21:54:03 +03:00
153 lines
4.7 KiB
Plaintext
153 lines
4.7 KiB
Plaintext
|
; Synergy.nsi
|
||
|
;
|
||
|
; This script is based on example1.nsi, but it remember the directory,
|
||
|
; has uninstall support and (optionally) installs start menu shortcuts.
|
||
|
;
|
||
|
; It will install makensisw.exe into a directory that the user selects,
|
||
|
|
||
|
;--------------------------------
|
||
|
|
||
|
; Path to root of tree
|
||
|
!define DEPTH "..\.."
|
||
|
|
||
|
; The name of the installer
|
||
|
Name "Synergy"
|
||
|
|
||
|
; The file to write
|
||
|
OutFile "${DEPTH}/SynergyInstaller.exe"
|
||
|
|
||
|
; The default installation directory
|
||
|
InstallDir $PROGRAMFILES\Synergy
|
||
|
|
||
|
; Registry key to check for directory (so if you install again, it will
|
||
|
; overwrite the old one automatically)
|
||
|
InstallDirRegKey HKLM "Software\Synergy" "Install_Dir"
|
||
|
|
||
|
;--------------------------------
|
||
|
|
||
|
; Pages
|
||
|
|
||
|
Page license
|
||
|
Page components
|
||
|
Page directory
|
||
|
Page instfiles
|
||
|
|
||
|
UninstPage uninstConfirm
|
||
|
UninstPage instfiles
|
||
|
|
||
|
;--------------------------------
|
||
|
|
||
|
; Text
|
||
|
ComponentText "This this install Synergy on your computer. Select the optional components you want to install."
|
||
|
DirText "Choose a directory to install Synergy to:"
|
||
|
UninstallText "This will uninstall Synergy from your computer."
|
||
|
LicenseText "Synergy is distributed under the GNU GPL:"
|
||
|
LicenseData "COPYING.txt"
|
||
|
|
||
|
;--------------------------------
|
||
|
|
||
|
; The stuff to install
|
||
|
Section "Synergy (required)"
|
||
|
|
||
|
SectionIn RO
|
||
|
|
||
|
; Set output path to the installation directory.
|
||
|
SetOutPath $INSTDIR
|
||
|
|
||
|
; Put files there
|
||
|
File "${DEPTH}\Release\synergy.exe"
|
||
|
File "${DEPTH}\Release\synergyc.exe"
|
||
|
File "${DEPTH}\Release\synergys.exe"
|
||
|
File "${DEPTH}\Release\*.dll"
|
||
|
File AUTHORS.txt
|
||
|
File BUGS.txt
|
||
|
File COPYING.txt
|
||
|
File ChangeLog.txt
|
||
|
File FAQ.txt
|
||
|
File HISTORY.txt
|
||
|
File INSTALL.txt
|
||
|
File NEWS.txt
|
||
|
File README.txt
|
||
|
File TODO.txt
|
||
|
|
||
|
; Write the installation path into the registry
|
||
|
WriteRegStr HKLM SOFTWARE\Synergy "Install_Dir" "$INSTDIR"
|
||
|
|
||
|
; Write the uninstall keys for Windows
|
||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" "DisplayName" "Synergy"
|
||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" "NoModify" 1
|
||
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synergy" "NoRepair" 1
|
||
|
WriteUninstaller "uninstall.exe"
|
||
|
|
||
|
SectionEnd
|
||
|
|
||
|
; Optional section (can be disabled by the user)
|
||
|
Section "Start Menu Shortcuts"
|
||
|
|
||
|
CreateDirectory "$SMPROGRAMS\Synergy"
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\Synergy.lnk" "$INSTDIR\synergy.exe" "" "$INSTDIR\synergy.exe" 0
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\README.lnk" "$INSTDIR\README.txt"
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\NEWS.lnk" "$INSTDIR\NEWS.txt"
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\FAQ.lnk" "$INSTDIR\FAQ.txt"
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\Synergy Folder.lnk" "$INSTDIR"
|
||
|
CreateShortCut "$SMPROGRAMS\Synergy\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
||
|
|
||
|
SectionEnd
|
||
|
|
||
|
;--------------------------------
|
||
|
|
||
|
; Uninstaller
|
||
|
|
||
|
Section "Uninstall"
|
||
|
|
||
|
; Remove autorun registry keys for synergy
|
||
|
DeleteRegKey HKLM "SYSTEM\CurrentControlSet\Services\Synergy Server"
|
||
|
DeleteRegKey HKLM "SYSTEM\CurrentControlSet\Services\Synergy Client"
|
||
|
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\RunServices" "Synergy Server"
|
||
|
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\RunServices" "Synergy Client"
|
||
|
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Synergy Server"
|
||
|
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Synergy Client"
|
||
|
|
||
|
; not all keys will have existed, so errors WILL have happened
|
||
|
ClearErrors
|
||
|
|
||
|
; Remove registry keys
|
||
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Synergy"
|
||
|
DeleteRegKey HKLM SOFTWARE\Synergy
|
||
|
|
||
|
ClearErrors
|
||
|
|
||
|
; First try to remove files that might be locked (if synergy is running)
|
||
|
Delete /REBOOTOK $INSTDIR\synergy.exe
|
||
|
Delete /REBOOTOK $INSTDIR\synergyc.exe
|
||
|
Delete /REBOOTOK $INSTDIR\synergys.exe
|
||
|
Delete /REBOOTOK $INSTDIR\synrgyhk.dll
|
||
|
|
||
|
; Remove files and directory
|
||
|
Delete $INSTDIR\*.*
|
||
|
RMDir $INSTDIR
|
||
|
|
||
|
; Remove shortcuts, if any
|
||
|
Delete "$SMPROGRAMS\Synergy\*.*"
|
||
|
|
||
|
; Remove directories used
|
||
|
RMDir "$SMPROGRAMS\Synergy"
|
||
|
RMDir "$INSTDIR"
|
||
|
|
||
|
IfRebootFlag 0 EndOfAll
|
||
|
MessageBox MB_OKCANCEL "Uninstaller needs to reboot to finish cleaning up. reboot now?" IDCANCEL NoReboot
|
||
|
ClearErrors
|
||
|
Reboot
|
||
|
IfErrors 0 EndOfAll
|
||
|
MessageBox MB_OK "Uninstaller could not reboot. Please reboot manually. Thank you."
|
||
|
Abort "Uninstaller could not reboot. Please reboot manually. Thank you."
|
||
|
NoReboot:
|
||
|
DetailPrint ""
|
||
|
DetailPrint "Uninstaller could not reboot. Please reboot manually. Thank you."
|
||
|
DetailPrint ""
|
||
|
SetDetailsView show
|
||
|
EndOfAll:
|
||
|
|
||
|
SectionEnd
|