Build Windows Installers using the repo's main build script and repotasks (#6139)
Follow-up to #6078 This should solve race conditions in restoring .wixproj files. Co-authored-by: Nate McMaster <natemcmaster@users.noreply.github.com> Co-authored-by: Justin Kotalik <jkotalik@users.noreply.github.com>
This commit is contained in:
parent
4816bdcaad
commit
2b7a3a222a
|
|
@ -87,6 +87,15 @@
|
|||
<InstallersOutputPath>$(ArtifactsConfigurationDir)installers\</InstallersOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OutputInRepoRoot)' == 'true' ">
|
||||
<BaseOutputPath>$(RepositoryRoot)bin\$(Configuration)\$(MSBuildProjectName)\</BaseOutputPath>
|
||||
<OutputPath>$(BaseOutputPath)</OutputPath>
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
|
||||
<OutputPath Condition=" '$(AppendPlatformToOutputPath)' == 'true' AND '$(Platform)' != '' AND '$(Platform)' != 'AnyCPU' ">$(OutputPath)$(Platform)\</OutputPath>
|
||||
<IntermediateOutputPath Condition=" '$(AppendPlatformToOutputPath)' == 'true' AND '$(Platform)' != '' AND '$(Platform)' != 'AnyCPU' ">$(IntermediateOutputPath)$(Platform)\</IntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Defines project type conventions. -->
|
||||
<PropertyGroup>
|
||||
<RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepositoryRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>
|
||||
|
|
@ -97,6 +106,8 @@
|
|||
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="build\tasks\RepoTasks.tasks" Condition="'$(MSBuildProjectName)' != 'RepoTasks'" />
|
||||
|
||||
<Import Project="eng\Dependencies.props" />
|
||||
<Import Project="eng\PatchConfig.props" />
|
||||
<Import Project="eng\ProjectReferences.props" />
|
||||
|
|
|
|||
|
|
@ -45,6 +45,9 @@ Build native projects (C++).
|
|||
.PARAMETER NodeJS
|
||||
Build NodeJS projects (TypeScript, JS).
|
||||
|
||||
.PARAMETER Installers
|
||||
Build Windows Installers. Required .NET 3.5 to be installed (WiX toolset requirement).
|
||||
|
||||
.PARAMETER MSBuildArguments
|
||||
Additional MSBuild arguments to be passed through.
|
||||
|
||||
|
|
@ -96,6 +99,8 @@ param(
|
|||
[switch]$Native,
|
||||
[Parameter(ParameterSetName = 'Groups')]
|
||||
[switch]$NodeJS,
|
||||
[Parameter(ParameterSetName = 'Groups')]
|
||||
[switch]$Installers,
|
||||
|
||||
# Other lifecycle targets
|
||||
[switch]$Help, # Show help
|
||||
|
|
@ -236,7 +241,7 @@ elseif ($Projects) {
|
|||
}
|
||||
else {
|
||||
# When adding new sub-group build flags, add them to this check.
|
||||
if((-not $Native) -and (-not $Managed) -and (-not $NodeJS)) {
|
||||
if((-not $Native) -and (-not $Managed) -and (-not $NodeJS) -and (-not $Installers)) {
|
||||
Write-Warning "No default group of projects was specified, so building the 'managed' subset of projects. Run ``build.cmd -help`` for more details."
|
||||
|
||||
# This goal of this is to pick a sensible default for `build.cmd` with zero arguments.
|
||||
|
|
@ -248,6 +253,7 @@ else {
|
|||
$MSBuildArguments += "/p:BuildManaged=$Managed"
|
||||
$MSBuildArguments += "/p:BuildNative=$Native"
|
||||
$MSBuildArguments += "/p:BuildNodeJS=$NodeJS"
|
||||
$MSBuildArguments += "/p:BuildWindowsInstallers=$Installers"
|
||||
}
|
||||
|
||||
# Target selection
|
||||
|
|
|
|||
|
|
@ -64,6 +64,35 @@
|
|||
</ItemGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<ItemGroup Condition=" '$(BuildWindowsInstallers)' == 'true' ">
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMPackageResolver/ANCMPackageResolver.csproj" />
|
||||
|
||||
<!-- Build the ANCM custom action -->
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the ANCM msis -->
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV1/AncmIISExpressV1.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV1/AncmIISExpressV1.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMV1/ANCMV1.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMV1/ANCMV1.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/ANCMV2.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/ANCMV2.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the SharedFramework installers -->
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/SharedFrameworkBundle/SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/SharedFrameworkBundle/SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the SharedFramework wixlib -->
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/SharedFrameworkLib/SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/SharedFrameworkLib/SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Windows hosting bundled -->
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src/Installers/Windows/WindowsHostingBundle/WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<NpmProjectDirectory Include="$(RepositoryRoot)src\Middleware\CORS\test\FunctionalTests\" />
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#if BUILD_MSI_TASKS
|
||||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
|
|
@ -36,3 +37,4 @@ namespace RepoTasks
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework Condition="'$(MSBuildRuntimeType)' == 'Core' ">netcoreapp2.1</TargetFramework>
|
||||
<TargetFramework Condition="'$(MSBuildRuntimeType)' != 'Core' ">net461</TargetFramework>
|
||||
<DefineConstants Condition="'$(BuildWindowsInstallers)' == 'true'">$(DefineConstants);BUILD_MSI_TASKS</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
@ -13,5 +14,16 @@
|
|||
<PackageReference Include="WindowsAzure.Storage" Version="$(DevDependency_WindowsAzureStoragePackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BuildWindowsInstallers)' == 'true'">
|
||||
<PackageReference Include="Wix" Version="3.11.1" />
|
||||
|
||||
<Reference Include="Microsoft.Deployment.WindowsInstaller">
|
||||
<HintPath>$(WiXSdkPath)\Microsoft.Deployment.WindowsInstaller.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Deployment.WindowsInstaller.Package">
|
||||
<HintPath>$(WiXSdkPath)\Microsoft.Deployment.WindowsInstaller.Package.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(RepoTasksSdkPath)\Sdk.targets" Condition="'$(RepoTasksSdkPath)' != '' "/>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="RepoTasks.GenerateRestoreSourcesPropsFile" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.GenerateGuid" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.GetMsiProperty" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.JoinItems" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.OrderBy" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.GenerateSharedFrameworkMetadataFiles" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
|
|
|
|||
|
|
@ -52,54 +52,6 @@ function LoadXml([string]$path) {
|
|||
return $obj
|
||||
}
|
||||
|
||||
function Get-MSBuildPath {
|
||||
param(
|
||||
[switch]$Prerelease,
|
||||
[string[]]$Requires
|
||||
)
|
||||
|
||||
$vsInstallDir = $null
|
||||
if ($env:VSINSTALLDIR -and (Test-Path $env:VSINSTALLDIR)) {
|
||||
$vsInstallDir = $env:VSINSTALLDIR
|
||||
Write-Verbose "Using VSINSTALLDIR=$vsInstallDir"
|
||||
}
|
||||
else {
|
||||
$vswhere = "${env:ProgramFiles(x86)}/Microsoft Visual Studio/Installer/vswhere.exe"
|
||||
Write-Verbose "Using vswhere.exe from $vswhere"
|
||||
|
||||
if (-not (Test-Path $vswhere)) {
|
||||
Write-Error "Missing prerequisite: could not find vswhere"
|
||||
}
|
||||
|
||||
[string[]] $vswhereArgs = @()
|
||||
|
||||
if ($Prerelease) {
|
||||
$vswhereArgs += '-prerelease'
|
||||
}
|
||||
|
||||
if ($Requires) {
|
||||
foreach ($r in $Requires) {
|
||||
$vswhereArgs += '-requires', $r
|
||||
}
|
||||
}
|
||||
|
||||
$installs = & $vswhere -format json -version '[15.0, 16.0)' -latest -products * @vswhereArgs | ConvertFrom-Json
|
||||
if (!$installs) {
|
||||
Write-Error "Missing prerequisite: could not find any installations of Visual Studio"
|
||||
}
|
||||
|
||||
$vs = $installs | Select-Object -First 1
|
||||
$vsInstallDir = $vs.installationPath
|
||||
Write-Host "Using $($vs.displayName)"
|
||||
}
|
||||
|
||||
$msbuild = Join-Path $vsInstallDir 'MSBuild/15.0/bin/msbuild.exe'
|
||||
if (!(Test-Path $msbuild)) {
|
||||
Write-Error "Missing prerequisite: could not find msbuild.exe"
|
||||
}
|
||||
return $msbuild
|
||||
}
|
||||
|
||||
function Get-RemoteFile([string]$RemotePath, [string]$LocalPath) {
|
||||
if ($RemotePath -notlike 'http*') {
|
||||
Copy-Item $RemotePath $LocalPath
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<TargetFramework>net461</TargetFramework>
|
||||
<MSBuildProjectExtensionsPath>$(BaseIntermediateOutputPath)</MSBuildProjectExtensionsPath>
|
||||
<MSBuildProjectExtensionsPath Condition="'$(MSBuildProjectExtensionsPath)' == ''">$(MSBuildProjectDir)\obj\</MSBuildProjectExtensionsPath>
|
||||
<!-- IsRunningFromVisualStudio may be true even when running msbuild.exe from command line. This generally means that MSBUild is Visual Studio installation and therefore we need to find NuGet.targets in a different location. -->
|
||||
<!-- IsRunningFromVisualStudio may be true even when running msbuild.exe from command line. This generally means that MSBUild is Visual Studio installation and therefore we need to find NuGet.targets in a different location. -->
|
||||
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'=='' and '$([MSBuild]::IsRunningFromVisualStudio())'=='true'">$(MSBuildToolsPath32)\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets</NuGetRestoreTargets>
|
||||
<NuGetRestoreTargets Condition="'$(NuGetRestoreTargets)'==''">$(MSBuildToolsPath)\NuGet.targets</NuGetRestoreTargets>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -41,5 +41,4 @@
|
|||
<Import Project="$(MSBuildProjectExtensionsPath)$(MSBuildProjectFile).*.targets" />
|
||||
<Import Project="$(WixTargetsPath)" Condition="'$(WixTargetsPath)' != '' " />
|
||||
<Import Project="$(MicroBuildPluginDirectory)\MicroBuild.Plugins.*\**\build\MicroBuild.Plugins.*.targets" Condition="'$(DisableMicroBuild)' != 'true' AND '$(MicroBuildPluginDirectory)' != ''" />
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -38,8 +38,6 @@
|
|||
</TargetPathWithTargetPlatformMoniker>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
|
||||
|
||||
<Target Name="PrepareOutputPaths">
|
||||
<MakeDir Directories="$(IntermediateOutputPath)" />
|
||||
</Target>
|
||||
|
|
|
|||
|
|
@ -4,8 +4,6 @@ This targets file should only be imported by .shfxproj files.
|
|||
-->
|
||||
<Project>
|
||||
|
||||
<Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
|
||||
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard1.0</TargetFramework>
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
|
|
@ -14,14 +16,10 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<RestoreSources Condition="Exists('$(RepositoryRoot).deps\ANCM')">
|
||||
$(RepositoryRoot).deps\ANCM;
|
||||
</RestoreSources>
|
||||
<RestoreSources>
|
||||
$(RestoreSources);
|
||||
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
|
||||
https://api.nuget.org/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
|
||||
$(RepositoryRoot).deps\ANCM;
|
||||
</RestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
<Target Name="Build" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<Import Project="$(RepositoryRoot)\.deps\dependencies.g.props" Condition="Exists('$(RepositoryRoot)\.deps\dependencies.g.props')" />
|
||||
|
||||
<PropertyGroup>
|
||||
<MicrosoftAspNetCoreAspNetCoreModulePackageVersion Condition="'$(MicrosoftAspNetCoreAspNetCoreModulePackageVersion)' == ''">$(PackageVersion)</MicrosoftAspNetCoreAspNetCoreModulePackageVersion>
|
||||
<MicrosoftAspNetCoreAspNetCoreModuleV2PackageVersion Condition="'$(MicrosoftAspNetCoreAspNetCoreModuleV2PackageVersion)' == ''">$(PackageVersion)</MicrosoftAspNetCoreAspNetCoreModuleV2PackageVersion>
|
||||
|
||||
<!-- Build number used by ANCM msis -->
|
||||
<_TwoDigitYear>$([MSBuild]::Subtract($([System.DateTime]::UtcNow.Year), 2000))</_TwoDigitYear>
|
||||
<_ThreeDigitDayOfYear>$([System.DateTime]::UtcNow.DayOfYear.ToString().PadLeft(3, '0'))</_ThreeDigitDayOfYear>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,8 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<RepositoryRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)..\..\..\'))</RepositoryRoot>
|
||||
<InstallersOutputPath>$(RepositoryRoot)artifacts\$(Configuration)\installers\</InstallersOutputPath>
|
||||
<BaseOutputPath>$(RepositoryRoot)bin\$(Configuration)\$(MSBuildProjectName)\</BaseOutputPath>
|
||||
<OutputPath>$(BaseOutputPath)</OutputPath>
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition=" '$(Platform)' != '' AND '$(Platform)' != 'AnyCPU' ">$(IntermediateOutputPath)$(Platform)\</IntermediateOutputPath>
|
||||
<OutputInRepoRoot>true</OutputInRepoRoot>
|
||||
<AppendPlatformToOutputPath>true</AppendPlatformToOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project>
|
||||
|
||||
<!-- Intentionally empty to isolate this when building in the context of another repository. -->
|
||||
<Import Project="Wix.targets" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net461</TargetFramework>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Build.Tasks.v4.0" />
|
||||
<Reference Include="Microsoft.Build.Framework" />
|
||||
<Reference Include="Microsoft.Build.Utilities.v4.0" />
|
||||
<PackageReference Include="Wix" Version="3.11.1" />
|
||||
|
||||
<Reference Include="Microsoft.Deployment.WindowsInstaller">
|
||||
<HintPath>$(WiXSdkPath)\Microsoft.Deployment.WindowsInstaller.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Deployment.WindowsInstaller.Package">
|
||||
<HintPath>$(WiXSdkPath)\Microsoft.Deployment.WindowsInstaller.Package.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -25,8 +25,6 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WindowsHostingBundle", "Win
|
|||
EndProject
|
||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SharedFramework", "SharedFramework\SharedFramework.wixproj", "{C681D730-4505-42C6-9E6C-87F757C4FB32}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InstallerTasks", "InstallerTasks\InstallerTasks.csproj", "{D58277B2-4C1F-46D6-B9E1-845C711E3B55}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -131,18 +129,6 @@ Global
|
|||
{C681D730-4505-42C6-9E6C-87F757C4FB32}.Release|x64.ActiveCfg = Release|x86
|
||||
{C681D730-4505-42C6-9E6C-87F757C4FB32}.Release|x86.ActiveCfg = Release|x86
|
||||
{C681D730-4505-42C6-9E6C-87F757C4FB32}.Release|x86.Build.0 = Release|x86
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D58277B2-4C1F-46D6-B9E1-845C711E3B55}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
</RuntimeInstallers>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="FetchDependencies" BeforeTargets="Restore">
|
||||
<Target Name="FetchDependencies" BeforeTargets="Restore;CollectPackageReferences">
|
||||
<PropertyGroup>
|
||||
<DotNetAssetRootUrl Condition=" '$(DotNetAssetRootUrl)' == '' ">https://dotnetcli.azureedge.net/dotnet/</DotNetAssetRootUrl>
|
||||
<DotNetAssetRootUrl Condition=" ! $(DotNetAssetRootUrl.EndsWith('/'))">$(DotNetAssetRootUrl)/</DotNetAssetRootUrl>
|
||||
|
|
@ -40,9 +40,7 @@
|
|||
SourceUrl="%(RemoteAsset.Identity)" DestinationFolder="$(DepsPath)" DestinationFileName="%(RemoteAsset.TargetFileName)" />
|
||||
</Target>
|
||||
|
||||
<UsingTask AssemblyFile="$(OutputPath)..\InstallerTasks\InstallerTasks.dll" TaskName="RepoTasks.GetMsiProperty" />
|
||||
|
||||
<Target Name="ExtractPropertiesFromDotNetMsi" BeforeTargets="BeforeBuild">
|
||||
<Target Name="ExtractPropertiesFromDotNetMsi" DependsOnTargets="FetchDependencies" BeforeTargets="BeforeBuild">
|
||||
<!-- Create properties that holds the executable name. These are passed to the bundles so we can reference them as variables
|
||||
from inside the ExePackage authoring. -->
|
||||
<CreateProperty Value="%(RuntimeInstallers.Filename)%(Extension)">
|
||||
|
|
|
|||
|
|
@ -1,45 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Build the ANCM custom action -->
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/CustomAction/aspnetcoreCA.vcxproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the ANCM msis -->
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMIISExpressV1/AncmIISExpressV1.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMIISExpressV1/AncmIISExpressV1.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMIISExpressV2/AncmIISExpressV2.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMV1/ANCMV1.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMV1/ANCMV1.wixproj" AdditionalProperties="Platform=x86" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMV2/ANCMV2.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="AspNetCoreModule-Setup/ANCMV2/ANCMV2.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the SharedFramework installers -->
|
||||
<InstallerProject Include="SharedFrameworkBundle/SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="SharedFrameworkBundle/SharedFrameworkBundle.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Build the SharedFramework wixlib -->
|
||||
<InstallerProject Include="SharedFrameworkLib/SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x64" />
|
||||
<InstallerProject Include="SharedFrameworkLib/SharedFrameworkLib.wixproj" AdditionalProperties="Platform=x86" />
|
||||
|
||||
<!-- Windows hosting bundled -->
|
||||
<InstallerProject Include="WindowsHostingBundle/WindowsHostingBundle.wixproj" AdditionalProperties="Platform=x86" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
<MSBuild Projects="@(InstallerProject)"
|
||||
Targets="Build"
|
||||
BuildInParallel="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean">
|
||||
<MSBuild Projects="@(InstallerProject)" Targets="Clean" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore">
|
||||
<MSBuild Projects="AspNetCoreModule-Setup/ANCMPackageResolver/ANCMPackageResolver.csproj" Targets="Restore" />
|
||||
<MSBuild Projects="@(InstallerProject)" Targets="Restore" BuildInParallel="true" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
@ -10,8 +10,6 @@
|
|||
<GuidInputs Condition="'$(IsFinalBuild)' != 'true'">$(GuidInputs);$(BuildNumberSuffix)</GuidInputs>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask AssemblyFile="$(OutputPath)..\InstallerTasks\InstallerTasks.dll" TaskName="RepoTasks.GenerateGuid" />
|
||||
|
||||
<Target Name="GenerateGUIDs" BeforeTargets="BeforeBuild" DependsOnTargets="_GeneratePackageGuids;_GenerateBundleGuids" Condition=" '$(DisableGuidGeneration)' != 'true' " />
|
||||
|
||||
<Target Name="_GeneratePackageGuids" Condition="'$(OutputType)' == 'package'">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
#
|
||||
# This script requires internal-only access to the code which generates ANCM installers.
|
||||
#
|
||||
|
||||
#requires -version 5
|
||||
[cmdletbinding()]
|
||||
param(
|
||||
|
|
@ -14,20 +10,20 @@ param(
|
|||
[string]$Runtime64Zip,
|
||||
[string]$BuildNumber = 't000',
|
||||
[switch]$IsFinalBuild,
|
||||
[string]$SignType = '',
|
||||
[switch]$clean
|
||||
[string]$SignType = ''
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$repoRoot = Resolve-Path "$PSScriptRoot/../../../"
|
||||
Import-Module -Scope Local "$repoRoot/eng/scripts/common.psm1" -Force
|
||||
$msbuild = Get-MSBuildPath -Prerelease -requires 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64'
|
||||
|
||||
$harvestRoot = "$repoRoot/obj/sfx/"
|
||||
if ($clean) {
|
||||
Remove-Item -Recurse -Force $harvestRoot -ErrorAction Ignore | Out-Null
|
||||
}
|
||||
|
||||
# TODO: harvest shared frameworks from a project reference
|
||||
|
||||
New-Item "$harvestRoot/x86", "$harvestRoot/x64" -ItemType Directory -ErrorAction Ignore | Out-Null
|
||||
|
||||
if (-not (Test-Path "$harvestRoot/x86/shared/")) {
|
||||
|
|
@ -40,40 +36,14 @@ if (-not (Test-Path "$harvestRoot/x64/shared/")) {
|
|||
|
||||
Push-Location $PSScriptRoot
|
||||
try {
|
||||
Invoke-Block { & $msbuild `
|
||||
InstallerTasks/InstallerTasks.csproj `
|
||||
-nologo `
|
||||
-m `
|
||||
-v:m `
|
||||
-nodeReuse:false `
|
||||
-restore `
|
||||
-t:Build `
|
||||
"-p:Configuration=$Configuration"
|
||||
}
|
||||
|
||||
[string[]] $msbuildArgs = @()
|
||||
|
||||
if ($clean) {
|
||||
$msbuildArgs += '-t:Clean'
|
||||
}
|
||||
|
||||
Invoke-Block { & $msbuild `
|
||||
WindowsInstallers.proj `
|
||||
-restore `
|
||||
-nologo `
|
||||
-m `
|
||||
-v:m `
|
||||
-nodeReuse:false `
|
||||
-clp:Summary `
|
||||
& $repoRoot/build.ps1 `
|
||||
-Installers `
|
||||
"-p:SharedFrameworkHarvestRootPath=$repoRoot/obj/sfx/" `
|
||||
"-p:Configuration=$Configuration" `
|
||||
"-p:BuildNumberSuffix=$BuildNumber" `
|
||||
"-p:SignType=$SignType" `
|
||||
"-p:IsFinalBuild=$IsFinalBuild" `
|
||||
"-bl:$repoRoot/artifacts/logs/installers.msbuild.binlog" `
|
||||
'-t:Build' `
|
||||
@msbuildArgs
|
||||
}
|
||||
"-bl:$repoRoot/artifacts/logs/installers.msbuild.binlog"
|
||||
}
|
||||
finally {
|
||||
Pop-Location
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
<BaseOutputPath>$(RepositoryRoot)bin\$(MSBuildProjectName)\</BaseOutputPath>
|
||||
<OutputInRepoRoot>true</OutputInRepoRoot>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,4 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -30,8 +30,6 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
|
||||
|
||||
<Import Project="$(RepositoryRoot)src\Servers\IIS\ResolveIisReferences.targets" />
|
||||
|
||||
<Target Name="CopyFilesToOutputDirectory" />
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<Content Include="applicationHost.xdt" />
|
||||
<Content Include="scmApplicationHost.xdt" />
|
||||
<Content Include="install.cmd" />
|
||||
<Content Include="$(RepositoryRoot)bin\Microsoft.Web.Xdt.Extensions\$(Configuration)\net461\Microsoft.Web.Xdt.Extensions.dll" PackagePath="content" />
|
||||
<Content Include="$(RepositoryRoot)bin\$(Configuration)\Microsoft.Web.Xdt.Extensions\net461\Microsoft.Web.Xdt.Extensions.dll" PackagePath="content" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
<BaseOutputPath>$(RepositoryRoot)bin\$(MSBuildProjectName)\</BaseOutputPath>
|
||||
<OutputInRepoRoot>true</OutputInRepoRoot>
|
||||
<ToolSharedSourceRoot>$(MSBuildThisFileDirectory)Shared\</ToolSharedSourceRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
Loading…
Reference in New Issue