製作帶有無介面winpcap的exe安裝包

2021-07-02 00:37:06 字數 1985 閱讀 1297

最近有個產品,需要使用winpcap提供的網路監測功能,生成的exe安裝包裡面需要靜默安裝上不帶有介面的winpcap所有功能檔案。使用的安裝包製作工具是:advanced installer,使用的winpcap是4.1版本。

首先我們需要知道安裝需要的檔案:packet.dll,wanpacket.dll,wpcap.dll,pthreadvc.dll,npf.sys。他們所在的位置也需要搞清楚,如果是手動拷貝,則需要將檔案packet.dll,wanpacket.dll,wpcap.dll,pthreadvc.dll複製到system32中,將npf.sys複製到system32\drivers中。npf是我們要安裝的乙個驅動服務,安裝這個服務,我們需要使用sc.exe的處理:sc create npf binpath= system32\drivers\npf.sys type= kernel start= demand。同時解除安裝方法是:先停止驅動npf(sc stop npf),再刪除驅動(sc delete npf),最後刪除上文提到的5個檔案。

下面我們來解析一下安裝包的製作過程:

1.為了支援多個作業系統,對多系統下安裝winpcap4.1版本,找到對應的以上幾個dll檔案,並分別拷貝到設定好的分類目錄。使用advanced installer開啟需要製作的setup.aip檔案,點開deployment/organization,對這些dll檔案進行分系統儲存。而npf.sys服務檔案也需要根據不同的作業系統,儲存在對應的system32/drivers/npf.sys下。

[version] 

signature="$windows nt$" 

[defaultinstall.services] 

addservice=npf,,winpcap_svr 

[winpcap_svr] 

displayname=netgroup packet filter 

servicetype=0x1 

starttype=3 

errorcontrol=1 

servicebinary=%12%/npf.sys 

接下來是乙個批處理檔案wpcap.bat,完成整個安裝過程:

rundll32.exe setupapi,installhinfsection defaultinstall 128 %cd%/wpcap.inf 

if /i %cd%==%systemroot%/system32 goto copydrv 

3.也有個比較簡單的方法是,直接寫入批處理檔案wpcap.bat,建立服務並開啟npf:

sc create npf type= kernel start= boot binpath= "c:\windows\system32\drivers\npf.sys" displayname= "netgroup packet filter driver"

sc start npf

4.如果不想通過1步驟來拷貝檔案,可以通過寫入批處理wpcap.bat:

copy *.dll %windir%\system32\

copy npf.sys %windir%\system32\drivers\

del %windir%\system32\packet.dll /f /q

del %windir%\system32\pthreadvc.dll /f /q

del %windir%\system32\wanpacket.dll /f /q

del %windir%\system32\wpcap.dll /f /q

del %windir%\system32\drivers\npf.sys /f /q

sc create npf binpath= system32\drivers\npf.sys type= kernel start= auto error= normal tag= no displayname= "netgroup packet filter driver" 

sc start npf

sc stop npf

sc delete npf

帶有無引數的儲存過程

sql中呼叫儲存過程語句 call procedure name 注 呼叫時 是不可少的,無論是有引數還是無引數.定義對資料庫儲存過程的呼叫時 1 無引數儲存過程 2 僅有輸入引數的儲存過程 這裡?表示輸入引數,建立儲存過程時用in表示輸入引數 3 僅有輸出引數的儲存過程 這裡的?表示輸出引數,建立...

如何製作帶有SPLASH介面的程式

include typedef struct progressdata progressdata typedef struct maindata maindata maindata pmdata static void destroy progress gtkwidget widget,progre...

gui的design 無介面 牆體介面劑

牆體介面劑,高彪建材,高彪致力於為每一位消費者,帶去安全無隱患的 自由呼吸空間 企業遵循綠色科技為長遠發展目標,2009年在國內率先推出植物環保型海藻泥膩子粉系列,本產品主原料由天然植物纖維中提取漿液製成微粉,並新增海藻泥成分,加強淨化空氣與吸附有害物質,屬於安全無毒的環保牆面基材產品。牆體介面劑,...