i working on npcap, open-source windows packet capturing software originated famous winpcap , enhanced more functionalities.
winpcap's core files wpcap.dll, packet.dll (in system32 , syswow64) , driver named npf.sys. different winpcap, our npcap provide npcap.dll, wpcap.dll, packet.dll , driver npcap.sys. npcap.dll our npcap's "wpcap.dll", npcap.sys our npcap's "npf.sys". wpcap.dll wrapper added keep compatible original winpcap.
as want npcap coexist winpcap, decide install npcap.dll, wpcap.dll, packet.dll software installation path "c:\program files\npcap" instead of system32 , syswow64 path.
we don't want change file names of wpcap.dll , on, because want winpcap's user software can use npcap's dlls automatically when winpcap not available in system. windows finds dlls name.
npcap wants support both 32 bit , 64 bit user software (like wireshark , nmap) @ same time in 64 bit windows. 32 bit nmap can use 32 bit wpcap.dll , 64 bit wireshark can use 64 bit wpcap.dll.
here encountered problem: our user software include nmap , wireshark, can 32 bit or 64 bit. 32 bit software use 32 bit dlls , same 64 bit. if put wpcap.dll of npcap our installation path "c:\program files\npcap" , add string path environment variable, we can't add 32 bit wpcap.dll , 64 bit wpcap.dll both in "c:\program files\npcap", because share same name. want keep "wpcap.dll" name need keep compatible original winpcap. so can't copy "wpcap.dll" system32 , syswow64 because winpcap's wpcap.dll there. there problem put 32 bit dlls , 64 bit dlls in separated directories. if put dlls "c:\program files\npcap\x86" , "c:\program files\npcap\x64" separately. still need put these 2 paths system path environment variable other softwares invoke. , there order these 2 dll paths. latter path overrided former one, windows loader searches dlls file names.
is there way not copy dlls system32 , syswow64 path , resolve 32 bit , 64 bit dlls resolving problem @ same time?
Comments
Post a Comment