If you want to make use of EPANET functions in your own program, you can either
a) build and distribute the EPANET engine as a DLL (a dynamically-linked library) then distribute both your program and the DLL (two separate files; easiest for your program to find the DLL if it's in the same directory). When compiling your program (depending on the language you use), you may need to point your compiler at the EPANET toolkit 'header' file, which tells it what's defined in the DLL and allows it to check that you've tried to call EPANET functions in a valid way.
b) build EPANET as a 'static library', which allows you to compile a single executable containing both your code and this library.
Is there any reason you can't stick with option (a) and just ship the EPANET DLL with your VB application?