Добавление ярлыка для файла WiX в другой фрагмент
Вопрос
Я использую Heat.exe для создания фрагментов, подобных этому:
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="id1" Guid="*">
<File Id="fid1" KeyPath="yes" Source="SourceDir\Foo1.dll" />
</Component>
<Component Id="id2" Guid="*">
<File Id="fid2" KeyPath="yes" Source="SourceDir\Foo2.dll" />
</Component>
<Component Id="id3" Guid="*">
<File Id="fid3" KeyPath="yes" Source="SourceDir\Bar.exe" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="Components">
<ComponentRef Id="id1" />
<ComponentRef Id="id2" />
<ComponentRef Id="id3" />
</ComponentGroup>
</Fragment>
Эти фрагменты хранятся в автоматически созданном файле wxs.
Затем я добавляю их в свою функцию (в основной файл WiX) следующим образом:
<ComponentGroupRef Id="Components"/>
Это работает нормально.
Однако я также хотел бы добавить ярлык Bar.exe в меню «Пуск».В идеале я хочу сделать это в своем основном файле Wix, при этом компонент Bar.exe все еще будет находиться в автоматически созданном файле wxs.Как бы я подошел к этой проблеме, не изменяя автоматически сгенерированный код?
Решение
Вы обязательно хотите, чтобы оно присутствовало в определении?Вы можете вынести его в отдельный компонент, как показано в руководстве: http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm
В противном случае вам, вероятно, следует преобразовать тепловую мощность с помощью преобразования XSL, добавив туда определение.Heat.exe принимает переключатель для применения преобразования XSL сразу после сбора данных.
Надеюсь это поможет.