0
.msi를 토출하기 위해 TFS 서버에서 작업하는 빌드를 얻으려고합니다. 로컬 내가 실행됩니다 : 'setup.build'를 사용WFS 및 .build 파일로 TFS 빌드 정의
C:\Dev\Installer>msbuild /t:Build;PublishWebsite;Harvest;WIX setup.build
을 :
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup >
<WebSiteSource>..\FrontEnd\</WebSiteSource>
<SetupF>..\Setup\</SetupF>
<PublishF>publish\</PublishF>
<Publish>$(SetupF)$(PublishF)</Publish>
<WebSiteContentCode>WebSiteContent.wxs</WebSiteContentCode>
<WebSiteContentObject>WebSiteContent.wixobj</WebSiteContentObject>
<EnableProjectHarvesting>True</EnableProjectHarvesting>
<MsiOut>bin\Release\Dashboard.msi</MsiOut>
</PropertyGroup>
<!-- Defining group of temporary files which is the content of the web site. -->
<ItemGroup>
<WebSiteContent Include="$(WebSiteContentCode)" />
</ItemGroup>
<!-- The list of WIX input files -->
<ItemGroup>
<WixCode Include="Product.wxs" />
<WixCode Include="$(WebSiteContentCode)" />
<WixCode Include="ProductUI.wxs" />
<WixCode Include="IISConfiguration.wxs" />
</ItemGroup>
<ItemGroup>
<WixObject Include="Product.wixobj" />
<WixObject Include="$(WebSiteContentObject)" />
<WixObject Include="ProductUI.wixobj" />
<WixObject Include="IISConfiguration.wixobj" />
</ItemGroup>
<Target Name="Build">
<!-- Compile whole solution in release mode -->
<MSBuild
Projects="..\WebDashboard.sln"
Targets="ReBuild"
Properties="Configuration=Release;Platform=Any CPU" />
</Target>
<Target Name="PublishWebsite">
<!-- Remove complete publish folder in order to
be sure that evrything will be newly compiled -->
<Message Text="Removing publish directory: $(SetupF)"/>
<RemoveDir Directories="$(SetupF)" ContinueOnError="false" />
<Message Text="Start to publish website" Importance="high" />
<MSBuild
Projects="..\\FrontEnd\WebDashboard.csproj"
Targets="ResolveReferences;_CopyWebApplication"
Properties="OutDir=$(Publish)bin\;WebProjectOutputDir=
$(Publish);Configuration=Release;Platform=AnyCPU" />
</Target>
<Target Name="Harvest">
<!-- Harvest all content of published result -->
<Exec
Command='"$(WiX)bin\heat" dir $(Publish) -dr INSTALLFOLDER -ke -srd -cg MyWebWebComponents -var var.publishDir -gg -out $(WebSiteContentCode)'
ContinueOnError="false"
WorkingDirectory="." />
</Target>
<Target Name="WIX">
<Exec
Command='"$(WiX)bin\candle" -ext WixIISExtension -dpublishDir=$(Publish) -dMyWebResourceDir=. @(WixCode, ' ')'
ContinueOnError="false"
WorkingDirectory="." />
<Exec
Command='"$(WiX)bin\light" -ext WixIISExtension -ext WixUIExtension -out $(MsiOut) @(WixObject, ' ')'
ContinueOnError="false"
WorkingDirectory="." />
<!-- A message at the end -->
<Message Text="Install package has been created." />
</Target>
<Target Name="DeleteTmpFiles">
<RemoveDir Directories="$(Publish)" ContinueOnError="false" />
<RemoveDir Directories="$(SetupF)" ContinueOnError="false" />
<Delete Files="@(WixObject);@(WebSiteContent)" />
</Target>
</Project>
가 어떻게 TFS에 빌드 정의이 실행합니까? 나는 일반적인 명령 프롬프트를 사용하여 시도했지만 msbuild가 인식되지 않는다고 말합니다. 사용할 수있는 다른 프로그램이 있습니까? 아니면 누구나 msbuild 도구의 전체 경로를 알고 있습니까?
개발자 명령 프롬프트를 사용해 보셨습니까? –