2011-02-05 3 views
7

저는 BizTalk 프로젝트에서 작업 중이며 설치 (더블 클릭) 및 가져 오기 (biztalk 관리 콘솔 사용)에 대한 이유가 무엇인지 이해하지 못합니다.BizTalk에서 왜 MSI 파일을 가져오고 설치 했습니까?

BizTalk 프로젝트가 있고 리소스에 바인딩을 추가하고 msi 파일을 내 보냈습니다. 이제 다른 서버에 응용 프로그램을 설치하려고합니다. 지금까지 내가이 말할 수있는

는 MSI가하는 설치 무엇을 다음 GAC에

  1. 복사 파일을 파일 시스템에
  2. 레지스터 어셈블리를
  3. 가 추가로 응용 프로그램을 추가/프로그램 제거

      : 애플릿

    그러나, 여기 내 문제입니다

  4. msi를 사용하여 설치하면 BizTalk 관리 콘솔에 응용 프로그램이 추가되지 않습니다. msi를 가져와야합니다.
  5. msi를 사용하여 제거해도 GAC에서 어셈블리가 제거되지 않습니다. 파일 시스템에 복사 한 파일 만 제거합니다. 제거가 GAC 어셈블리를 제거 할 수 있습니까?
  6. MSI를 가져온 경우 내 biztalk 응용 프로그램을 시작할 수 있으며 제대로 실행되는 것 같습니다. # 1과 # 2 문제와 함께 MSI가 필요한 이유는 무엇입니까? GAC에 가져 오기를 추가하지 않으면 다른 응용 프로그램이 작동하지 않을 수 있습니다.

msi가 제공하는 기능/구성이 누락되었지만 다른 사람이 msi를 설치하고 biztalk로 가져와야하는 이유와 왜 uninistall 할 때 완전히 제거하지 않는지 이해할 수 있습니다. 설치 한 모든 것?

답변

10

BizTalk 솔루션을 배포 할 때는 두 가지 작업을 수행해야합니다.

왜 BizTalk 솔루션을 배포하는 것이 2 단계 작업입니까?

  1. 이는 BizTalk 관리 데이터베이스
  2. 로는 BizTalk 솔루션 등록 파일 시스템으로는 BizTalk 공예품 및 종속성에게 솔루션이는 BizTalk 관리에 등록해야합니다 구성

우선은 BizTalk 어셈블리를 설치 데이터 베이스. 이를 통해 BizTalk는 어떤 스키마,지도, 파이프 라인 및 오케스트레이션을 사용할 수 있는지 알 수 있습니다.

Windows Installer 패키지를 BizTalk로 가져 오기하면됩니다.

일반적으로 일반적인 BizTalk 플랫폼은 일반적으로 많은 실제 서버로 구성됩니다. 그러나 BizTalk Group의 모든 서버는 단일 BizTalk 관리 데이터베이스를 공유합니다.

따라서 전체 BizTalk 그룹에 대해 한 번만 가져 오기 작업을 수행해야합니다..

두 번째로 BizTalk에 등록 된 BizTalk 어셈블리는 실제로 어딘가에으로 존재해야합니다. 따라서 파일 시스템에 설치해야합니다.

Windows Installer 패키지를 두 번 클릭하면됩니다.

공지 사항이 설치 작업이는 BizTalk 그룹의 일부인 물리적 서버에 반복 될 필요가있다. 그리고 BizTalk 관리 데이터베이스에는 솔루션의 일부인 정의가 하나뿐이므로 BizTalk 어셈블리를 GAC (전역 어셈블리 캐시)에 설치해야하는 이유가 설명됩니다. 지금까지, 규칙이 간단

주의 사항 :

  • BizTalk 어셈블리는 BizTalk 그룹
  • BizTalk 어셈블리의 각 서버의 GAC에 설치해야합니다은 수입 (또는 등록)해야 BizTalk 관리 데이터베이스 한 번

그러나 우리는 BizTalk 어셈블리 만 처리했습니다. 런타임에 BizTalk 솔루션에 필요한 다른 모든 어셈블리 또는 기타 종속성 (비즈니스 규칙 정의, COM 개체, 바인딩, 구성 파일 등)은이 2 단계 작업으로는 다루지 않습니다. 용액이 실행될 때

간 환경 배포

그러나, 이러한 종속성은 적절하게 각 BizTalk 서버 상에 존재해야한다.

그런 이유로 대부분의 인공물도 BizTalk 관리 데이터베이스에 등록됩니다. 그러나 이번에는 BizTalk 솔루션 용 Windows Installer 패키지를 만들 때 종속성을 가져오고 해당 종속성을 대상 서버에 적절히 설치할 수 있도록하기 위해 수행됩니다.

제거시 BizTalk 어셈블리가 GAC에서 제거되지 않는 이유는 무엇입니까?

일반적으로 대략적으로는 assemblies that are registered to the Global Assembly Cache are considered shared resources입니다. 따라서 안전상의 이유 때문에 제거시 BizTalk 어셈블리가 GAC에서 제거되지 않습니다. 사용자 지정 BizTalk 파이프 라인이 둘 이상의 응용 프로그램에서 사용될 때 어떤 일이 발생하는지 고려하십시오. 이 경우 BizTalk 파이프 라인은 별도의 일반적인 BizTalk 응용 프로그램의 일부 여야합니다. 이 파이프 라인에 의존하는 다른 모든 응용 프로그램을 깰 것이 공유 BizTalk 응용 프로그램을 ... 제거

adding resources to the BizTalk Management Database, 당신은 어셈블리 수입에서 GAC에 설치 또는 에서 시간을 설치할 수 있습니다 할 수있는 선택의 여지가

. 대부분의 일반적인 다중 서버 BizTalk 그룹에서 의미가없는 "GacOnImport"기능을 사용하지 말 것을 강력히 권장합니다.

그러나 Windows Installer 패키지와 관련하여 BizTalk 어셈블리 또는 다른 종속성에 대해 수행 할 수있는 작업을보다 쉽고 유연하게 사용자 지정할 수 있습니다. 이는 Pre Processing and Post Processing Scripts으로 완료됩니다.

이러한 스크립트를 사용하면 가져 오기/설치 작업 중 네 가지 특정 시간에 임의의 응용 프로그램을 실행할 수 있습니다.

  • 당신은 어셈블리 제거시 GAC에서 제거하려면

을 Intalling 후

  • 를 설치하기 전에
  • 를 가져 오기 후
  • 를 가져 오기 전에, 일정의 간단한 문제입니다 작업의 "설치 전"단계에서 적절한 명령 줄을 사용하십시오.

  • 8

    MSI 파일을 가져 오면 MSI의 어셈블리가 BizTalk 데이터베이스에 추가됩니다. 앞에서 말씀 드렸듯이 MSI를 실행하면 어셈블리가 GAC에 추가됩니다. 두 가지 모두 BizTalk 응용 프로그램을 "설치"해야합니다. BizTalk 어셈블리 만 BizTalk 관리 데이터베이스로 가져와야합니다. BizTalk에서 사용하는 모든 DLL은 GAC에 있어야합니다.

    http://msdn.microsoft.com/en-us/library/aa578463(v=BTS.10).aspx을 보면 BizTalk 응용 프로그램의 각 리소스에 대한 설치 및 가져 오기 동작을 사용자 지정할 수 있습니다. 이렇게하면 MSI를 가져 와서 데이터베이스에 어셈블리를 추가하고 GAC에도 어셈블리를 추가 할 수 있으므로 프로그램 추가/제거에 추가 혼란이 생기지 않습니다.

    설치된 MSI를 제거 할 때 DLL이 GAC에서 제거되지 않는 이유는 설계 상 의도 된 것입니다. MSDN http://msdn.microsoft.com/en-us/library/aa562001(v=bts.10).aspx에서이 페이지를 살펴보면이 동작이 예상대로 이루어 졌음을 알 수 있습니다. MSDN 문서에는 GAC에서 어셈블리를 제거하는 방법에 대한 링크도 포함되어 있습니다. MSI를 제거하면 MSI에서 실제로 어셈블리를 GAC에서 제거하도록 사후 처리 스크립트를 사용하는 방법을 설명합니다.