3

Wix/Votive を使用して、.NET ソリューションのインストーラーをビルドしています。プロジェクト参照を使用して、他のプロジェクト (EXE および DLL) のバイナリを含めます (これは内部的に使用するheat.exeと思います)。

私が今やりたいことは、ngen.exeインストール中にすべてのアセンブリを pre-jit することです。Wix ヘルプによると、これはWiX .NET 拡張ライブラリを介して実行できます。

<Component Id="App.exe" Guid="PUT-GUID-HERE">
    <File Id="App.exe" Source="App.exe" KeyPath="yes">
        <netfx:NativeImage Id="ngen_App.exe" Platform="32bit" Priority="0" />
    </File>
</Component>

問題は、<File />タグがによって作成され、内部でタグを生成するようにheat.exeアドバイスする方法、または生成されたタグを参照してタグを外部に添付する方法を理解できないことです。heat.exe<NativeImage /><File /><NativeImage />

現在、私が目にする唯一の方法は、プロジェクト参照を使用しないことですが、明らかにそれらを保持したいと考えています。

助言がありますか?ありがとう!

4

1 に答える 1

3

熱は意図されておらず、この話をサポートしていません. ほとんどの人は、Heat を 1 回使用して WXS を作成し、そこからコードとして維持するという面倒な作業のほとんどを行います。これをビルドプロセスに組み込んで動的にすることを好む人もいますが、興味がある場合は他の場所で見つけることができる理由から、私は本当に反対しています。

したがって、そのようにするか、LINQ to XML (またはお気に入りの XML DOM ) を使用して .NET アセンブリである File 要素を探し、それらを子 NativeImage 要素でマークアップするヒート後に実行する自動化を記述します。また、ドキュメントの先頭に名前空間宣言を配置する必要があります。

于 2011-01-13T13:55:54.977 に答える