[wix-users] Patch Building Question

Phil Wilson phil.wilson at mvps.org
Sat Jul 2 09:32:46 PDT 2016


I suspect there may be a file hashing option somewhere when you do the
builds. If you didn't use file hashing in the original build maybe that's
not an option. 
Phil W  

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Orzyszek Andreas
Sent: Thursday, June 30, 2016 10:40 PM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Patch Building Question

Thanks for the feedback Phil.

But I don't understand how file hashing can help with this.
As far as I understand it, this means candle or light have to create a file
hash of the source file if there is no version info present.
I didn't look at the sourcecode for these tools. A look inside the wixpdb
files created for version 1.0 and version 1.1 can help me here I think. Is
there an option to output these pdbs in a more human readable format?

I'll try to setup a dev vm for wix but this takes time I don't have at the
moment.

Searching the issue tracker this problem, I found it was reported back in
2012 and is still open.
Does this mean it is hard to fix or just that no one has time to do it?

-----Ursprüngliche Nachricht-----
Von: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] Im Auftrag
von Phil Wilson
Gesendet: Donnerstag, 30. Juni 2016 19:26
An: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Betreff: Re: [wix-users] Patch Building Question

File timestamps are not used that way in Windows Installer, so creating a
difference based on static timestamps in files would be pointless.  

When a data file is installed the Windows Installer changes the creation
date to be the same as its modified date. If the file is modified then its
modified date will be a later time. An incoming file will not replace that
file if the modified date is later, and the timestamps of the incoming data
file have no relevance. 

File hashing is used for data files, and maybe that's an option in your
case, but the right thing to do is version your binaries. It just works. 

Phil W 

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Orzyszek Andreas
Sent: Thursday, June 30, 2016 5:48 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Patch Building Question

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.da
t"
> />
>             </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.da
t"
> />
>             </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/



____________________________________________________________________
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