1

2 つの C# プロジェクト (実行可能ファイルとライブラリ) を含むこの例に従って、WiX 3.6 を使用してパッチを作成しようとしています。しかし、私はこのエラーが発生しています:

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" には、同じプロジェクトの 2 つの異なるバージョン (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 Id は、前述のプロジェクトの heat.exe ハーベストによって作成されたコンポーネント フラグメントを参照します。

何が問題になる可能性があり、なぜ変換に変更が含まれていないのですか?

4

1 に答える 1

1

これは 3.6 のバグかもしれないと思います。これをバージョン 3.6.3303.1 で動作させるために数時間試みましたが、常に PYRO1079 エラーが発生しました。最終的にバージョン 3.5.2519.0 にダウングレードしましたが、エラーは再発していません。

ダウングレード後、MediaTemplate ノードと ComponentGroup ノードの Directory 属性を放棄する必要がありました。これが解決策の一部であったかどうかはわかりません (つまり、ダウングレードではなく、問題が修正された可能性があります)。

于 2012-12-07T16:11:33.200 に答える