code:
GetDllVersion "$SYSDIR\Packet.dll" $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntOp $R3 $R0 & 0x0000FFFF
IntOp $R4 $R1 / 0x00010000
IntOp $R5 $R1 & 0x0000FFFF
StrCpy $0 "$R2.$R3.$R4.$R5"
MessageBox MB_OK $0
; 4.0.0.1040
${If} $0 == "4.0.0.1040"
Goto go_on_further
${Else}
SetDetailsPrint textonly
DetailPrint "Installing WinPcap 4.02..."
SetDetailsPrint none
ExecWait `"$EXEDIR\WinpCap\winpcap-nmap-4.02.exe" /S` $R0
${EndIf}
Allright, this seems to work on my PC, but it doesn't work on anyone elses machine. If I have winpcap installed it won't install it again, if i don't have it, it will install it.
it does so silently since i got the silent-able version from nmap.
if it isnt there, the file version is 0.0.0.0, but if it is the proper version - it skips it- rather, if it is there, it does indeed show the file version.
not too sure why it isn't going into the else function.