winpcap 静默安装

前几天做一个小工具用到winpcap,由于有些用户系统未必安装过这个而领导要求尽量减少用户点击,于是只好想办法静默安装了,csdn搜了,貌似没有好用的,求助stackoverflow,还好,在某篇解答中找到了http://paperlined.org/apps/wireshark/winpcap_silent_install.html  这个,使用之,发现很靠谱,我程序中,直接

    <span style="font-size:18px;">        if (!::CreateProcess(
                NULL,
                (LPTSTR)"winpcap-nmap-4.13.exe /S /NPFSTARTUP=NO",//(LPTSTR)"winpcap-nmap-4.13.exe /S",//(LPTSTR)"winpcap-nmap-4.13.exe /S",
                NULL, NULL,
                FALSE,
                CREATE_NEW_CONSOLE|CREATE_NEW_PROCESS_GROUP,//NORMAL_PRIORITY_CLASS,
                NULL, NULL,
                &si,
                &pi))
            {
                LPTSTR lpMsgBuf;  
                DWORD nErrno = GetLastError();  
                FormatMessage(  
                    FORMAT_MESSAGE_ALLOCATE_BUFFER |  
                    FORMAT_MESSAGE_FROM_SYSTEM |  
                    FORMAT_MESSAGE_IGNORE_INSERTS,  
                    NULL,  
                    nErrno,  
                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),  
                    (LPTSTR)&lpMsgBuf,  
                    0,  
                    NULL  
                    );
                OutputDebugString("CreateProcess winpcap-nmap-4.13.exe /S FALSE!!");
                OutputDebugString(lpMsgBuf);
                while(1)//本检测线程不退出,让扫描线程超时显示
                {
                    Sleep(5000);
                }
                return FALSE;
            }</span>

后台就会静默安装了,当然,我的工程中,遇到点波折,导致静默安装后没有立即生效(本进程退出后才会生效 sc query npf 结果是 1060或者其他),后续有空将这个锁死的过程总结写下吧。


当然win7等下,需要管理员权限运行才可以的。


BTW:

参数:/NPFSTARTUP=NO
这个是看nmap中winpcap安装包的readme里面有这个项,所以加上了,其实不加应该也可以的。
————————————————
版权声明:本文为CSDN博主「dabang_007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dabang_007/article/details/40819601

原文地址:https://www.cnblogs.com/cnhk19/p/14884898.html