2012-10-11 2 views
0

내 wix 설치 프로그램에서 디렉토리에 일종의 addon dll을 설치해야합니다. 많은 addons가있을 수 있습니다, 모두 동일한 디렉토리에 설치됩니다. 각 애드온은 선택할 수있는 기능입니다. 각 애드온은 참조 된 dll과 함께 설치됩니다. 참조 된 dll은 두 개 이상의 구성 요소에 대해 동일 할 수 있습니다 (이름과 내용 모두). Reference1.dll Reference2.dllWIX : 동일한 디렉토리, 동일한 파일 이름에 조각을 설치하십시오.

Addon2 Addon1.dll : Addon2.dll Reference2.dll Reference3.dll

모두 만약

Addon1 : 그래서 이런 일이 될 수 기능을 선택하면 설치 결과는 다음과 같습니다. Addon1.dll Addon2.dll Reference1.dllReference2.dll Reference3.dll

기능을 올바르게 관리 할 수 ​​있도록 각 애드온에 대해 별도의 조각을 만들고 싶습니다. 각 addon에 대한 파일을 수확 할 수 있지만 여기의 문제는 동일한 파일 이름입니다. 그러한 단편을 포함하는 wix 프로젝트는 컴파일되지 않습니다.

참조 사이에 매우 다른 종속성을 가진 많은 추가 기능이있을 수 있으므로 공유 참조 DLL을 다른 일반 조각에 배치하지 마십시오.

다르게 다이얼 할 수있는 방법이 있습니까?

답변

0

자동 수확을하지 않고 수동으로해야 할 일입니다. 수백 개의 AddOn을 가지고 있지 않다면이 작업은별로 도움이되지 않을 것입니다. 열을 사용하여 수확 한 다음 결과로 생성 된 wxs 파일을 수정하여 프로젝트에 포함 시키면 전혀 어렵지 않을 것입니다. AddOns가 자주 바뀌면 더 많은 오버 헤드가 추가 될 것이라고 생각하지만,이 모든 일이 자주 일어나지는 않을 것이라고 생각합니다.

+0

수백 개의 애드온이 아니지만 상당히 많은 (수십 가지) 의존성이 있습니다. 설치 프로그램 빌드는 빌드 프로세스에 통합됩니다. 따라서 해결책은 하나의 개별 폴더에 모든 참조를 넣고 그로부터 공통적 인 단편을 생성하는 것입니다. 그 중 일부는 필요하지 않더라도 항상 모든 참조를 배포하는 것입니다. 대안으로 필요한 참조를 직접 수동으로 포함 할 수도 있지만 팀에서 작업 할 때 새로운 종속성을 추적하는 것이 어렵 기 때문에 이는 매우 위험합니다. 누군가는 항상 파일 자체를 언급하거나 업데이트하는 것을 잊어 버리고 설치된 솔루션이 실패합니다. – ElDog