[MIP-332] WinPCap 설치를 별도의 설치 없이 MCCS 설치때 가능하도록 적용

Subject
 WinPCap 설치를 별도의 설치 없이 MCCS 설치때 가능하도록 적용

APPLIES TO:
Windows 2008
MCCS 3.1


SYMPTOMS

Arp 갱신을 위한 네트웍 api를 사용 하기 위해서는 NIC 드라이버인 npf.sys 파일이 반드시 필요하다.

CAUSE

npf.sys를 windows\system32\drivers 경로에 copy 해준 후 위의 레지스트리 내용을 입력한 후 reboot 시켜 주면 된다.
단, WinPcap 은 reboot 없이 바로 적용이 되는데 그 방법은 아직 모르겠음.
따라서 윈도우 2008 이상 버전에서는 npf.sys 가 설치 되도록 할 예정이며 리부팅도 반드시 필요하게 될 것 같다.
위의 레지스트리 내용을 install shield에서 추가되도록 해주었다.
인스톨 쉴드의 Components에서 NTF 를 하나 추가하였고 설치 조건은 VersionNT>=600 을 주어 윈도우즈 2008이상에서만 추가되도록 하였다.
그리고 관련 dll 모듈(wpcap.dll, packet.dll)도 32 or 64 비트에 적절한 화일과 system경로에 설치 되도록 해주었다. (인스톨쉴드 스크립트)
결론적으로,
윈도우즈 2008 (혹은 vista) 에서 MCCS를 install 할 경우에는
내부적으로 NTF.sys이 설치되고 wpcap.dll, packet.dll이 system경로에 copy 된다.
driver 가 설치되었으므로 reboot 해주고 나면 WinPCap설치한 상태와 같은 network 모듈들이 설치된다.


SOLUTION

1)인스톨 쉴드내에서 구현완료
npf.sys 드라이버를 설치 (Components에서 추가)
wpcap.dll, packet.dll 화일을 시스템 화일에 설치 (script 추가)
RefreshArp.exe copy (Components에서 추가)
조건은 windows 2008이상에서만 위의 동작들이 이루어지도록 작성

2)특이사항
드라이버 파일과 dll 파일을 Windows 2008 amd64 에서 system file에 copy되게 하기 위해서는 인스톨쉴드의 Disable(WOW64FSREDIRECTION);을 추가해주어야 한다. 기본적으로 64비트 환경에서는 system파일로 가는 모든 것을 SysWow64 경로에만 가도록 하는 기능을 꺼두는 것이다. 왜냐면 일부는 System32로도 가야 되는데 저 기능이 default로 설정되어 있어 문제가 발생하였다.
Disable(WOW64FSREDIRECTION); 기능은 InstallShield 11 부터 추가되었다고 하는데 현재 개발팀의 버전은 10.5라서
우선 Install Shield 2009로 변경하여 build package를 만들었다.

Fixed MCCS 3.2