diff --git a/build/buildpipeline/windows.groovy b/build/buildpipeline/windows.groovy index 249f595d47..a88d4c9cea 100644 --- a/build/buildpipeline/windows.groovy +++ b/build/buildpipeline/windows.groovy @@ -8,7 +8,7 @@ simpleNode('Windows.10.Enterprise.RS3.ASPNET') { } stage ('Build') { def logFolder = getLogFolder() - def environment = "\$env:ASPNETCORE_TEST_LOG_DIR=\"${WORKSPACE}\\${logFolder}\"" - batchFile ("powershell -Command \"&.\\tools\\update_schema.ps1;${environment};&.\\run.ps1 -CI default-build /p:Configuration=${params.Configuration}\"") + def environment = "\$env:ASPNETCORE_TEST_LOG_DIR='${WORKSPACE}\\${logFolder}'" + bat "powershell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command \"&.\\tools\\update_schema.ps1;${environment};&.\\run.ps1 -CI default-build /p:Configuration=${params.Configuration}\"" } } diff --git a/tools/update_schema.ps1 b/tools/update_schema.ps1 index a887c69551..64f8248af4 100644 --- a/tools/update_schema.ps1 +++ b/tools/update_schema.ps1 @@ -49,12 +49,20 @@ for ($i=0; $i -lt $ancmSchemaFiles.Length; $i++) $schemaSource = $ancmSchemaFileLocations[$i] $destinations = @( - "${env:ProgramFiles(x86)}\IIS Express\config\schema\${schemaFile}", - "${env:ProgramFiles}\IIS Express\config\schema\${schemaFile}", - "${env:windir}\system32\inetsrv\config\schema\${schemaFile}" + "${env:ProgramFiles(x86)}\IIS Express\config\schema\", + "${env:ProgramFiles}\IIS Express\config\schema\", + "${env:windir}\system32\inetsrv\config\schema\" ) - foreach ($dest in $destinations) { + foreach ($destPath in $destinations) { + $dest = "$destPath\${schemaFile}"; + + if (!(Test-Path $destPath)) + { + Write-Host "$destPath doesn't exist" + continue; + } + if ($PSCmdlet.ShouldProcess($dest, "Replace file")) { Write-Host "Updated $dest" Move-Item $dest "${dest}.bak" -ErrorAction Ignore