In attempting to troubleshoot upgrades from Windows 10 1809 to 1909 which don't even get as far as a reboot being triggered, I am seeing SetupDiag behave oddly, in a way that leaves it useless. So far I have not found any mention of anyone else encountering the same problem.
When I run SetupDiag without the '/" switch, it prints the expected output up through "Searching for setup logs...", then exits; this takes less than a second. The 'SetupDiagResults.log' file is not created. The files 'SetupDiag.exe.config' and 'SetupDiag_DD-Mon-YYYY.log' do get created, but the former has no obviously useful information and the latter is empty (0 bytes).
If I run it with the '/verbose' switch, the latter file gets a few hundred bytes of content, consisting mostly of function-call names. The final line printed reads 'HH-MM-SS - SetupDiag: Enter CSetupDiag.FindParseLatestSetupLogs().' I have found no useful references to this online thus far.
These things happen both with the default options, and when I specify '/LogsPath' and/or '/Output' explicitly. In neither case does the '/Output' file get created. Thus far, they have happened on every 1809 computer I've tried in our environment, whether known to be exhibiting the upgrade failure or not. I am not sure whether I've yet tried this on 1909, or any other Win10 version besides 1809; it would be of limited usefulness there, because we need to assess the 1809 upgrade failure, but we could at least probably do that via '/LogsPath' if it does work there at all.
I can't file a report about this via Feedback Hub, because we lock down telemetry via Group Policy far enough that Feedback Hub refuses to operate.
I've re-downloaded the latest SetupDiag.exe (1.6.0.42), and verified that it is binary identical to the one with which I've been seeing these results.
I've searched through the logs of our antivirus product (McAfee Endpoint Security), and although it's definitely noticing that the program is being run, none of the references show any sign of anything being blocked.
I'm not sure whether this is a bug in SetupDiag, or a problem with the logs it's trying to search for / through, or whether somehow the configuration we have in place on the overall system is causing the program to misbehave (although that latter would probably itself represent a SetupDiag bug, since to the best of my knowledge all the potentially-relevant configuration in place is a combination of things documented and supported by Microsoft).
Any ideas of what might be causing this, how to resolve it, and/or where I can go from here?
(Advice on the original root problem, of the failing in-place upgrades, wouldn't hurt either - but it's not what I'm focusing on here.)
This looks like a clear case for tagging as 'SetupDiag', and none of the tags I'm finding in the available list seem suitable, but it won't let me post this without a tag so I've picked one that's at least related to the underlying problem I was trying to solve even if it's not related to the problem I'm asking about.