setup/build-msi.proj (35 lines of code) (raw):
<!-- Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="..\src\Microbuild.Settings.targets" />
<PropertyGroup>
<SetupRootFolder>.</SetupRootFolder>
<TargetDotnetProfile Condition="'$(TargetDotnetProfile)'==''">net40</TargetDotnetProfile>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
</PropertyGroup>
<Import Project="FSharp.Setup.props" />
<Target Name="CollectSetupProjects">
<ItemGroup>
<WixSetupProjects Include="FSharp.Wix.Extensions.csproj">
<ProjectPath>FSharp.Wix.Extensions\FSharp.Wix.Extensions.csproj</ProjectPath>
</WixSetupProjects>
</ItemGroup>
<CreateItem Include="@(SetupLanguages)"
AdditionalMetadata="ProjectPath=FSharp.SDK\FSharp.SDK.wixproj">
<Output ItemName="WixSetupProjects" TaskParameter="Include"/>
</CreateItem>
</Target>
<Target Name="Build" DependsOnTargets="CollectSetupProjects">
<PropertyGroup>
<CustomProps>AssemblySearchPaths={HintPathFromItem};{TargetFrameworkDirectory};{RawFileName}</CustomProps>
</PropertyGroup>
<!-- Wix targets files doesn't handle localization parameters correctly. Cleaning before building files accross languages -->
<MSBuild Projects="%(WixSetupProjects.ProjectPath)"
Targets="Clean;Build"
Properties="LocaleCode=%(WixSetupProjects.LocaleCode);LocaleId=%(WixSetupProjects.LocaleId);LocaleParentId=%(WixSetupProjects.LocaleParentId);LocaleParentCulture=%(WixSetupProjects.LocaleParentCulture);LocaleSpecificCulture=%(WixSetupProjects.LocaleSpecificCulture);IsLangPack=%(WixSetupProjects.IsLangPack);FSharpPackageVersion=$(FSharpPackageVersion);$(CustomProps)"/>
</Target>
<Target Name="CopyLocalizationResources" BeforeTargets="Build">
<ItemGroup>
<SetupLocalizationResources Include="resources\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(SetupLocalizationResources)"
DestinationFiles="@(SetupLocalizationResources->'$(OutputPath)\resources\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
</Project>