diff --git a/images/windows/scripts/helpers/InstallHelpers.ps1 b/images/windows/scripts/helpers/InstallHelpers.ps1 index 0f8611a5c..139d51b38 100644 --- a/images/windows/scripts/helpers/InstallHelpers.ps1 +++ b/images/windows/scripts/helpers/InstallHelpers.ps1 @@ -217,11 +217,11 @@ function Get-ToolsetContent { Retrieves the content of the toolset.json file. .DESCRIPTION - This function reads the toolset.json file located at "C:\image\toolset.json" - and returns the content as a PowerShell object. + This function reads the toolset.json file in path provided by IMAGE_FOLDER + environment variable and returns the content as a PowerShell object. #> - $toolsetPath = Join-Path "C:\\image" "toolset.json" + $toolsetPath = Join-Path $env:IMAGE_FOLDER "toolset.json" $toolsetJson = Get-Content -Path $toolsetPath -Raw ConvertFrom-Json -InputObject $toolsetJson } diff --git a/images/windows/templates/windows-2019.pkr.hcl b/images/windows/templates/windows-2019.pkr.hcl index 3e3fd2426..203805289 100644 --- a/images/windows/templates/windows-2019.pkr.hcl +++ b/images/windows/templates/windows-2019.pkr.hcl @@ -253,7 +253,7 @@ build { } provisioner "powershell" { - environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "AGENT_TOOLSDIRECTORY=${var.agent_tools_directory}", "IMAGEDATA_FILE=${var.imagedata_file}"] + environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "AGENT_TOOLSDIRECTORY=${var.agent_tools_directory}", "IMAGEDATA_FILE=${var.imagedata_file}", "IMAGE_FOLDER=${var.image_folder}"] execution_policy = "unrestricted" scripts = [ "${path.root}/../scripts/build/Configure-WindowsDefender.ps1", @@ -273,7 +273,8 @@ build { } provisioner "powershell" { - scripts = [ + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-VCRedist.ps1", "${path.root}/../scripts/build/Install-Docker.ps1", "${path.root}/../scripts/build/Install-DockerWinCred.ps1", @@ -291,6 +292,7 @@ build { provisioner "powershell" { elevated_password = "${var.install_password}" elevated_user = "${var.install_user}" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] scripts = [ "${path.root}/../scripts/build/Install-VisualStudio.ps1", "${path.root}/../scripts/build/Install-KubernetesTools.ps1", @@ -300,7 +302,8 @@ build { } provisioner "powershell" { - scripts = [ + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-Wix.ps1", "${path.root}/../scripts/build/Install-WDK.ps1", "${path.root}/../scripts/build/Install-VSExtensions.ps1", @@ -315,6 +318,7 @@ build { provisioner "powershell" { execution_policy = "remotesigned" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] scripts = ["${path.root}/../scripts/build/Install-ServiceFabricSDK.ps1"] } @@ -327,7 +331,8 @@ build { } provisioner "powershell" { - scripts = [ + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-ActionsCache.ps1", "${path.root}/../scripts/build/Install-Ruby.ps1", "${path.root}/../scripts/build/Install-PyPy.ps1", @@ -398,8 +403,9 @@ build { } provisioner "powershell" { - pause_before = "2m0s" - scripts = [ + pause_before = "2m0s" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-WindowsUpdatesAfterReboot.ps1", "${path.root}/../scripts/tests/RunAll-Tests.ps1" ] @@ -410,7 +416,7 @@ build { } provisioner "powershell" { - environment_vars = ["IMAGE_VERSION=${var.image_version}"] + environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_FOLDER=${var.image_folder}"] inline = ["pwsh -File '${var.image_folder}\\SoftwareReport\\Generate-SoftwareReport.ps1'"] } diff --git a/images/windows/templates/windows-2022.pkr.hcl b/images/windows/templates/windows-2022.pkr.hcl index ec9e436d7..70bb6c5a6 100644 --- a/images/windows/templates/windows-2022.pkr.hcl +++ b/images/windows/templates/windows-2022.pkr.hcl @@ -242,7 +242,7 @@ build { } provisioner "powershell" { - environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "AGENT_TOOLSDIRECTORY=${var.agent_tools_directory}", "IMAGEDATA_FILE=${var.imagedata_file}"] + environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${var.image_os}", "AGENT_TOOLSDIRECTORY=${var.agent_tools_directory}", "IMAGEDATA_FILE=${var.imagedata_file}", "IMAGE_FOLDER=${var.image_folder}"] execution_policy = "unrestricted" scripts = [ "${path.root}/../scripts/build/Configure-WindowsDefender.ps1", @@ -264,7 +264,8 @@ build { } provisioner "powershell" { - scripts = [ + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-Docker.ps1", "${path.root}/../scripts/build/Install-DockerWinCred.ps1", "${path.root}/../scripts/build/Install-DockerCompose.ps1", @@ -281,6 +282,7 @@ build { provisioner "powershell" { elevated_password = "${var.install_password}" elevated_user = "${var.install_user}" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] scripts = [ "${path.root}/../scripts/build/Install-VisualStudio.ps1", "${path.root}/../scripts/build/Install-KubernetesTools.ps1" @@ -294,8 +296,9 @@ build { } provisioner "powershell" { - pause_before = "2m0s" - scripts = [ + pause_before = "2m0s" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-Wix.ps1", "${path.root}/../scripts/build/Install-WDK.ps1", "${path.root}/../scripts/build/Install-VSExtensions.ps1", @@ -310,6 +313,7 @@ build { provisioner "powershell" { execution_policy = "remotesigned" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] scripts = ["${path.root}/../scripts/build/Install-ServiceFabricSDK.ps1"] } @@ -322,7 +326,8 @@ build { } provisioner "powershell" { - scripts = [ + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-ActionsCache.ps1", "${path.root}/../scripts/build/Install-Ruby.ps1", "${path.root}/../scripts/build/Install-PyPy.ps1", @@ -361,12 +366,21 @@ build { "${path.root}/../scripts/build/Install-Mercurial.ps1", "${path.root}/../scripts/build/Install-Zstd.ps1", "${path.root}/../scripts/build/Install-NSIS.ps1", - "${path.root}/../scripts/build/Install-Vcpkg.ps1", "${path.root}/../scripts/build/Install-PostgreSQL.ps1", "${path.root}/../scripts/build/Install-Bazel.ps1", "${path.root}/../scripts/build/Install-AliyunCli.ps1", "${path.root}/../scripts/build/Install-RootCA.ps1", "${path.root}/../scripts/build/Install-MongoDB.ps1", "${path.root}/../scripts/build/Install-CodeQLBundle.ps1", "${path.root}/../scripts/build/Configure-Diagnostics.ps1"] + "${path.root}/../scripts/build/Install-Vcpkg.ps1", + "${path.root}/../scripts/build/Install-PostgreSQL.ps1", + "${path.root}/../scripts/build/Install-Bazel.ps1", + "${path.root}/../scripts/build/Install-AliyunCli.ps1", + "${path.root}/../scripts/build/Install-RootCA.ps1", + "${path.root}/../scripts/build/Install-MongoDB.ps1", + "${path.root}/../scripts/build/Install-CodeQLBundle.ps1", + "${path.root}/../scripts/build/Configure-Diagnostics.ps1" + ] } provisioner "powershell" { elevated_password = "${var.install_password}" elevated_user = "${var.install_user}" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] scripts = [ "${path.root}/../scripts/build/Install-WindowsUpdates.ps1", "${path.root}/../scripts/build/Configure-DynamicPort.ps1", @@ -384,8 +398,9 @@ build { } provisioner "powershell" { - pause_before = "2m0s" - scripts = [ + pause_before = "2m0s" + environment_vars = ["IMAGE_FOLDER=${var.image_folder}"] + scripts = [ "${path.root}/../scripts/build/Install-WindowsUpdatesAfterReboot.ps1", "${path.root}/../scripts/tests/RunAll-Tests.ps1" ] @@ -396,7 +411,7 @@ build { } provisioner "powershell" { - environment_vars = ["IMAGE_VERSION=${var.image_version}"] + environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_FOLDER=${var.image_folder}"] inline = ["pwsh -File '${var.image_folder}\\SoftwareReport\\Generate-SoftwareReport.ps1'"] }