Файл патча WiX 3.6 XML - PullRequest
       16

Файл патча WiX 3.6 XML

0 голосов
/ 02 апреля 2012

Где я могу включить Обновление / Целевое изображение в следующий XML-код патча?Мне нужно включить элемент Validate ProductId, поэтому я не могу использовать свою предыдущую структуру XML.

<Patch AllowRemoval="yes"
    Classification="Update"
    Comments="Patch"
    Description="Patch"
    DisplayName="Patch"
    Manufacturer="..."
    MoreInfoURL="http://..."
    TargetProductName="Szenario Rechner"
    Codepage="1252">

    <Media Id="1000"
           Cabinet="Patch.cab"
           EmbedCab="yes"
           Source="Cab1" >
        <PatchBaseline Id="RTM">
            <Validate ProductId="no" />
        </PatchBaseline>
    </Media>
    <PatchFamily Id='pf1'
                 Version='1.2.7.0'
                 Supersede='yes'>

        <ComponentRef Id="Szenariorechner" />
    </PatchFamily>
</Patch>

Ниже приведен мой предыдущий патч XML.

<PatchCreation Id="224C316C-5894-4771-BABF-21A3AC1F75FF"
               CleanWorkingFolder="yes"
               WholeFilesOnly="yes">
    <PatchInformation Description="Patch 1.0.4475.23974"
                      Comments="Patch 1.0.4475.23974"
                      ShortNames="no"
                      Languages="1033"
                      Compressed="yes"
                      Manufacturer="..." />
    <PatchMetadata AllowRemoval="yes"
                   Description="Patch 1.0.4475.23974"
                   ManufacturerName="..."
                   TargetProductName="Update"
                   MoreInfoURL="http://"
                   Classification="Update"
                   DisplayName="Patch 1.0.4475.23974" />
    <Family DiskId="2"
            MediaSrcProp="Sample"
            Name="Update"
            SequenceStart="600">

        <UpgradeImage SourceFile="C:\new.msi"
                      Id="PatchUpgrade">
            <TargetImage SourceFile="C:\old.msi"
                         Order="2"
                         Id="PatchUpgrade"
                         IgnoreMissingFiles="no" />
        </UpgradeImage>
    </Family>
    <PatchSequence PatchFamily="SamplePatchFamily"
                   Sequence="1.0.4475.23974"
                   Supersede="yes" />
</PatchCreation>

1 Ответ

1 голос
/ 03 апреля 2012

Ваш старый патч относится к созданию патча с использованием свойств создания патча .Тот, кого вы называете новым , использует чисто WiX .Как вы можете видеть, пары UpgradeImage / TargetImage для более поздней не требуются.

Вместо этого вам следует напрямую создать элемент TargetProductCodes под корнем Patch и добавьте несколько элементов TargetProductCode в качестве его прямых дочерних элементов:

<TargetProductCodes>
   <TargetProductCode Id="PUT-PRODUCT-CODE-HERE" />
   <TargetProductCode Id="PUT-PRODUCT-CODE-HERE" />
   <TargetProductCode Id="PUT-PRODUCT-CODE-HERE" />
   ...
   <TargetProductCode Id="PUT-PRODUCT-CODE-HERE" />
</TargetProductCodes>

При создании патча вы загружаете torch.exe с помощьюбазовые и обновленные файлы MSI (или WIXPDB) для создания различий.Надеюсь, это полезно.Я предлагаю вам еще раз взглянуть на подход «чисто WiX», чтобы лучше понять его.

...