[wix-users] Obfuscation and patching.

Orzyszek Andreas Andreas.Orzyszek at dentsplysirona.com
Fri Jan 27 04:30:52 PST 2017

That's something I can help with :-)
Give something back is always nice.

You just add a ComponentRef in the patchfamily

        <PatchFamily Id="450PatchFamily" Version="" Supersede='yes'>
            <ComponentRef Id="Blocks.dat"/>

The component with this id must exist in the pdb or msi of your new version.
Then the patch will include this file.

-----Ursprüngliche Nachricht-----
Von: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] Im Auftrag von Steve De George
Gesendet: Freitag, 27. Januar 2017 13:07
An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Betreff: Re: [wix-users] Obfuscation and patching.

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/

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

Sirona Dental Systems GmbH • HRB 24948 •
Vorsitzender des Aufsichtsrats: Dr. Erich Blum •
Sirona Dental Services GmbH • HRB 25817 •
Geschaeftsfuehrung: Rainer Berthan • Michael Geil •
Sitz der Gesellschaften: Bensheim • Registergericht: AG Darmstadt •
Diese E-Mail ist ausschliesslich fuer den angesprochenen Adressaten
bestimmt und kann vertrauliche Informationen beinhalten.
This e-mail is intended only for the designated recipient(s). It may
contain confidential or proprietary information.

More information about the wix-users mailing list