2012-07-02 66 views
1

我试图使用包含2个C#项目(可执行文件和库)的this example,使用WiX 3.6创建补丁。但我发现了这个错误:错误PYRO0227尝试创建WiX补丁时

warning PYRO1079 : The cabinet 'RMT.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. 
error PYRO0227 : The transform being built did not contain any differences so it could not be created. 

执行的命令:

set w="c:\Program Files (x86)\WiX Toolset v3.6\bin\" 

%w%torch.exe -p -xi 1.0.0.0\PatchMe.Installer.wixpdb 1.1.1.1\PatchMe.Installer.wixpdb -out Patch\Diff.wixmst 
%w%candle.exe Patch.wxs 
%w%light.exe Patch.wixobj -out Patch\Patch.WixMsp 
%w%pyro.exe Patch\Patch.WixMsp -out Patch\Patch.msp -t RTM Patch\Diff.wixmst 

目录“1.0.0.0”和“1.1.1.1”包含两个不同的版本相同的项目(改变的AssemblyVersion的输出和一些代码更改)。 Patch.wxs文件:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <?include Variables.wxi ?> 
    <Patch AllowRemoval="yes" 
     Manufacturer="$(var.Manufacturer)" 
     DisplayName="$(var.ProductName) $(var.ProductVersion)" 
     Description="Small Update Patch" 
     Classification="Update" 
     TargetProductName="$(var.ProductName)" 
     > 

     <Media Id="5000" Cabinet="RMT.cab"> 
      <PatchBaseline Id="RTM"> 
      </PatchBaseline> 
     </Media> 

     <PatchFamilyRef Id="SamplePatchFamily"/> 
    </Patch> 

    <Fragment> 
     <PatchFamily Id="SamplePatchFamily" Version="$(var.ProductVersion)" Supersede="yes"> 
      <ComponentRef Id="cmp981D9885AA29DD578D66D32ED919EBFB"/> 
      <ComponentRef Id="cmpD5E6EA59DB565F052E0217CB3248DAE5"/> 
     </PatchFamily> 
    </Fragment> 
</Wix> 

ComponentRef标识的指成分片段由前面提到的项目heat​​.exe丰收创造。

任何想法,什么可能是一个问题,为什么变换不包含任何更改?

+0

这可能适用于您的情况: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/WIX-users-Patch-in-Wix-3-6-is-empty -warning-PYRO1079-the-cabinet-cab-does-not-contain-any-files-td7335788.html and http://sourceforge.net/p/wix/bugs/3244/ – FanerYedermann

回答

1

我认为这可能是3.6中的一个错误。我尝试了几个小时才得到这个版本的3.6.3303.1,但我总是得到PYRO1079错误。我终于降级到版本3.5.2519.0,并且错误没有再次发生。

降级后,我不得不放弃我的MediaTemplate节点和ComponentGroup节点的Directory属性。我不知道这是否是解决方案的一部分(即,这可能解决了问题而不是降级问题)。