[wix-users] Patch Building Question

Matt matt at configurationnation.com
Thu Jun 30 06:48:52 PDT 2016


The sources are the same because at patch build time the source path are 
identical. I think this is a limitation with using torch as you have to 
duplicate sources. So here you need to identify the versions used for 
the RTM and move them to a versioned folder:

You need to use something like: -

4.5.0.2:
Source="D:\PlasticWorkspaces\Installer\Sources\4.5.0.2\PatchPackages\CEREC\Blocks.dat"
4.5.0.1:
Source="D:\PlasticWorkspaces\Installer\Sources\4.5.0.2\PatchPackages\CEREC\Blocks.dat"

Or better to use your 'vanilla' source tree for the latest buld target, after releasing it branch it to a versioned version as per RTM and then re-use vanilla sources for 4.5.0.3 (repeat as needed). Having to edit lots of sources paths is a pain so best have the source path parameterised like:
Source="D:\PlasticWorkspaces\Installer\Sources\$(var.src_version)\PatchPackages\CEREC\Blocks.dat"
and maintain the var in the patch.wxs's

If I could bike Shed for a moment, this is a decent feature request for Torch/WiX source paths: wouldn't it be nice to be able to specify source control versions in source paths so we wouldn't have to duplicate the source trees? So for example in perforce:
Source="D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Blocks.dat#1" would fetch version one to use. or Blocks.dat at labelname the file in the label. Then all the user needs to do it label 
his releases. Obviously there's a lot of different SVC systems out there, but as long as it's got perforce,GIT,SVN and TFS it'll cover most users.

Don't know if this has been suggested before?

On 30/06/2016 13:48, Orzyszek Andreas wrote:
> Yes the file is unversioned.
> But then the timestamps of the file should be used. This would be the same way the windows installer decides when to replace a file if no versioninfo is present.
>
> I am sure I can create a workaround for solving this in my case but I still believe this is a bug.
>
> -----Ursprüngliche Nachricht-----
> Von: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] Im Auftrag von John Cooper
> Gesendet: Donnerstag, 30. Juni 2016 14:38
> An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Betreff: Re: [wix-users] Patch Building Question
>
> Are the files you are patching unversioned?  If so, the wixpdb is not likely to contain any information that would generate a difference.  If you are patching unversioned files, you may need to use a technique that compares files directly.
>
> --
> John Merryweather Cooper
> Senior Software Engineer | Integration Development Group | Enterprise Notification Service Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |JoCooper at jackhenry.com
>
>
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Orzyszek Andreas
> Sent: Thursday, June 30, 2016 1:26 AM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] Patch Building Question
>
> The e-mail below is from an external source.  Please do not open attachments or click links from an unknown or suspicious origin.
>
> I just tested it again but this time using a textfile instead of my .dat file.
> Just to be sure that it is not the file that causes this error.
>
> But the result stays exactly the same.
>
> Think this could be a bug with the torch tool.
>
> I don't know how to start debugging this but if I should test something else I will do this asap.
>
>
> -----Ursprüngliche Nachricht-----
> Von: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] Im Auftrag von Orzyszek Andreas
> Gesendet: Donnerstag, 30. Juni 2016 07:33
> An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Betreff: Re: [wix-users] Patch Building Question
>
> It is not the version part.
> I just tried it with 4.5.0 and 4.5.1 but getting the same error.
>
> I have to change the source path of the file between version 1 and version 2. Then it works but this doesn't seem right to me.
> It should be possible to only update the file without changing the source path.
>
> Maybe some other ideas?
>
> -----Ursprüngliche Nachricht-----
> Von: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] Im Auftrag von Stephen Tunney
> Gesendet: Mittwoch, 29. Juni 2016 16:16
> An: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Betreff: Re: [wix-users] Patch Building Question
>
> You cannot use the 4th value in the Version quartet.  Bump the version from
> 4.5.0.1 to 4.5.1 and see what you get.
>
> On Wed, 29 Jun 2016 at 09:48 Orzyszek Andreas < Andreas.Orzyszek at dentsplysirona.com> wrote:
>
>> Hi,
>>
>> I am getting strange results when trying to build a patch.
>>
>> The example on the website is not precise about the version and
>> product ids.
>> I used this source to build the patch:
>>
>> Product.wxs Version 1.0:
>> <?xml version="1.0" encoding="UTF-8"?> <Wix
>> xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>      <Product Id="{0E3DB235-1AB4-445C-9DF7-9E21B953CDBB}"
>>          Name="WiX Patch Example Product"
>>          Language="1033"
>>          Version="4.5.0.1"
>>          Manufacturer="Dynamo Corporation"
>>          UpgradeCode="{8A42A449-994E-407E-91D6-450BBFF57134}">
>>          <Package Description="Installs a file that will be patched."
>>              Comments="This Product does not install any executables"
>>              InstallerVersion="500"
>>              Compressed="yes" />
>>
>>          <MajorUpgrade AllowSameVersionUpgrades="yes" AllowDowngrades="no"
>> Schedule="afterInstallValidate" DowngradeErrorMessage="A newer version
>> of [ProductName] is already installed."/>
>>
>>          <MediaTemplate CabinetTemplate="cer{0}.cab"
>> CompressionLevel="medium" EmbedCab="yes"
>> MaximumUncompressedMediaSize="1000"/>
>>
>>        <FeatureRef Id="SampleProductFeature"/>
>>      </Product>
>>      <Fragment>
>>          <Feature Id="SampleProductFeature" Title="Sample Product Feature"
>> Level="1">
>>              <ComponentRef Id="Blocks.dat" />
>>          </Feature>
>>      </Fragment>
>>      <Fragment>
>>          <DirectoryRef Id="SampleProductFolder">
>>              <Component Id="Blocks.dat">
>>                  <File Id="Blocks.dat" Name="Blocks.dat"
>> Source="D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Blocks.dat"
>> />
>>              </Component>
>>          </DirectoryRef>
>>      </Fragment>
>>      <Fragment>
>>          <Directory Id="TARGETDIR" Name="SourceDir">
>>              <Directory Id="ProgramFilesFolder" Name="PFiles">
>>                  <Directory Id="SampleProductFolder" Name="Patch Sample
>> Directory">
>>                  </Directory>
>>              </Directory>
>>          </Directory>
>>      </Fragment>
>> </Wix>
>>
>>
>> Product.wxs Version 1.1:
>> <?xml version="1.0" encoding="UTF-8"?> <Wix
>> xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>      <Product Id="{B53C2397-0841-4208-9EC9-0C47EB4A0B6D}"
>>          Name="WiX Patch Example Product"
>>          Language="1033"
>>          Version="4.5.0.2"
>>          Manufacturer="Dynamo Corporation"
>>          UpgradeCode="{8A42A449-994E-407E-91D6-450BBFF57134}">
>>          <Package Description="Installs a file that will be patched."
>>              Comments="This Product does not install any executables"
>>              InstallerVersion="500"
>>              Compressed="yes" />
>>
>>          <MajorUpgrade AllowSameVersionUpgrades="yes" AllowDowngrades="no"
>> Schedule="afterInstallValidate" DowngradeErrorMessage="A newer version
>> of [ProductName] is already installed."/>
>>
>>          <MediaTemplate CabinetTemplate="cer{0}.cab"
>> CompressionLevel="medium" EmbedCab="yes"
>> MaximumUncompressedMediaSize="1000"/>
>>
>>        <FeatureRef Id="SampleProductFeature"/>
>>      </Product>
>>      <Fragment>
>>          <Feature Id="SampleProductFeature" Title="Sample Product Feature"
>> Level="1">
>>              <ComponentRef Id="Blocks.dat" />
>>          </Feature>
>>      </Fragment>
>>      <Fragment>
>>          <DirectoryRef Id="SampleProductFolder">
>>              <Component Id="Blocks.dat">
>>                  <File Id="Blocks.dat" Name="Blocks.dat"
>> Source="D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Blocks.dat"
>> />
>>              </Component>
>>          </DirectoryRef>
>>      </Fragment>
>>      <Fragment>
>>          <Directory Id="TARGETDIR" Name="SourceDir">
>>              <Directory Id="ProgramFilesFolder" Name="PFiles">
>>                  <Directory Id="SampleProductFolder" Name="Patch Sample
>> Directory">
>>                  </Directory>
>>              </Directory>
>>          </Directory>
>>      </Fragment>
>> </Wix>
>>
>> As you can see I changed the productcode and the productversion.
>> I also changed the only file between building Version 1.0 and Version 1.1.
>> I’m not sure if the toolset was able to detect the change in the
>> sourcefile. But the creation time of the file for version 1.1 is newer
>> then the one for version 1.0.
>> Maybe this is the cause of the problem.
>>
>> Patch.wxs:
>> <?xml version="1.0" encoding="UTF-8"?> <Wix
>> xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>      <Patch
>>          AllowRemoval="yes"
>>          Manufacturer="Sirona Dental Systems GmbH"
>>          DisplayName="Materialpack"
>>          Description="Materialpack"
>>          Classification="Service Pack" >
>>          <Media Id="5000" Cabinet="rtm.cab">
>>              <PatchBaseline Id="RTM"/>
>>          </Media>
>>          <PatchFamilyRef Id="RTMPatchFamily"/>
>>      </Patch>
>>      <Fragment>
>>          <PatchFamily Id="RTMPatchFamily" Version="1.0.0.0">
>>              <ComponentRef Id="Blocks.dat"/>
>>          </PatchFamily>
>>      </Fragment>
>> </Wix>
>>
>> I then try to build the patch
>>
>> 1.       D:\PlasticWorkspaces\Installer\Tools\WIX\310\torch.exe -p -xi
>> 1.0\product10.wixpdb 1.1\product11.wixpdb -out diff.wixmst
>>
>> 2.       D:\PlasticWorkspaces\Installer\Tools\WIX\310\candle.exe patch.wxs
>>
>> 3.       D:\PlasticWorkspaces\Installer\Tools\WIX\310\light.exe
>> patch.wixobj -out patch.wixmsp
>>
>> 4.       D:\PlasticWorkspaces\Installer\Tools\WIX\310\pyro.exe
>> patch.wixmsp -out patch.msp -t RTM diff.wixmst
>>
>> But pyro creates this error:
>> D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Patch.wxs(10) :
>> warning PYRO1079 : The cabinet 'rtm.cab' does not contain any files.
>> If this patch contains no files, this warning can likely be safely ignored.
>> Otherwise, try passing -p to torch.exe when first building the
>> transforms, or add a ComponentRef to your PatchFamily authoring to
>> pull changed files into the cabinet.
>> D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\diff.wixmst :
>> error PYRO0227 : The transform being built did not contain any
>> differences so it could not be created.
>>
>> If I put the file inside the version 1.0 and version 1.1 folders it
>> seems to work.
>>
>> Maybe someone has seen this before or can explain to me why this can’t
>> work.
>>
>> Is it possible to create a patch without changing the product id
>> and/or productversion?
>>
>> Thanks
>>
>> Andreas
>>
>>
>>
>>
>> ----------------------------------------------------------------------
>> -------------------------------------
>> Sirona Dental Systems GmbH • HRB 24948 • Vorsitzender des
>> Aufsichtsrats: Dr. Erich Blum • Sirona Dental Services GmbH • HRB
>> 25817 •
>> Geschäftsführung: 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.
>>
>> ----------------------------------------------------------------------
>> --------------------------------------
>>
>> ____________________________________________________________________
>> 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.
> ------------------------------------------------------------------------------------------------------------
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
>
>
> This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged. If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited. If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter. Any views expressed in this message are those of the individual sender, except where the sender specifies and with authority, states them to be the views of DENTSPLY SIRONA.
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
> NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information.
> Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies.
>
> ____________________________________________________________________
> 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