Использование тепла для файлов без создания нового идентификатора компонента

Нам нужно автоматически заполнять раздел файлов внутри компонента. Итак, мы хотим использовать инструмент, который генерирует такой раздел файла (здесь включаемый файл)

<include>
<File id=1" src="whatever" />
<File id=2" src="whatever2" />
<File id=3" src="whatever3" />
</include>

В wxs мы хотим иметь что-то вроде

<component id="xxx" guid="myStaticGuid" permanent=yes">
<include file above>
</component>

В этом сценарии у нас всегда будет один и тот же компонент с одним и тем же guid, но только некоторые дополнительные файлы, которые действительны в соответствии с правилами, определенными установщиком Windows.

В моих тестах heat всегда генерирует новый компонент с новым guid, а постоянный флаг всегда отсутствует, поэтому я создал сценарий powershell для генерации фрагмента файла. Но мне это кажется довольно некрасивым.

Обеспечивает ли нагрев возможность достичь моей цели или как обновить только файлы в существующем компоненте?


person Torben - TSC    schedule 29.10.2013    source источник


Ответы (1)


Вы можете использовать флаг auto-generate guids on heat (-ag), который, по сути, устанавливает его в '*'. Затем он расширяется во время компиляции на основе ключевого пути в компоненте (в вашем случае, в файле). Если файл никогда не изменяется, компилятор каждый раз генерирует один и тот же идентификатор GUID.

Я не знаю, как установить постоянный флаг с помощью тепла, исходящего от моей головы, но вы, безусловно, могли бы сделать это с помощью преобразования XSL, которое вы могли бы передать в Heat.

person ChrisPatrick    schedule 29.10.2013