Как развернуть собственные образы (NGen) с использованием Wix и ссылок на проекты - PullRequest
3 голосов
/ 13 января 2011

Я использую Wix / Votive для создания установщика для моего .NET Solution. Я включаю двоичные файлы из других проектов (EXE и DLL), используя ссылки на проекты (которые, как мне кажется, используют heat.exe).

Теперь я хочу предварительно соединить все сборки с ngen.exe во время установки. Согласно справке 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 /> извне.

Прямо сейчас, единственный способ, которым я вижу, - не использовать ссылки на проекты, но, очевидно, я бы хотел их сохранить.

Есть предложения? Спасибо!

1 Ответ

3 голосов
/ 13 января 2011

Жара не предназначена и не поддерживает эту историю. Большинство людей используют Heat один раз, чтобы выполнить большую часть тяжелой работы по созданию WXS, а затем поддерживать ее как код оттуда. Некоторым нравится включать это в процессы сборки, чтобы они стали динамичными, но я действительно против этого по причинам, которые могут быть найдены в другом месте, если вам это интересно.

Так что либо сделайте это так, либо напишите некоторую автоматизацию для запуска после высокой температуры, которая использует LINQ to XML (или вашу любимую XML DOM), чтобы найти элементы File, которые являются сборками .NET, а затем разметить их дочерними элементами NativeImage. Вам также нужно будет поместить объявление пространства имен вверху документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...