4 개의 MSI (버전 1.0.0 및 번들 버전 1.0.0)가있는 wix 번들이 있습니다. 저는 이것을 Windows 컴퓨터에 설치하고 ARP에서 WiX 번들을 1.0.0으로 봅니다.wix 번들 만 설치가 변경되었습니다. msi
이제 B와 같이 MSI 중 하나만 변경하고 번들 버전은 1.1.0으로 변경하고 변경된 MSI (B) 버전은 1.1.0으로 변경합니다. 나머지 MSI (A, C, D)는 여전히 1.0.0입니다.
이제 번들을 다시 실행하면 A, C 및 D의 설치가 건너 뛰고 B 만 업그레이드되고 번들 또한 ARP의 버전 1.1.0으로 업데이트됩니다. 하지만 내가 관찰 한 것은 모든 패키지 (A, B, C, D)에 대한 설치가 B가 아니라 자리를 대신 차지한다는 것입니다.
그래서 내 기대가 잘못 되었나요?
이것은 내 번들 코드
<Chain>
<MsiPackage Id=“A"
Cache="no”
Vital=“yes"
EnableFeatureSelection="no"
Permanent="no" Visible="no"
ForcePerMachine=“yes”
SourceFile = “<>”/>
<MsiPackage Id=“B"
Cache="no”
Vital=“yes"
EnableFeatureSelection="no"
Permanent="no" Visible="no"
ForcePerMachine=“yes”
SourceFile = “<>”/>
</Chain>
에있을 것입니다 그리고 이것은 내가 개별 MSI에 대한 내 WXS에있는 것입니다. MSI B에 대해서만 버전을 1.1.0로 변경하고 UpgradeCode도 동일하게 유지합니다.
<Product Id="*" UpgradeCode="<GUID which is same across installations>"
Version="1.0.0" />
<MajorUpgrade DowngradeErrorMessage="New version is present."
나는 많은 스레드를 보았다 그러나 일반적으로 그들은 모든 MSI의 업그레이드에 대한 그냥 1 MSI 이야기. 무언가가 명확하지 않은 경우 알려 주시고 사전에 귀하의 도움에 감사드립니다.
또한 Microsoft에서 Orca.exe를 사용하여 이미 해당 도구를 사용하고 있지 않은 경우 MSI를 검사 할 수 있습니다. –
또는 MSI 비교 기능이있는 instedit. –
@ArkadySitnitsky와 BrianSutherland의 의견에 감사드립니다. 나는 AllowSameVersionUpgrades를 yes와 no로 시도했지만 두 경우 모두 모든 MSI를 설치합니다. 내가 원하는 것은 설치 프로그램이 버전이 동일 할 경우 모듈을 건너 뛰고 버전이 클 경우에만 설치하지만 이것이 일어나지 않는 것입니다. – randomuser15995183