본문 바로가기

개발 Tip/ASP .Net

[CrystalReports] Crystal Reports(크리스탈리포트) 2008 웹 배포 방법




* 근 3주간 크리스탈 리포트 2008버전의 웹 배포 방법을 몰라 삽질을 해댄 후 방법을 알아내서 공유합니다.
혹시나 크리스탈 리포트 2008버전의 웹 배포에 어려움을 겪으시는 분들에게 참고가 되었으면 합니다.

1. 우선 작업하기 전에 [ASP.Net2.0] Crystal Repors(크리스탈리포트) 인쇄 버튼 클릭시 인쇄 설정 팝업창 나오게 설정하기 글에 참고 웹사이트에 있는 내용을 참고바란다.
    - 크리스탈 리포트 작업시 크리스탈 리포트를 위한 웹사이트를 기준 웹사이트와 별개로 따로 생성을 해야함.

2. 크리스탈 리포트 웹사이트 프로젝트가  열려있는 상태에서 <그림1>과 같이 파일 메뉴에서 추가를 선택하여
    새 프로젝트를 선택하여 <그림2>에 보이는 템플릿 중에 웹 설치 프로젝트를 선택하여 생성한다.

3. 추가된 프로젝트에 기본 컨텐츠 및 병합모듈을 추가한다. 기본 컨텐츠 (크리스탈 리포트 프로젝트 소스 컨텐츠)는 이미 등록이 되어있다.
크리스탈 리포트 2008 배포 시 필요한 병합모듈은 “C:\Program Files\Common Files\Merge Modules” 위치 시켜야 한다.
- Crystal Reports 2008용 Merge Modules(병합모듈)
  
- 추가적인 Merge Modules(병합모듈) : 다운로드

<그림3>에서 생성한 WebSetup 프로젝트에서 마우스 오른쪽 버튼 클릭 후 추가를 눌러 병합모듈을
<그림4>에서 보는 것처럼 다운받은 병합모듈을 필요한 파일만 선택하여 프로젝트에 추가한다.

4. 추가한 병합 모듈 중 <그림5>에서 보는 것처럼 CRRuntime_12_0.msm 파일의 속성을 선택하여 <그림6>과 같
이 Keycode 부분에 크리스탈 리포트의 라이센스키를 입력해준다.
(참고 : 정식 라이센스키가 있다면 정식키를 입력해주고 Trial버전을 설치하였다면 Trial키를 넣어준다.)


5. 컨텐츠 및 병합모듈의 추가가 끝났다면 웹 설치 프로젝트를 빌드 한다.
빌드 후 프로젝트 폴더에 Debug 폴더에 가면 WebSetup.msi 파일이 생성되어 있을 것이다.
(Release 모드로 빌드를 했다면 Release 폴더에 생성)

6. 생성된 WebSetup 파일을 실행하여 설치를 진행을 한다.
설치시 경로는 크리스탈 리포트를 호출하여 사용하는 웹사이트의 경로에 설치를 하고 설치 가상 디렉토리는
크리스탈 리포트 프로젝트 생성할 때 만든 이름으로 생성하여야 한다.(<그림7> 참고)
설치시 <그림8>에서 보는 것처럼 DLL 등록실패 에러가 뜨는데 크리스탈 리포트가 설치가 안된 서버에서
DLL을 등록하기 위한 부분인데 이미 크리스탈 리포트가 설치되어 있는 상태에서 실행을 하였기 때문에
뜨는 에러이기 때문에 여기서는 그냥 계속을 눌러서 설치 완료를 한다.

7. 설치가 완료된 후 해당 폴더에 보면 기존 웹사이트 폴더에 설치한 CR 폴더가 위치해 있는 걸 볼 수 있다.
(<그림9> 참고)
이 상태에서 실행시 자바스크립트 에러가 발생하는 경우가 있는데 이때에 CR 폴더와 동일한 레벨 위치에
IIS 사이트 루트(interpub\wwwroot\) 폴더 아래에 위치한 aspnet_client 폴더를 복사해와서 두면 된다.(<그림10> 참고)


이상으로 Crystal Reports 2008(크리스탈 리포트 2008)의 웹 배포 방법에 대한 설명을 마친다.

※ 설명이 제대로 되었는지는 모르겠습니다. 3주간 삽질하다가 아래 직원이랑 같이 찾아본 결과 겨우 배포방법을 찾아서 이번에 진행하는 프로젝트에 적용을 하면서 정리를 한다고 했는데 이게 다른 프로젝트에도 제대로 배포가 될지는 모르겠네요. 일단 현재 진행중인 프로젝트에서는 잘 실행이 되는군용~^^;
크리스탈 리포트 2008 Trial 버전으로 작업을 하였는데 프로젝트를 제안한 곳에서 정식CD를 구매를 하긴 했는데 크리스탈 리포트 원제작사가 SAP이란 회사에 합병되면서 CD 발송이 늦어지고 있다고 하네요.
주문은 7월말에 했는데 아직 도착을 안하고 있다는 ㅡㅡ^
정식CD에 배포와 관련한 메뉴얼이 있을지는 모르겠지만 만약에 있다면 욕나올 듯 합니다 ㅡㅡ;
어찌됐든 배포 성공해서 프로젝트 종료가 가능했네요. 후~



* 이 포스트는 blogkorea [블코채널 : 프로그램에 대한 개발팁 및 유용한 정보 공유합시다.] 에 링크 되어있습니다.