!include "MUI2.nsh" !include "nsDialogs.nsh" !include "LogicLib.nsh" !include "WinMessages.nsh" Name "Wraith" OutFile "OUTFILE_PLACEHOLDER" InstallDir "$PROGRAMFILES64\Wraith" RequestExecutionLevel admin Var DesktopShortcut !insertmacro MUI_PAGE_DIRECTORY Page custom OptionsPage OptionsPageLeave !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Function OptionsPage nsDialogs::Create 1018 Pop $0 ${NSD_CreateCheckbox} 0 0 100% 12u "Create Desktop Shortcut" Pop $1 ; Unchecked by default — no ${NSD_Check} nsDialogs::Show FunctionEnd Function OptionsPageLeave ${NSD_GetState} $1 $DesktopShortcut FunctionEnd Section "Install" SetOutPath "$INSTDIR" File "Wraith.exe" File "wraith.ico" CreateDirectory "$SMPROGRAMS\Wraith" CreateShortcut "$SMPROGRAMS\Wraith\Wraith.lnk" "$INSTDIR\Wraith.exe" "" "$INSTDIR\wraith.ico" ${If} $DesktopShortcut == ${BST_CHECKED} CreateShortcut "$DESKTOP\Wraith.lnk" "$INSTDIR\Wraith.exe" "" "$INSTDIR\wraith.ico" ${EndIf} WriteUninstaller "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wraith" "DisplayName" "Wraith" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wraith" "UninstallString" "$INSTDIR\uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wraith" "DisplayVersion" "VER_PLACEHOLDER" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wraith" "Publisher" "Vigilance Cyber" SectionEnd Section "Uninstall" Delete "$INSTDIR\Wraith.exe" Delete "$INSTDIR\wraith.ico" Delete "$INSTDIR\uninstall.exe" RMDir "$INSTDIR" Delete "$SMPROGRAMS\Wraith\Wraith.lnk" RMDir "$SMPROGRAMS\Wraith" Delete "$DESKTOP\Wraith.lnk" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wraith" SectionEnd