2011. 8. 17. 04:26

[VS Setup] .Net 으로 작성된 COM 서버 배포하기

참고: http://www.simple-talk.com/dotnet/visual-studio/getting-started-with-setup-projects/
 
.Net 어셈블리로 작성된 COM 서버를 배포하는 방법은 다음과 같습니다.

전통적인 COM DLL 을 인스톨할 때, 타입 라이브러리 정보가 DLL 안에 존재합니다, 그래서 전통적인 COM DLL 을 등록하는 옵션을 설정하게 되면 타입 라이브러리 정보 또한 등록하게 됩니다.  .NET 어셈블리는 COM 타입 라이브러리 데이터를 가지고 있지 않아서, .NET 어셈블리내의 COM 클라이언트/서버 인터페이스가 타입 라이브러리 마샬링을 필요로한다면, (Tlbexp.exe를 이용하여) 어셈블리로부터 타입 라이브러리를 export 할 필요가 있습니다. 그러고 나서 그 타입 라이브러리를 setup 에 추가합니다. 이 .TLB 파일을 선택하면 레지스터 속성창에서 vsdrfCOM 옵션을 가지고 있는 보게 될 것입니다. 이 것을 선택하면 전통적인 방식으로 시스템에 타입라이브러리가 등록되도록 해 줍니다.

☞ tlbexp.exe 로 TLB 파일을 export 할 필요가 있다고 했는데, 기본적으로 output 폴더에 보면 tlb 파일이 생성되어 있습니다.

InnoSetup 으로 할 때는 그냥 regasm.exe 를 같이 인스톨하고, "regasm deployee.dll /codebase" 를 실행하는 batch 파일을 만들어 일괄적으로 등록하도록 했었습니다.