나는 레지스트리 키를 추가하고 일부 서비스를 설치 및 시작하고 파일을 설치하는 MSI를 가지고 있습니다. 이제 하나의 파일을 업데이트하고 새 파일을 추가해야한다는 요구 사항이 있습니다. 우리는 차이점/변형을 만들어서 패치를 만들 수 있다는 것을 알고 있습니다. 그러나 두 번째 MSI에서는 HotFix와 같은 다른 파일이 아닌이 두 파일 (업데이트 된 파일과 새 파일) 만 포함하려고합니다. 나는 패치를 만들고 싶지 않다. 나는 별도의 MSI를 만들려고했으나 동일한 UpgradeCode를 사용했지만 다른 제품 ID와 다른 버전을 사용했다. 그러나 이로 인해 프로그램 및 기능에 새로운 항목이 만들어집니다. 또한이 새로운 MSI를 제거하는 동안 새 파일이 롤백되지만 수정 된 파일은 롤백되지 않습니다.이 파일은 처음에는 첫 번째 MSI에서 생성되고 두 번째 MSI에서 수정되었습니다. 최소한 제거 중에 상태를 롤백하고 복원 할 수 있다면 좋을 것입니다. 그러나 수정 된 파일을 제대로 롤백하지 않습니다.이 시나리오를 접하게되는 사람이 있습니까? 그렇다면 패치없이 솔루션을 찾을 수 있었습니까? 도와주세요.WiX Patch에 대체
-1
A
답변
1
설치된 제품을 업데이트하는 세 가지 방법으로 패치, 주요 업그레이드 및 부 업그레이드가 있습니다. 기존 제품의 일부 파일을 대체하는 새로운 MSI를 만들 수 있지만 실제로 수행하는 작업은 Microsoft Dll (예 :)이 여러 제품간에 공유되는 것과 같은 방식으로 파일을 공유하는 것입니다. (동일한 구성 요소 ID를 사용하고 올바르게 공유하지 않으면 제품을 업데이트하는 대신 해체 할 가능성이 더 높습니다.)이 때문에 파일 보존 동작이 표시됩니다.
패치에 "관심이없는 다른 변경 사항이 포함되어 있습니다"라는 생각이 포함되어서는 안됩니다. 변경 사항 만 포함되도록 패치를 작성하십시오. 패치를 만들 때 MSI 파일에 넣을 경우에만 다른 변경 사항이 포함됩니다.
패치 중에 파일을 추가하는 것은 몇 가지 규칙이 포함되어있어 까다로울 수 있습니다. 가장 안전한 방법은 새 파일을 추가 할 때 중요한 업그레이드입니다.
는 그래서 choces은 다음과 같습니다
에만 필요한 업데이트가 포함 된 패치.
주요 업그레이드는 제품을 업그레이드하는 완전히 새로운 MSI 파일입니다.
다시 같은 제품 코드와 완전히 새로운 MSI 파일 인 부분 업데이트, 증가 버전, 사소한 핫픽스 변경, REINSTALL = ALL REINSTALLMODE = vomus 여기서를 포함하는 특별한 명령 줄 설치
필요한 변경 사항 만 포함하도록 패치를 만들 수 있습니다.
패치를 피한 이유는 * 자신이 말하는 것처럼 이상적인 유스 케이스로 보입니다. 특정 기술 제약이있는 경우, * 그들이 무엇인지 아는 것이 부적절한 것으로 밝혀진 다른 제안을 피하는 데 도움이됩니다. –
고객이이 방법을 원하고 이유가 있습니다. 패치에는 관심이없는 다른 변경 사항이 포함될 수도 있습니다. – Ven
... 그러면 클라이언트가 원하는 변경 사항 만있는 패치를 만듭니다. –