2013-09-30 2 views
0

잘 관리되지 않은 오래된 Wix 프로젝트를 정리하는 방법에 대한 조언이 필요합니다. 한 가지 문제점은 프로젝트가 현재 동일한 파일에 대해 동일한 위치로가는 여러 항목을 가지고 있다는 것입니다. 예를 들어 프로젝트의 여러 .wxs 파일은 서로 다른 GUID를 사용하는 foo.exe의 새 구성 요소를 정의하고이 파일을 모두 동일한 DirectoryRef로 보냅니다. 아직 어떤 문제도 발생하지 않았지만, 이제는 제품에 패치 (MSP)를 사용하고 싶습니다. 이러한 종류의 작업은 엉망입니다.Wix 설치 프로그램에서 중복 항목 정리

이전의 모든 설치 관리자가 이처럼 나갔기 때문에 업그레이드를 중단하지 않고이를 해결하는 가장 좋은 방법에 대해 궁금합니다. 모든 중복 구성 요소를 단순히 제거하면 업그레이드 중에 정의되지 않은 동작이 발생합니다. 무슨 일이 일어나고있는 것 같아 하나 이상의 중복 항목을 제거하면 설치 프로그램이 해당 파일에 대한 삭제 작업을 생성하게됩니다. 파일의 나머지 항목이 새 버전이라도 설치하는 동안 작업 순서에 대한 보장은 없습니다. 따라서 이러한 파일 중 일부는 먼저 업데이트되고 하나 이상의 삭제 작업은 업데이트 된 파일을 제거합니다. 따라서 업그레이드가 끝나면 여러 파일이 누락됩니다. 설치 프로그램이 파일을 복원 한 후에 즉시 복구를 실행하면 설치 프로그램이 파일을 복구 할 수 있음을 알게되므로 파일을 복원합니다.

이 문제를 해결하는 방법 중 하나는 다음 릴리스에서이 파일을 2 차 위치로 복사 한 다음 2 차 위치에서 파일을 복사하는 사용자 지정 작업 설치를 실행하는 것입니다. 기본 디렉토리에 복사하고 임시 디렉토리를 삭제하십시오.

해결 방법이 더 깨끗합니까?

답변

0

당신이해야 할 일은 유효성 검사를 사용하여 모든 중복을 확인하고 수정하는 것입니다. 가능한 한 가장 빠른 스케줄로 업그레이드를 업그레이드하십시오. 또한 구성 요소 참조 횟수를 줄이기 위해 설치 위치를 약간 다른 디렉토리로 변경해야 할 수도 있습니다.

일단 정리가되면 마이너 업그레이드로 돌아가서 패치를 생각할 수 있습니다. 대안은 "가짜"패치 일 것입니다. 나는 그것을 성공적으로 핫픽스 방법으로 게시하지 않는 MSI를 사용했습니다. 그것은 많은 규칙을 깨뜨리지 만 패칭 규칙을 신경 쓰지 않고 비즈니스를 행복하게 만들고자하는 조직에 유용 할 수 있습니다.