'3. Implementation/Packaging'에 해당되는 글 3건
- 2011.08.17 [VS Setup] .Net 으로 작성된 COM 서버 배포하기
- 2011.08.05 [InnoSetup] 버전 문자열을 이용한 배포 파일 생성하기
- 2011.03.03 [InnoSetup] 명령어로 컴파일러 실행
2011. 8. 17. 04:26
[VS Setup] .Net 으로 작성된 COM 서버 배포하기
2011. 8. 17. 04:26 in 3. Implementation/Packaging
참고: 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 파일을 만들어 일괄적으로 등록하도록 했었습니다.
.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 파일을 만들어 일괄적으로 등록하도록 했었습니다.
2011. 8. 5. 07:22
[InnoSetup] 버전 문자열을 이용한 배포 파일 생성하기
2011. 8. 5. 07:22 in 3. Implementation/Packaging
컴파일 된 exe 배포 파일의 이름이 버전을 포함하게 하고 싶을 때가 있습니다. 이전까지는 손수 파일 이름 변경을 하였습니다. 하지만 아래처럼 하면 간단하게 할 수 있습니다.
#define MyAppVersion "1.0"
[Setup]
OutputBaseFilename=Setup {#MyAppVersion}
참고: http://rmn-explores.blogspot.com/2011/04/creating-setup-files-using-inno-setup.html
#define MyAppVersion "1.0"
[Setup]
OutputBaseFilename=Setup {#MyAppVersion}
참고: http://rmn-explores.blogspot.com/2011/04/creating-setup-files-using-inno-setup.html
2011. 3. 3. 00:27
[InnoSetup] 명령어로 컴파일러 실행
2011. 3. 3. 00:27 in 3. Implementation/Packaging
InnoSetup 으로 패키징시 명령어에서 컴파일러를 실행할 수 있습니다.
compil32 /cc [script name]
Example:
compil32 /cc "c:isetupsamplesmy script.iss"
공백이 있는 경우 " 로 감싸져야 합니다.
또한, 콘솔모드 컴파일러인 ISCC.exe 를 이용하여 스크립트를 컴파일 할 수 있습니다.
iscc [options] [script name]
표준 입력으로 부터 읽어 오기 위해서는
iscc [options] -
Example:
iscc "c:isetupsamplesmy script.iss"
유효한 옵션은 출력 경로를 지정하기 위한 "/O", 출력 파일 이름을 지정하기 위한 "/F", 에러 메시지 외에는 출력하지 않는 조용한 컴파일을 위한 "/Q", 그리고 도움말을 보여주는 "/?" 등이 있습니다.
Example:
iscc /Q /O"My output" /F"MyProgram-1.0" "c:isetupsamplesmy script.iss"
ISCC 는 컴파일이 성공하면 종료코드로 0을 반환하고, 명령어 파라미터가 유효하지 않거나 내부 에러가 발생하였다면 1을, 컴파일이 실패하면 2를 반환합니다.