2014년 6월 30일 월요일

64bit 윈도우에서 네트워크 드라이브를 이용한 32bit 웹 페이지를 구동할 경우

1. 조건
    가. 64비트 OS에서 운영된다.
    나. 32비트 응용프로그램 (DLL)을 사용한다.
    다. 웹파일 디렉토리는 네트워크 드라이브를 사용한다.
    라. asp, aspx 웹사이트이다.
    마. 닷넷 프레임 2.0기반으로 개발/구동된다.


2. 설정내용
    가. 32비트 응용프로그램을 구동하기 위해서 다음 항목들의 설정을 변경해야 한다.
      1) IIS > 응용 프로그램 풀 > 일반 > 32비트 응용 프로그램 사용 값을 "True"로 설정한다
      2) IIS > 기능 보기 > 처리기 매핑 > *.html 등 응용프로그램 확장자의 스크립트 매핑을 추가 해준다 이때 32비트에서 정상작동 할 수 있도록 실행파일 경로를 "C:\Windows\SysWOW64\inetsrv\asp.dll"로 해준다. "SysWOW64"로 해주지 않으면 정상적으로 구동이 안된다.
    나. 닷넷 프레임 2.0 기반일 경우 응용프로그램 풀을 변경 하거나 Classic .Net AppPool을 사용하도록 한다.
    다. 네트워크 드라이브를 사용하여 응용프로그램을 운영할 경우에는 응용 프로그램 풀의 권한을 네트워크 드라이브 접근권한과 동일하게 부여 하여야 한다. (별도의 계정을 생성 후 읽기/실행 권한만 부여한다)
      1) IIS > 기능 보기 > 응용 프로그램 풀 > 프로세스 모델 > ID > 사용자 지정 계정 > 사용자 추가

3. 이도 저도 다했는데 
지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E)

이런 에러 메시지가 나타나면 DLL 파일 중 사용하지 않는 것이 있는지 찾아봐라...
DLL을 하나씩 빼면서 확인해보든지... 다시 컴파일 하든지..

댓글 없음:

댓글 쓰기