Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product version

2012-01-12 Thread Peter Shirtcliffe
Can you verify this by producing a minimum test case ? Create an MSI with
just 1 text file and an upgrade and a patch from that. It might help you
narrow down what's going wrong. 
The .wixmst produced by torch is an xml file containing all the changes
between the two inputs, even if they are not referenced by the patch wxs
file. It might be worth looking through it for your text file name. It should
be in there.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz] 
Sent: 12 January 2012 09:34
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product
version

When examining the files with an administrative install, the files in the two
.msi files are definitely different.
When I change the file size of the text file, the file is included in the
patch.  But if the file size is the same as the file size of the original
file, it isn't included into the patch.

As far as I can see now, torch.exe does the following:
1. If a file has a version (.exe, .dll), that version is checked to determine
if the file has changed.
2. If a file has no version, it is simply checked if the file size has
changed. If the size is unchanged, the file is considered as unchanged.

This appears to me to be a bug in torch.exe.
I would try to find and fix this bug in torch.exe now as I really need to
reliably create patches.

Besides this, I think that in Wix 3.6 Beta, the patch creation is broken
(torch.exe or pyro.exe). When I apply the 3.6 toolset to the same files which
successfully created a patch file with WIX 3.5, I get an warning about an
empty cabinet.

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] 
Gesendet: Mittwoch, 11. Januar 2012 13:13
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product
version

It all looks reasonable. I'd probably go back and examine the text file in
the 2 MSIs that you're building the patch from. It could be a build problem.
Do an administrative install of both MSIs and the version of the text file
from each admin install.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 11 January 2012 11:29
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product
version

I think that the patch doesn't include this text file. At least ORCA shows
only the file Szenariorechner.exe to be changed by the patch. The file
Version.txt is marked as unchanged.

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Gesendet: Mittwoch, 11. Januar 2012 12:21
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product
version

I'd generate a verbose log while installing the patch to try and work out why
the text file is not updated.
 
The product version is just a property like any other and often seems not to
be mentioned specially. That confused me when I wrote my first patch.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 11 January 2012 11:00
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product
version

Thank you, this helps me a huge step forward.

Referencing the ProductVersion changes the version as desired.  Is this
written in any documentation/book and I have overlooked it?
And I didn't know about the View Patch feature in Orca. This makes life a
lot easier!

My patch family now looks like this:
PatchFamily Id='pfSzenariorechner' Version='1.2.7.0' Supersede='yes'
  ComponentRef Id=Szenariorechner /
  PropertyRef Id=ProductVersion/
  ComponentRef Id=VersionFile /
/PatchFamily

However, the text file with the version  string is still not replaced. This
is a separate component, in the same component group as the managed assembly
and both are in the same fragment. I read that it should be enough to
reference one component in each fragment to trigger the inclusion of all
components in that fragment.
Nevertheless, even referencing it explicitly doesn't help.

Below, you see the definition of the mentioned fragment:

  Fragment
ComponentGroup Id=Szenariorechner
  Component Id=Szenariorechner
Guid=c447f464-15ac-4dc3-8456-623197bd6a71 Directory=INSTALLFOLDER
File Id=Szenariorechner.exe
Name=$(var.Szenariorechner.TargetFileName) Vital='yes' Checksum='yes'
AssemblyApplication='Szenariorechner.exe'
  Source=$(var.Szenariorechner.TargetPath) DiskId=1
Assembly='.net' KeyPath=yes
  netfx:NativeImage Id=ngen.Szenariorechner Platform=all
Priority=1 AppBaseDirectory=INSTALLFOLDER/
/File
File Id=Szenariorechner.exe.config
Name=$(var.Szenariorechner.TargetFileName).config Vital='yes'
Source

Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product version

2012-01-12 Thread Ulrich Proeller
Examining the .wixmst confirms my suspicion: If the file size has changed, the 
file is marked as modified in the .wixmst, else the file has no such markup.

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Gesendet: Donnerstag, 12. Januar 2012 10:51
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product 
version

Can you verify this by producing a minimum test case ? Create an MSI with just 
1 text file and an upgrade and a patch from that. It might help you narrow down 
what's going wrong.
The .wixmst produced by torch is an xml file containing all the changes between 
the two inputs, even if they are not referenced by the patch wxs file. It might 
be worth looking through it for your text file name. It should be in there.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 12 January 2012 09:34
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product 
version

When examining the files with an administrative install, the files in the two 
.msi files are definitely different.
When I change the file size of the text file, the file is included in the 
patch.  But if the file size is the same as the file size of the original file, 
it isn't included into the patch.

As far as I can see now, torch.exe does the following:
1. If a file has a version (.exe, .dll), that version is checked to determine 
if the file has changed.
2. If a file has no version, it is simply checked if the file size has changed. 
If the size is unchanged, the file is considered as unchanged.

This appears to me to be a bug in torch.exe.
I would try to find and fix this bug in torch.exe now as I really need to 
reliably create patches.

Besides this, I think that in Wix 3.6 Beta, the patch creation is broken 
(torch.exe or pyro.exe). When I apply the 3.6 toolset to the same files which 
successfully created a patch file with WIX 3.5, I get an warning about an empty 
cabinet.

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Gesendet: Mittwoch, 11. Januar 2012 13:13
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product 
version

It all looks reasonable. I'd probably go back and examine the text file in the 
2 MSIs that you're building the patch from. It could be a build problem.
Do an administrative install of both MSIs and the version of the text file from 
each admin install.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 11 January 2012 11:29
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product 
version

I think that the patch doesn't include this text file. At least ORCA shows only 
the file Szenariorechner.exe to be changed by the patch. The file 
Version.txt is marked as unchanged.

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Gesendet: Mittwoch, 11. Januar 2012 12:21
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product 
version

I'd generate a verbose log while installing the patch to try and work out why 
the text file is not updated.

The product version is just a property like any other and often seems not to be 
mentioned specially. That confused me when I wrote my first patch.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 11 January 2012 11:00
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product 
version

Thank you, this helps me a huge step forward.

Referencing the ProductVersion changes the version as desired.  Is this written 
in any documentation/book and I have overlooked it?
And I didn't know about the View Patch feature in Orca. This makes life a lot 
easier!

My patch family now looks like this:
PatchFamily Id='pfSzenariorechner' Version='1.2.7.0' Supersede='yes'
  ComponentRef Id=Szenariorechner /
  PropertyRef Id=ProductVersion/
  ComponentRef Id=VersionFile /
/PatchFamily

However, the text file with the version  string is still not replaced. This is 
a separate component, in the same component group as the managed assembly and 
both are in the same fragment. I read that it should be enough to reference one 
component in each fragment to trigger the inclusion of all components in that 
fragment.
Nevertheless, even referencing it explicitly doesn't help.

Below, you see the definition of the mentioned fragment:

  Fragment
ComponentGroup Id=Szenariorechner
  Component Id=Szenariorechner
Guid=c447f464-15ac-4dc3-8456-623197bd6a71 Directory=INSTALLFOLDER
File Id=Szenariorechner.exe
Name

Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product version

2012-01-11 Thread Peter Shirtcliffe
I'd generate a verbose log while installing the patch to try and work out why
the text file is not updated.
 
The product version is just a property like any other and often seems not to
be mentioned specially. That confused me when I wrote my first patch.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz] 
Sent: 11 January 2012 11:00
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increasethe product
version

Thank you, this helps me a huge step forward.

Referencing the ProductVersion changes the version as desired.  Is this
written in any documentation/book and I have overlooked it?
And I didn't know about the View Patch feature in Orca. This makes life a
lot easier!

My patch family now looks like this:
PatchFamily Id='pfSzenariorechner' Version='1.2.7.0' Supersede='yes'
  ComponentRef Id=Szenariorechner /
  PropertyRef Id=ProductVersion/
  ComponentRef Id=VersionFile /
/PatchFamily

However, the text file with the version  string is still not replaced. This
is a separate component, in the same component group as the managed assembly
and both are in the same fragment. I read that it should be enough to
reference one component in each fragment to trigger the inclusion of all
components in that fragment.
Nevertheless, even referencing it explicitly doesn't help.

Below, you see the definition of the mentioned fragment:

  Fragment
ComponentGroup Id=Szenariorechner
  Component Id=Szenariorechner
Guid=c447f464-15ac-4dc3-8456-623197bd6a71 Directory=INSTALLFOLDER
File Id=Szenariorechner.exe
Name=$(var.Szenariorechner.TargetFileName) Vital='yes' Checksum='yes'
AssemblyApplication='Szenariorechner.exe'
  Source=$(var.Szenariorechner.TargetPath) DiskId=1
Assembly='.net' KeyPath=yes
  netfx:NativeImage Id=ngen.Szenariorechner Platform=all
Priority=1 AppBaseDirectory=INSTALLFOLDER/
/File
File Id=Szenariorechner.exe.config
Name=$(var.Szenariorechner.TargetFileName).config Vital='yes'
Source=$(var.Szenariorechner.TargetPath).config DiskId=1 /
File Id='Szenariorechner.ico' Name='Szenariorechner.ico' Vital='yes'
Source='$(var.Szenariorechner.ProjectDir)Resources\favicon.ico' DiskId='1' /
  /Component
  Component Id='VersionFile' Guid='037d742c-583f-414b-acad-f99907a4b7d1'
Directory=INSTALLFOLDER
File Id=FILE_Version
Source=$(var.Szenariorechner.TargetDir)Version.txt KeyPath=yes /
  /Component
/ComponentGroup

ComponentGroup Id='Shortcuts' 
.
/ComponentGroup

ComponentGroup Id=Telerik

/ComponentGroup

ComponentGroup Id=Misc
..
/ComponentGroup
  /Fragment

-Ursprüngliche Nachricht-
Von: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] 
Gesendet: Mittwoch, 11. Januar 2012 11:23
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product
version

Add a propertyref to the ProductVersion property. If your text file is in a
separate component from the exe then add a componentref to that too.
Orca will only show 2 tables because the rest of the changes are in 2
transforms embedded in the patch. Use the View Patch menu item in Orca after
loading the base MSI to get a better idea of what it changes.

-Original Message-
From: Ulrich Proeller [mailto:ulr...@prosa.biz]
Sent: 11 January 2012 08:00
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product
version

Orca just shows only 2 tables in the patch file: MsiPatchMetadata and
MsiPatchSequence. Therefore I wonder why the patch is doing anything.

Here are the steps to create the patch:
c:\Program Files (x86)\Windows Installer XML v3.5\bin\candle.exe patch.wxs
c:\Program Files (x86)\Windows Installer XML v3.5\bin\light.exe
patch.wixobj
c:\Program Files (x86)\Windows Installer XML v3.5\bin\torch.exe -p -xi
..\Releases\V126\SzenariorechnerSetup.wixpdb
..\Releases\V127\SzenariorechnerSetup.wixpdb -out patch.wixmst c:\Program
Files (x86)\Windows Installer XML v3.5\bin\pyro.exe patch.wixmsp -out
patch.msp -t RTM patch.wixmst -sf

The switch -sf in the pyro command was added the get rid of a duplicate key
error.

-Ursprüngliche Nachricht-
Von: Rob Mensching [mailto:r...@robmensching.com]
Gesendet: Mittwoch, 11. Januar 2012 07:08
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Applying a patch (.msp) doesn't increase the product
version

First, you can use Orca to see what the patch is modifying. After that, I
epxect the WiX v3.6 warnings were that it didn't find anything updated.
Maybe post the set of steps you followed to build the patch?

On Tue, Jan 10, 2012 at 11:01 AM, Ulrich Proeller ulr...@prosa.biz wrote:

 Hi All,

 I am trying to create a patch (minor