2012-03-11 3 views
3

설치 후 레지스트리 변경이 필요한 패키지의 설치를 간소화하려고합니다. 대신 MSI에 레지스트리 변경 사항을 추가 할 수 있기를 원했습니다. 코드를 작성하지 않았으며 단순히 기존 MSI를 편집하려고 시도했습니다. 원격으로 배포하고 그냥 완료해야했습니다.Orca로 MSI를 편집하여 설치시 레지스트리 키를 추가하십시오.

누구나 수행 방법에 대한 좋은 예를 제공 할 수 있습니까? 또한 MSI를 수정하는 책에 대한 권장 사항이나 Microsoft에서 제공하는 것에 대한 자세한 설명을 제공하는 사이트에 크게 감사하겠습니다.

감사합니다.

답변

4

MSDN의 오카를 이용한 MSI 패키지를 만드는 방법의 공정 예에 의하여 공정을 갖는다. 단계 중 하나는 레지스트리 정보를 추가하는 방법입니다. 찾을 수 있습니다 here

+0

이것은 도움이되었으며, 문제를 해결할 수있었습니다. 유일한 문제는 문제가 해결되도록 올바른 구성 요소를 찾는 것이 었습니다. 나는 기본적으로 통과하고 어떤 구성 요소가 가장 레지스트리 키를 생성하는 것으로 보았는지 알아 내고 그 중 하나를 사용하려고했습니다. 두 번 시도한 후에 효과가 있었지만 더 쉬운 방법이 있습니까? – LazarusG

+0

이것은 구성 요소 규칙에 대한 MSDN 문서에서 가져온 것입니다 : "구성 요소에 레지스트리 키 추가 파일을 가리키는 레지스트리 키는 해당 구성 요소에 포함되어야하며 다른 레지스트리 키는 논리적으로 필요한 파일과 그룹화되어야합니다." – Ciprian

-1

Visual Studio에서 설치 및 배포 프로젝트를 사용할 수 있습니다. http://support.microsoft.com/kb/307353

http://msdn.microsoft.com/en-us/library/aa266445%28v=vs.60%29.aspx

+0

필자는 프로그램을 작성하지 않았거나 기존 MSI 파일을 편집하려는 코드에 대한 액세스 권한이 없다고 덧붙여 야했습니다. – LazarusG

+0

설치 및 배포 프로젝트는 품질이 좋지 않아 Microsoft에 의해 사망했으며 Visual Studio의 다음 릴리스에서는 제공되지 않습니다. –

1

찾고있는 것을 변환이라고합니다. 참조 :

Basic Patch and Transform Concepts in ORCA

은 기본적으로 당신이 다음 MST 파일로 저장하려면이 레지스트리 값으로 변환 만들 ORCA (또는하면 Installshield 튜너 또는 유사한 도구)를 사용합니다. 거기에서 당신은 말할 수 :

에 msiexec/I foo.msi TRANSFORMS = foo.mst

그리고 원래 MSI를 수정하지 않고 예상되는 동작을 확인할 수 있습니다. 또한 공급 업체가 새로운 MSI를 제공한다면 MSI를 새로운 MSI에 적용 할 수있는 좋은 기회입니다. (YMMV는 MSI의 릴리스에서 변경된 사항에 따라 달라집니다.)

BTW는 설치 개발자가 변환을 이해하는 것이 중요하지만 질문은 일반적으로 IT 배포 질문으로보고 ServerFault에 속할 가능성이 있습니다.

InstallShield에는 Transform 프로젝트 유형이 있으므로 InstallShield의 전체 UI를 사용하여 기본 MSI 테이블을 직접 처리하지 않고 MST를 작성할 수 있습니다.

관련 문제