[wix-users] Patch Building Question

Orzyszek Andreas Andreas.Orzyszek at dentsplysirona.com
Thu Jun 30 22:40:10 PDT 2016


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/



More information about the wix-users mailing list