Installing Win10 21H1 ISO - Failing

Hello, I am running the Fixlet “Windows 10 Business Editions Version 21H1 Available - Windows 10 (x64) (English (United States))”" using a Custom Repository. The workstations receive the image with no problems, but when the system reboots the upgrade doesn’t happen. I have verified the script is running by placing a message when the action is running, I see .iso being placed and I see the message to restart the workstation. I reboot it and check the version and remains the same. I have left it overnight without doing any manual reboot and same outcome. I have not modified the ActionScript, could someone guide me on where to look for logs that can tell me what has failed? I have seen some logs under “c$\Program Files (x86)\BigFix Enterprise\BES Client” and I don’t see any errors.

I have seen the .iso stored here “c$\Program Files (x86)\BigFix Enterprise\BES Client__BESData\Enterprise Security__Download” and also stored here “c$\win10_upgrade_temp”. regardless where the .iso is, once the system is rebooted the .iso file gets deleted and BigFix shows the workstation as “Fixed”. I can share ActionScript if needed.

hello,
Can you please share the action script? and try checking these logs,
https://support.microsoft.com/en-us/topic/log-files-that-are-created-when-you-upgrade-to-a-new-version-of-windows-9ec8aa31-0cc1-a0b2-2d98-e9c6714349b9

Hello, here is the action script:

begin prefetch block
if {((free space of drive of windows folder)/(102410241024) > 6 )}
add prefetch item name =en_windows_10_business_editions_version_21h1_x64_dvd_ec5a76c1.iso sha1=BDE4DBA4B702A17880F5E17935B3CAA212FD2C0A size=5694537728 url={value of setting “_BESClient_AllowCustomRepoDownloads” of client | “http://MANUAL_BES_CACHING_REQUIRED/”}en_windows_10_business_editions_version_21h1_x64_dvd_ec5a76c1.iso sha256=0FC1B94FA41FD15A32488F1360E347E49934AD731B495656A0A95658A74AD67F
endif
end prefetch block

parameter “workISO” = "{pathname of client folder of current site & “__Download\en_windows_10_business_editions_version_21h1_x64_dvd_ec5a76c1.iso”}"
continue if {exists file (parameter “workISO”)}

// prepare a workpath to temporary files.
parameter “workPath” = "{(value of variable “SystemDrive” of environment) & “\win10_upgrade_temp”}"
waithidden cmd /C rmdir /S /Q "{parameter “workPath”}"
waithidden cmd /C mkdir “{parameter “workPath”}”

// Create the cleanup file.
delete __appendfile
delete __Download\setupcomplete.cmd

appendfile @echo off
appendfile SET WindowsISO="{parameter “workISO”}“
appendfile powershell.exe “Dismount-DiskImage “”%WindowsISO%””"
appendfile rmdir /S /Q “{parameter “workPath”}”

move __appendfile __Download\setupcomplete.cmd

// Create a debug invocation batch to help in case of failures.
// This batch does not perform an update but with the scanonly option allows you to determine what the problem is.
delete __appendfile

appendfile @echo off
appendfile SET WindowsISO="{parameter “workISO”}“
appendfile FOR /F “skip=3” %%I IN ('powershell.exe “Get-DiskImage “””%WindowsISO%”"" | Get-Volume | Select-Object {{$_.DriveLetter}"’) DO “%%I:\setup.exe” ‘/auto upgrade /Compat ScanOnly /DynamicUpdate disable /noreboot’"
appendfile echo %errorlevel% > “{parameter “workPath”}\out.log”

move __appendfile “{(parameter “workPath”) & “/upgradeCheck.bat”}”

// Create the actual invocation script
// Sleep and Dir were added or command would fail with %errorlevel% 183. Possibly a delay on mount.
delete __appendfile
delete mount.and.install.bat

appendfile @echo on
appendfile SET WindowsISO="{parameter “workISO”}“
appendfile powershell.exe “Mount-DiskImage “”%WindowsISO%””“
appendfile TIMEOUT 10
appendfile FOR /F “skip=3” %%I IN ('powershell.exe “Get-DiskImage “””%WindowsISO%”"" | Get-Volume | Select-Object {{$_.DriveLetter}"’) DO dir %%I: > “{parameter “workPath”}\dir.log” && “%%I:\setup.exe” ‘/auto upgrade /Quiet /DynamicUpdate disable /noreboot /postoobe’ "{pathname of client folder of current site & “__Download\setupcomplete.cmd”}"
appendfile echo %errorlevel% > "{parameter “workPath”}\out.log"
move __appendfile mount.and.install.bat

wait mount.and.install.bat > “{parameter “workPath”}\cmd.log”

wait __Download\setupcomplete.cmd >"{parameter “workPath”}\setupcomplete.log"

// setup must finish with RC=0 at this stage if things are ok. If that is not the case content of C:"\win10_upgrade_temp dir holds useful info.
// Apart from log files, you can run upgradeCheck manually to check with the UI what the problem is.

action requires restart “BDE4DBA4B702A17880F5E17935B3CAA212FD2C0A”

I have an update as well, so I extracted the files from the .iso and ran the setup manually. In the beginning it wasn’t working, but then after some research, I discovered it was the powershell script that was wrong. So with the files extracted to a folder, I ran the following using in an elevated powershell session: Start-Process “setup.exe” ‘/auto Upgrade /NoReboot /DynamicUpdate Disable’

The updated started and completed with no issues, after I manually rebooted the system was upgraded to 21H1.

This tells me the the action script may not be running the setup.exe command properly or ? So, I used another system and ran the .iso manually, because for some reason the .iso is not being mounted. When I tried to manually run the command I received an error of access denied, see below:

PS C:\Windows\system32> Start-Process “D:\setup.exe” '/auto upgrade /DynamicUpdate disable /noreboot’
Start-Process : This command cannot be run due to the error: Access is denied.

I ran the attributes command to find out what the permissions I have on the setup.exe file and I have Read-Only.

PS C:\Windows\system32> (get-item d:\setup.exe).Attributes
ReadOnly

Could this be the problem? is the Action Script getting stopped because of the .iso is read-only and/or is the code in the Action Script wrapping the “setup.exe” and its parameters correctly? and why the .iso is not being mounted?

Thank you,