From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

Nmap uses NSIS:_Nullsoft_Scriptable_Install_System.

Binary at https://nmap.org/dist/nmap-7.31-setup.exe

Note that at the time of writing Wireshark depends upon this

<packages:packages xmlns:packages="http://www.wpkg.org/packages"
        xmlns:wpkg="http://www.wpkg.org/wpkg" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.wpkg.org/packages ../xsd/packages.xsd">

Options enumerated here: https://svn.nmap.org/nmap/mswin32/nsis/Nmap.nsi.in

You don't seem to get shortcuts with the silent installer.
<package id='nmap'
                reboot='false' >
        <variable name="version" value="7.31" />
        <variable architecture="x64" name="UNINSTALLER" value="%PROGRAMFILES(X86)%\Nmap\uninstall.exe" />
        <variable architecture="x86" name="UNINSTALLER" value="%PROGRAMFILES%\Nmap\uninstall.exe" />

        <check type='uninstall' condition='exists' path='Nmap %version%' />

        <install cmd='%SOFTWARE%\nmap\nmap-%version%-setup.exe /S' />

        <remove cmd='"%UNINSTALLER%" /S' />
        <!--Wait 30 seconds, or until the uninstaller has vanished
        Otherwise the check will still pass (asynch uninstaller)-->
        <remove cmd='%COMSPEC% /C for /L %X in (1,1,30) do if exist "%UNINSTALLER%" @ping microsoft.com -n 1 -w 1000>nul' >
                <exit code="1" />

        <upgrade include="install" />
        <downgrade include="upgrade" />