[wix-users] How do you patch files that is gathered by heat.exe?

Tyler Gustafson tgustafson at solacom.com
Wed Sep 21 05:32:47 PDT 2016


I don't think you use heat to create patches, instead you use previously authored installers. I am pulling them apart using an administrative install. Apparently there is a way to not have to do that and just use one of the pre-compile things from those installers but I couldn't get that to work as it was always looking in the wrong spot for the artifacts. This is my quick and dirty code but there are lots of tutorials online. If you don't specify any component refs it just assumes you want to use everything and the torch.exe figures out what differences to actually include.

I have a patch.wxs that looks like this:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Patch AllowRemoval="yes" Manufacturer="Acme Corp" MoreInfoURL="http://www.dynamocorp.com/" DisplayName="Sample Patch" Description="Small Update Patch" Classification="Update" MinorUpdateTargetRTM="yes">
    <Media Id="5000" Cabinet="Patch.cab">
      <PatchBaseline Id="Patch" />
    </Media>
    <PatchFamilyRef Id="SamplePatchFamily" />
    <PatchFamily Id="SamplePatchFamily" Version="1.1.0.0000" Supersede="yes">
      <!--<ComponentRef Id=MainExecutable/>-->
    </PatchFamily>
  </Patch>
</Wix>

And then two .msi here
C:\1.0.0.0000\UpgradeScriptFiles.msi
C:\1.1.0.0000\UpgradeScriptFiles.msi

And then I run the following command lines to make a patch that will upgrade from 1.0 to 1.1

msiexec /a "C: \1.0.0.0000\UpgradeScriptFiles.msi" /qn /l*v "%temp%\admin_1.0.log" TARGETDIR="%~dp0\Admin\1.0.0.0000"
msiexec /a "C:\ 1.1.0.0000\UpgradeScriptFiles.msi" /qn /l*v "%temp%\admin_1.1.log" TARGETDIR="%~dp0\Admin\1.1.0.0000"

torch.exe -p -ax "Admin\Bin" -xo "Admin\1.0.0.0000\UpgradeScriptFiles.msi" "Admin\1.1.0.0000\UpgradeScriptFiles.msi" -out diff1.wixmst

candle.exe patch.wxs
light.exe Patch.wixobj

pyro.exe patch.wixmsp -ext WixUIExtension -delta -v -out patch.msp -t Patch diff1.wixmst

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Shintaro Takechi
Sent: September-20-16 5:12 PM
To: WiX Toolset Users Mailing List
Subject: [wix-users] How do you patch files that is gathered by heat.exe?

Hi all,

I am trying to make a patch for my product. I gather all of my built files using the heat.
>From what I gathered patching is done via specifying ComponentRefs in the PatchFamily.
However, that is not realistic as it takes extremely long time to track the change one by one.
Is there any way to find the difference between the previous built and gather just those files in the patch installer?

Thank you

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
--
Scanned by Total Defense Email Cloud Security http://cloud.totaldefense.com




More information about the wix-users mailing list