У меня есть текущая сборка с использованием teambuild / msbuild, в которую мне нужно интегрировать компиляцию wix.
Проект Wix не является частью создаваемого решения, вместо этого он живет с различными инструментами, которые получаютподключился к каталогу TFSBuild.proj.
Прежде чем я смогу построить проект установки, я должен использовать Heat, чтобы собрать пару каталогов, которые были созданы во время цели после компиляции.У меня это работает нормально, но теперь я не уверен, как скомпилировать мой проект wix
Цель после компиляции выглядит следующим образом
<Target Name="AfterCompile" DependsOnTargets="CopyOutputFiles;BuildMsi;BuildZip" />
Где выходные файлы копирования скопировали скомпилированные файлы вопределенный каталог и выполняет с ним немного больше работы, и это вывод, который мне нужно включить в мой проект Wix.
Цель BuildMsi в настоящее время выглядит следующим образом.
<Target Name="BuildMsi" >
<Message Text="Start harvesting Website files for Wix compliation" />
<HeatDirectory
ToolPath="$(WixToolPath)"
Directory="$(DropLocation)\Latest\x86\Release\_PublishedWebsites\IFMA.MasterPlan.Web"
GenerateGuidsNow="yes"
ComponentGroupName="MasterPlanWeb"
OutputFile="$(MSBuildProjectDirectory)\Setup\Product\Fragments\wwwfiles.wxs"
SuppressFragments="yes"
DirectoryRefId="WEBROOT"
KeepEmptyDirectories="yes"
PreprocessorVariable="var.WebRoot"
SuppressRegistry="yes"
SuppressRootDirectory="yes"
SuppressCom="yes" />
<Message Text="Finished harvesting Website files for Wix compliation" />
<Message Text="Start harvesting database files for Wix compliation" />
<HeatDirectory
ToolPath="$(WixToolPath)"
Directory="$(DropLocation)\Latest\x86\Release\Database"
GenerateGuidsNow="yes"
ComponentGroupName="MasterPlanWeb"
OutputFile="$(MSBuildProjectDirectory)\Setup\Product\Fragments\dbfiles.wxs"
SuppressFragments="yes"
DirectoryRefId="WEBROOT"
KeepEmptyDirectories="yes"
PreprocessorVariable="var.WebRoot"
SuppressRegistry="yes"
SuppressRootDirectory="yes"
SuppressCom="yes" />
<Message Text="Finished harvesting database files for Wix compliation" />
</Target>
Итактеперь каталог Wix $ (MSBuildProjectDirectory) \ Setup содержит нужные ему фрагменты, и мне просто нужно скомпилировать проект wix "$ (MSBuildProjectDirectory) \ Setup \ Setup.proj".
Нужно ли сначала вызыватьзадайте свечу и задайте различные свойства, а затем передайте вывод этой задачи в легкую задачу, или я могу как-то просто скомпилировать файл .proj напрямую, поскольку он уже содержит всю необходимую информацию (например, библиотеки, на которые ссылаются и т. д.).