[wix-users] Obfuscation and patching.

Steve De George stevedegeorge at pivotalz.com
Fri Jan 27 04:06:51 PST 2017

Our build system (Team City) recompile everything on the build.

I figure that I need to supply a baseline build (say 6.14.0)  and then create patches against that. I can compare file versions from the new build to the old build and see what files have changed.

But how do I tell the patchfamily what to include or exclude? My patch file looks like this at the moment?

<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>

   <?define Manufacturer="My Software, Inc."?>
   <?define ProductVersion=""?>

  <Patch AllowRemoval="yes" Manufacturer="$(var.Manufacturer)" MoreInfoURL="www.nextgensoftware.com"
    DisplayName="Test Patch" Description="Small Update Patch" Classification="Update">

    <Media Id='5000' Cabinet='RTM.cab'>
      <PatchBaseline Id='RTM'/>

    <PatchFamilyRef Id="PatchFamily15"/>

    <PatchFamily Id='PatchFamily15' Version='' Supersede='yes'>


Just want to say thanks to everyone here.

Steve De George - Pivotal Z / NextGen Software, Inc.
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Tyler Gustafson <tgustafson at solacom.com>
Sent: Wednesday, January 25, 2017 7:36:35 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Obfuscation and patching.

Maybe I'm doing it wrong but we have automatically rolling build numbers on our assemblies and I didn't want to fuss with manually using the PatchFamily stuff and risk missing something I should have actually included. As a result I include everything in a patch but a lot of the files are only different by build number. I found that if I create delta patches, that build number change is very insignificant to the patch file size and so I don't mind having a delta for each of my assemblies included in the patch.

This strategy saves on human error, allows automation, and shows all of the assemblies as updated on the end user's system after applying the patch. It may not be appropriate in your scenario with obfuscation though, unless the obfuscation only changes the file when there has been an actual code change.

Small deltas good, big deltas may as well have been an MSI.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of robert_yang at agilent.com
Sent: January-25-17 9:56 AM
To: wix-users at lists.wixtoolset.org
Subject: Re: [wix-users] Obfuscation and patching.

"I've never worked with them but if the dlls and exes have a File Version property that you can control then I don't see any reason you wouldn't be able to patch them."

This.  Our products have multiple obfuscated DLL's, each with a version resource that is updated for every build.  So patching works just fine for us.  That said, because of the build version numbers we have to use a PatchFamily to specify which components we actually want in the patch.  This implies of course to make sure the product you are patching has just one assembly per component (plan for patching up front).


WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list