Archive: install winpcap from installer


install winpcap from installer
Hi

I am trying to install WinpCap from within the installer. I used 7-zip to extract the installer (another NSIS installer), and placed those files into a system and system\drivers folder. Would installing it that way suffice?

Or should I launch it's own installer?

Please advise.


Don't know what is WinpCap but if originally it installs into system folder, probably installs registry entries as well. That you must include in your installer.


So using regdll won't be enough?
how do i call an external NSIS installer then?

it installs essentially four dll files into System32, and a sys file into system32\drivers.

Looking in registry just one entry for uninstall info, one entry in HKLM software with just the name.

and under services, a daemon gets installed: expert is:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\rpcapd]
"Type"=dword:00000010
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\
69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,50,00,63,00,61,00,70,\
00,5c,00,72,00,70,00,63,00,61,00,70,00,64,00,2e,00,65,00,78,00,65,00,22,00,\
20,00,2d,00,64,00,20,00,2d,00,66,00,20,00,22,00,25,00,50,00,72,00,6f,00,67,\
00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,\
6e,00,50,00,63,00,61,00,70,00,5c,00,72,00,70,00,63,00,61,00,70,00,64,00,2e,\
00,69,00,6e,00,69,00,22,00,00,00
"DisplayName"="Remote Packet Capture Protocol v.0 (experimental)"
"ObjectName"="LocalSystem"
"Description"="Allows to capture traffic on this machine from a remote machine."

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\rpcapd\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00


Originally posted by Red Wine
Don't know what is WinpCap but if originally it installs into system folder, probably installs registry entries as well. That you must include in your installer.
WinPCap captures ethernet data, part of Ethereal/Wireshark.

Installing drivers/devices/services etc is more complicated procedure. Most likely you'll find valuable info searching the forum and wiki.


Is it possible to just install the installer from my nsis script?

i prefer this to be auytomated and behind the scenes like how one can do with msi files/ or .net.


This is old, but I found it on winPcap website: http://www.winpcap.org/pipermail/win...st/000235.html


It seems a silent installer is impossible.

So essentially, this is my new question.

1. How do I determine if winpcap 4.0.2 is isntalled.
2. If it is, skip and go on.
3. If it isn't launch it's own installer and enduser will use its GUI, when that is done, nsis installer goes on.


If winPcap installer is a nsis installer must accept the /S parameter unless the developer strictly disallow it.

How to determine if winPcap is already installed?
Looking for the running service.
Looking for registry entries.
Looking for specific files into system directory.
etc (I guess)


my understanding the developer disabled silent installs.
so i guess launch the installer and allow it to install as normal, or just put the installer on the install disc andlet the enduser install it manually are prolly the best two options..


is this how the /S is invoked in this case?

ExecWait `"$EXEDIR\WinpCap\WinPcap_4_0_2.exe" /S` $R0



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.