6

そのため、プロジェクト内のファイルのフラグメントを生成するために熱を使用しようとしています。私が過去に生成したファイルとネット上のさまざまな WiX 記事を見ると、Directory/Component の Fragments と、ComponentRef を使用して ComponentGroup を定義する Fragment があることがわかります。

<Fragment>
    <DirectoryRef Id="dir0D9F6D272B6344EBFCF7EED0D14AA801">
        <Component Id="cmp0BA12DCC33EB11DEB149261CF6904AAE" Guid="392C95D2-37C1-464E-9979-3E9D2BF57FEE">
            <File Id="filB95C5D2C0575B59E63201E24176D55FB" KeyPath="yes" Source="SourceDir\something.dll" />
        </Component>
        <Component Id="cmp895927B450519C5487FDEC914051E715" Guid="DDC12130-C5D5-4727-95D8-660F7229BBD7">
            <File Id="fil8C5E22B3AFE9AA6056E1458BD93E3646" KeyPath="yes" Source="SourceDir\whatever.dll" />
        </Component>
</Fragment>
<Fragment>
    <ComponentGroup Id="SampleProduct">
        <ComponentRef Id="cmp0BA12DCC33EB11DEB149261CF6904AAE" />
        <ComponentRef Id="cmp895927B450519C5487FDEC914051E715" />
    </ComponentGroup>
</Fragment>

この ComponentGroup フラグメントを生成するのは Heat ではないでしょうか? それとも、手動で行ったのに忘れていましたか? Web で見つけたさまざまな Heat の例は、Heat がこのフラグメントを生成することを示しているようです。

私は次のようなことをしています: heat dir 。-gg -g1 -cg WhatThe -out test.wxs

ComponentGroup / Componentのフラグメントを生成します-ComponentRefが見つかりません:

<Fragment>
    <ComponentGroup Id="WhatThe">
        <Component Id="cmp9BDA89E67E0D566068C97D3FA3AEBE70" Directory="dir54021DE1C7E3016732B498A5B2680893" Guid="392C95D2-37C1-464E-9979-3E9D2BF57FEE">
            <File Id="filDE3AEB1672B47F4803B1EDAB6016DDD3" KeyPath="yes" Source="SourceDir\something.dll" />
        </Component>
        <Component Id="cmpA8D6F6019E02CAD0DDA17E2F285D7EC8" Directory="dir54021DE1C7E3016732B498A5B2680893" Guid="DDC12130-C5D5-4727-95D8-660F7229BBD7">
            <File Id="filDB325609DF363696B3F5E8D1FC22D4C5" KeyPath="yes" Source="SourceDir\whatever.dll" />
        </Component>
    </ComponentGroup>
</Fragment>

私は何が欠けていますか?中期記憶以外に?

ありがとう

4

1 に答える 1

7

-sfragフラグを heat.exe コマンド ラインに追加すると、必要な出力が得られます。

heat dir . -gg -g1 -sfrag -cg WhatThe -out test.wxs
于 2011-03-21T19:30:12.157 に答える