본문 바로가기

Program/Etc

ASP - ASPEXEC (외부 파일 실행하기)

** 개인적 메모입니다. 태클 사절 **


안드로이드 프로젝트에서 ASP API와 연동 중 암호화 부분의 인코딩/디코딩을 통일해야하는 일이 생겼다.
ASP 에서는 정확히 AES 암호화가 구현되는지는 모르겠지만..내부적으로 사용중인 AES 가 정석은 아닌 것 같아. ASP 에서 JAVA에서 사용중인 AES 를 호출해서 사용하기 위한 방법으로 ASP에서 jar 를 실행시킬 수 있는 방법을 찾아보니......엄청 오래된 블로그 글을 보았다..작성 일을 보니 2008년도다..
2008년도에 뭘했는지...-_-;.. 아 결혼을 했군....하하

혹여나 저 님의 블로그의 글이 사라질까봐
My1over's blog 에서 있는 글을 가져왔다..

우선 AESEXEC 첨부파일..

aspexec.zip



------------------------------------------------------------------------------------

웹페이지에서 이벤트를 발생해 서버의 exe 파일을 실행하기 위한 방법을 찾아보던 중 ASPEXEC라는 컴포넌트를 알게 되었다.마침 구현하려는 웹페이지가 ASP로 구현되어있어서 ASPEXEC를 적용해보려고 하였고.. ASPEXEC의 설정방법은 많은 분들이블로그나 웹페이지에 가지고 계셨지만.. 모두 딱 2종류의 글을 복사한 것들이었다. 2종류 중 1개는 도움이 안되는(그렇게설정해봤자 안된다..) 글이기 때문에.. 결국 1개의 글을 많은 분들이 복사한 셈이다.. 문제는 그 글에 권한설정이나COM+등록에 대한 설명은 웹쪽에는 무지한 본인의 기준으로 아주아주 난감한 설명이었다.. 많은 분들이 그 글의 설명 정도면무난하게 ASPEXEC를 사용하고 계신 것으로 추측되지만 혹여.. 본인처럼 어려워하는 분들이 계실 것 같아서 아래 설명을작성해보도록 하겠다.

 

본인은 Windows 2003 Server의 환경에서 설정하였으며 서버의 exe 파일에 파라메터를 던져 실행되는 것을목적으로 하였다. (프로세스는 동작하지만 notepad.exe등의 윈도우 어플리케이션을 실행하였을 경우 윈도우창은 뜨지 않는다-_-; 목적은 달성하였기 때문에 더이상 시도해보지 않았지만 아마도 [서비스/wwwpubliser에서 데스크탑실행에 체크가되어있어야 한다.] 라는 부분을 적용하지 않아서이지 않을까 하고 생각한다. 사실 아직도 서비스/wwwpubliser가 무엇을의미하는지 모르겠다.)

 

ASP에서 서버상에 설치된 실행파일을 실행하기 위한 방법에는 몇가지가 있지만 MS의 WSH(Windows Scripting Host)와 ASPEXEC Component를 사용하는 방법이 주로 사용된다.
ASPEXEC를 배포하는 홈페이지는 http://www.serverobjects.com 이며 무료로 사용이 가능하다.

 

1. DLL 등록하기

  첨부파일을 다운받아 압축을 풀면 ASPEXEC.DLL 파일과 여러 ASP 파일등이 보일 것이다. ASP파일들은 ASPEXEC의 사용예제들이다.

  1-1. C:\Windows\System32\ 폴더에 DLL을 복사한다.

  1-2. 시작->실행에서 regsvr32 ASPEXEC.DLL 을 입력하여 DLL 파일을 등록한다.

 

2. 권한설정

  2-1. ASPEXEC를 이용하여 실행할 실행파일에 마우스 오른쪽 버튼으로 클릭하여 속성창을 연다.

  2-2. 보안탭의 사용자에 IUSR_XXXX(인터넷 서비스 계정)을 추가하고 읽기 와 실행권한을 준다.

    인터넷 서비스 계정의 이름을 모를 경우에는 추가->고급->찾기 버튼을 클릭하여 모든 계정을 검색한 후 IUSR_ 로 시작하는 계정을 찾으면 된다.

 

3. COM+ 등록

  3-1. 관리도구의 구성 요소 서비스 창을 연다.

  3-2. 구성 요소 서비스->컴퓨터->내 컴퓨터->COM+ 응용 프로그램 항목을 마우스 오른쪽 버튼으로 클릭하여 새로만들기->응용 프로그램을 선택하여 응용 프로그램 추가 마법사를 실행한다.

  3-3. 빈 응용 프로그램 만들기 선택

  3-4. 이름을 입력하고 서버 응용 프로그램을 선택 후 다음 클릭

  3-5. 네트워크 서비스 계정을 선택 후 다음 클릭

  3-6. 역할은 기본 역할인 CreateOwner 설정된 그대로 다음 클릭

  3-7. CreateOwner를 확장하여 Users그룹에 IUSR_XXXX(인터넷 서비스 계정)을 추가 하면 응용 프로그램이 추가된다.

  3-8. 추가한 응용 프로그램을 확장하여 구성요소 항목을 마우스 오른쪽 버튼으로 클릭하여 새로만들기->구성요소를 선택하여 구성요소 추가 마법사를 실행한다.

  3-9. 새 구성 요소 설치 선택

  3-10. C:\Windows\System32\ 하위에 복사한 ASPEXEC.DLL 파일을 선택 후 다음 버튼을 클릭하면 구성요소가 추가된다.

  3-11. 추가한 응용프로그램을 마우스 오른쪽 버튼으로 클릭하여 시작을 선택한다.

 

4. 데스크탑과 상호 작용 설정

  4-1. 관리도구의 서비스 창을 연다.

  4-2. IIS Admin Service 의 등록정보에서 로그온->로컬 시스템 계정->데스크 탑과 상호 작용 허용 체크
  4-3. World wide Web Publishing Service 의 등록정보에서 로그온->로컬 시스템 계정->데스크 탑과 상호 작용 허용 체크

  4-4. 관리도구->인터넷 정보 서비스(IIS) 관리 창을 열어서 IIS 다시 시작

 

설정을 마친 후 재부팅하라고 되어있었지만 본인은 그냥 되었다 -_-;

------------------------------------------------------------------------------------

위 까지가 블로그 내용인데...현재 내 테스트 환경이 Win7 이라 좀 버벅였다..
관리도구 에서 서비스나 regsvr32 실행 시 관리자 모드로 실행 을 해야만 정상적으로 등록된다.
아울러, 구성요소 서비스에 등록 시킨 ASPEXEC 속성의 보안 탭의 권한 부여 부분이 체크되어있던건지 내가 잘 안되서 이것저것 만지다 체크가 된건지 암튼 체크가 되어있으면 안된다..



 

'Program > Etc' 카테고리의 다른 글

HTML 특수 문자  (0) 2012.10.19
[Mac] 모니터만 끄기 단축키  (0) 2012.09.10
Mac Eclipse Mutil Workspace Open  (1) 2012.09.03
[Mac] 화면 전환 단축키.  (5) 2012.05.10
MSSQL - change password SA  (3) 2011.08.25