1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 12:41:29 +00:00
Files
nmap/mswin32/nsis/nmap-common.nsh
2025-05-07 13:22:40 +00:00

99 lines
2.8 KiB
NSIS

!macro SanityCheckInstdir un
Function ${un}SanityCheckInstdir
StrCpy $R0 $INSTDIR "" -2
StrCmp $R0 ":\" bad_key_install
StrCpy $R0 $INSTDIR "" -14
StrCmp $R0 "\Program Files" bad_key_install
StrCpy $R0 $INSTDIR "" -8
StrCmp $R0 "\Windows" bad_key_install
StrCpy $R0 $INSTDIR "" -6
StrCmp $R0 "\WinNT" bad_key_install
StrCpy $R0 $INSTDIR "" -9
StrCmp $R0 "\system32" bad_key_install
StrCpy $R0 $INSTDIR "" -8
StrCmp $R0 "\Desktop" bad_key_install
StrCpy $R0 $INSTDIR "" -22
StrCmp $R0 "\Documents and Settings" bad_key_install
StrCpy $R0 $INSTDIR "" -13
StrCmp $R0 "\My Documents" bad_key_install probably_safe_key_install
bad_key_install:
MessageBox MB_YESNO "It may not be safe to uninstall ${NMAP_NAME} from the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" /SD IDYES IDYES probably_safe_key_install
Abort "Install aborted by user"
probably_safe_key_install:
FunctionEnd
!macroend
!ifdef INNER
; building uninstaller
!macro DoFile _from _name
Delete "$INSTDIR\${_name}"
!macroend
!define _File "!insertmacro DoFile"
!macro DoDir _from _name
RMDir /r "$INSTDIR\${_name}"
!macroend
!define _Dir "!insertmacro DoDir"
!else ; INNER
; building installer
!macro DoFile _from _name
File "${_from}\${_name}"
!macroend
!define _File "!insertmacro DoFile"
!macro DoDir _from _name
File /r /x mswin32 /x .svn "${_from}\${_name}"
!macroend
!define _Dir "!insertmacro DoDir"
!endif ; INNER
!macro SecCoreFiles
${_File} ${STAGE_DIR} CHANGELOG
${_File} ${STAGE_DIR} LICENSE
${_File} ${STAGE_DIR} nmap-mac-prefixes
${_File} ${STAGE_DIR} nmap-os-db
${_File} ${STAGE_DIR} nmap-protocols
${_File} ${STAGE_DIR} nmap-rpc
${_File} ${STAGE_DIR} nmap-service-probes
${_File} ${STAGE_DIR} nmap-services
${_File} ${STAGE_DIR_OEM} nmap.exe
${_File} ${STAGE_DIR} nse_main.lua
${_File} ${STAGE_DIR} nmap.xsl
${_File} ${STAGE_DIR} nmap_performance.reg
${_File} ${STAGE_DIR} README-WIN32
${_File} ${STAGE_DIR} 3rd-party-licenses.txt
${_Dir} ${STAGE_DIR} licenses
${_File} ${STAGE_DIR} libssh2.dll
${_File} ${STAGE_DIR} zlibwapi.dll
${_File} ${STAGE_DIR} libcrypto-3.dll
${_File} ${STAGE_DIR} libssl-3.dll
${_Dir} ${STAGE_DIR} scripts
${_Dir} ${STAGE_DIR} nselib
${_File} ${STAGE_DIR} icon1.ico
!macroend
!macro SecZenmapFiles
${_File} ${STAGE_DIR} ZENMAP_README
${_File} ${STAGE_DIR} COPYING_HIGWIDGETS
${_Dir} ${STAGE_DIR} zenmap
; always remove Zenmap.lnk
; It'll be created by the installer after this.
Delete "$INSTDIR\Zenmap.lnk"
!macroend
!macro SecNdiffFiles
${_File} ${STAGE_DIR} ndiff.py
${_File} ${STAGE_DIR} ndiff.bat
${_File} ${STAGE_DIR} NDIFF_README
!macroend
!macro SecNcatFiles
${_File} ${STAGE_DIR} ncat.exe
${_File} ${STAGE_DIR} ca-bundle.crt
!macroend
!macro SecNpingFiles
${_File} ${STAGE_DIR} nping.exe
!macroend