Redistributing NetMon parsers RRS feed

  • Question

  • I am developing an application using NetMon API.

    If I am not wrong, Microsoft Network Monitor parsers are open source and I am allowed to distribute it right?

    I do not want to distribute the Network Monitor parsers installation file (.msi file) that I downloaded from the internet. At the same time I also want my users to be able to use my application without downloading the NetMon parsers installation file.

    What I want is that the parsers files will be included in the folder of my application. I want to make my application more portable, users will be able to move the application folder to any folder they want without re-run the installation file of my application.

    For example, assume that users place my application in "D:\MyApplication\", they must be able to move it to "C:\ABC\MyApplication" or anywhere they want, or even move to their USB drives.

    The problem is that, in the .npb files that are installed by using the NetMon Parsers installation file I downloaded, those .npb files point the parser files to "C:\ProgramData\Microsoft\Network Monitor 3\......."

    I am using NmLoadNplParser() function in my application. Assuming that a user put my application in "D:\MyApplication\" or their USB Flash Drive, mean my application and those parser files will be put in "D:\MyApplication\" or their USB Flash drive or just any folder they choose. In this case, I am worried if NmLoadNplParser() function will search read the npb file and the search the parsers in "C:\ProgramData\Microsoft\Network Monitor 3\......." instead of the actual directory my application was put in.

    I want that the users must be able to move the directory of my application together with then parser files without modifying the npb files.

    So, what should I do?

    Please do not hesitate to ask for further explanation if you do not understand what I am saying.

    Friday, April 29, 2011 12:41 AM


  • Hi and welcome,

    While our parsers are redistributable.  The Network Monitor API dll itself is not.  If you're making an application which you're going to distribute, you'll need to have your users download and install Network Monitor first or have your installer do that for them.

    Thus Network Monitor when it installs itself will put the parsers in the programdata directory that your application will have access to.

    The other thing too is if I gather from your other forum questions, is that this is for live capturing, which would require Network Monitor to be installed anyway as we have a custom NDIS Lightweight Filter driver which needs to be on the system in order to provide capturing capabilities.

    Its not really going to be possible in that case to make something that you can just copy to a USB drive, bring to another machine and expect it to run.  The driver needs to be present and users need to be part of the Netmon Users security group in order to capture, which usually requires as login cycle to activate.

    Michael Hawker | Program Manager | Network Monitor
    Friday, April 29, 2011 3:11 PM