Hello again everyone,

Ok, so I've finally managed to get a patch generated.  Good for me, I get a 
gold star :)

Now I have a few questions

1)      It looks as through using FeatureRef in my PatchFamily doesn't work.  
The result is an empty CAB  file and a pyro.exe error PYRO0227

2)      If I specify *nothing* in my PatchFamily and try and let wix find what 
has changed automatically, it appears to completely ignore the work
that I have done via melt.exe and torch.exe to generate the .wixmst file with 
the updated "proper" paths to my source files (MSIs generated on different 
machine than patches will be, cluster of Jenkins servers doing work, etc.)

3)      If I specify the ComponentRef that is inherited by the same Feature via 
a dependency on a componentgroup then the patch is built successfully

Here is my dependency graph for the feature to the component

Feater1-->ComponentGroup1-->ComponentGroup2-->ComponentGroup3-->Component

The reason for the depth is because componentgroup2 is used my multiple 
products but that is beyond the scope of this issue (I hope)

Any pointers would be fantastic.

Here is my batch file:
melt.exe "RTM1.0.msi" -pdb "RTM1.0.wixpdb" -out ".\RTM.wixpdb" -x .\RTMBinaries
melt.exe "new1.1.msi" -pdb "new1.1.wixpdb" -out ".\Latest.wixpdb" -x 
.\LatestBinaries

del patch.wixmst
torch -p -xi .\RTM.wixpdb .\Latest.wixpdb -out patch.wixmst

:compile
del patch.wixmsp
light Family_CAS.wixobj -out patch.wixmsp

pyro patch.wixmsp -out Patch.CAS.msp -t RTM patch.wixmst

Here is my Family_CAS.wxs file.  It is in a wixlib project that compiles the 
wixobj and sticks it in the obj/x64/Release folder under the wixproj.  Using 
that to compile as part of my msbuild call earlier.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
  <?include "$(var.SolutionDir)/Variables.wxi"?>

  <?define FamilyName="CAS"?>

  <Patch AllowRemoval="yes" Manufacturer="$(var.EQManufacturer)" 
MoreInfoURL="http://www.nuance.com/for-business/by-product/equitrac/index.htm"; 
DisplayName="$(var.CompanyName) $(var.FamilyName) Patch" 
Classification="Update" Description="$(var.CompanyName) $(var.FamilyName) 
Patch">
    <Media Cabinet="RTM.cab" Id="5000">
      <PatchBaseline Id="RTM" />
    </Media>
    <PatchFamilyRef Id="$(var.FamilyName)"/>
  </Patch>

  <Fragment>
    <PatchFamily Id="$(var.FamilyName)" Version="$(var.VersionNumber)" 
Supersede="yes">

      <!-- Fails -->
      <!--<FeatureRef Id="CAS" />-->

      <!--Works-->
      <ComponentRef Id="EQ_Database_Upgrade_SQLServer"/>
    </PatchFamily>
  </Fragment>
</Wix>

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to