1

複数のレジストリ ファイル (45) に対してヒート ハーベスト ツールを実行しています。

同じComponent Idが生成される3つのファイルを除いて、うまく機能します。

heat reg MyReg.reg -cg compoentGroup -gg -o MyReg.reg.wxs
heat reg MyReg1.reg -cg compoentGroup1 -gg -o MyReg1.reg.wxs
heat reg MyReg2.reg -cg compoentGroup2 -gg -o MyReg2.reg.wxs

と同じコンポーネント ID になります

<Component Id="cmp0278C3EF60DDFA362D50D5DD0254BCB9" Directory="TARGETDIR" Guid="{EED2941A-01BD-4CE5-97BF-75F19B6605A6}" KeyPath="yes">

ガイドはユニークですが。

どうすればこの状況を回避できるのか、または同じことを行う別の方法があるのだろうか。

4

2 に答える 2

1

含まれているレジストリ キーのComponent/@Id完全な「パス」に基づく必要があります。そのため、.reg ファイルに 2 つのレジストリ キーがある場合 (値が異なる場合とない場合があります)、Component/@Id属性が重複することになります。2 つの異なるコンポーネントで同じレジストリ キーを使用すると、コンポーネント ルールにも違反するため、これは重要です。

最後にちょっとしたこと。-ggスイッチの熱での使用にはご注意ください。ツールを実行するたびに、コンポーネントの新しい GUID が生成されます。これらのコンポーネントが出荷された後は、コンポーネント ルールに違反するため、許可されません。-ag代わりにスイッチを使用して、自動 GUID メカニズムが GUID を正しく管理できるようにすることをお勧めします。

于 2013-05-03T15:22:32.090 に答える
0

私が直面した問題は、3 つの reg ファイルに重複したキーがあり、ヒート ツールで同じコンポーネント ID が発生していたことです。

これが機能するには、reg ファイル内のキーが一意である必要があります。

于 2013-05-09T09:07:04.237 に答える