Sorry, I see I left out a lot of information.
We are using Confiigmgr to deploy and patch Office. I don't think that has any direct bearing on the issue since this is not about updating Office - but instead is adding a new product to the installed Office suite. The SKU we are installing is Microsoft 365 Apps for Business assigned to the semi-annual channel. Clients would not be upgraded from v2008 to v2012 until we approve the update in Configmgr.
I am not trying to install a particular version of Project or Visio. Instead, I am instructing OCT's Setup.exe to match the version of Office installed using a configuration XML file passed to Setup.exe (below)
When the version of Office 365 is v2008 and the channel is semi-annual, the information in the registry is PROD:DCEXT (screenshot below) and the installation of Visio fails because Setup.exe cant figure out that this is semi-annual channel to use for the CDN URL so it defaults to Monthly. This is seen in the logs for the installation... it mentions setting the channel override to Monthly. And the URL it tries to download from looks like ... http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/Office/Data/v32_16.0.13127.21704.cab .... That 492350f6... means it is trying to download from monthly channel. If I replace the 4923... with 7ffbc6bf-bc32-4f92-8982-f9dd17fd3114 and paste it into a browser, the CAB downloads fine.
If the same client is updated to v2102, then the Registry changes to match your screenshot -- to PROD:DC and Setup.exe correctly identifies the Semi-Annual channel and builds the CDN URL correctly and Visio installs properly.
Certainly, a workaround is to install the version upgrade immediately when it is released to the Semi-Annual Channel, but there also is a 3-4 month overlap when both v2008 and v2102 are considered Semi-Annual Channel and should be supported by setup.exe and the CDN. I think the problem could be solved by fixing setup.exe so it recognizes a client in the DCEXT state as Semi-Annual channel and builds the CDN URL with the regular Semi-Annual channel GUID. It shouldn't just say DCEXT??? what is that.??? and default to monthly. Alternatly, it could just use the information it finds in CDNBaseURL and trust it. Even when the client is on v2008, this value is still correct at 7ffbc6bf-bc32-4f92-8982-f9dd17fd3114
A semi-annual channel client with v2008 installed currently has this in the registry
The XML I am using to install Visio Standard is this. I have removed the PIDKEY. I think this is a public key that signals Visio to use KMS for the license, but I am not 100% sure so better safe than sorry. You can see here that I am not specifying a version but rather telling Setup.exe to match the installed version and bitness of Office.
<Configuration>
<Add Version="MatchInstalled">
<Product ID="ProjectStd2019Volume" PIDKEY="<<<KMS GUID>>>">
<Language ID="MatchInstalled" TargetProduct="O365ProPlusRetail" />
</Product>
</Add>
<Display Level="Full" AcceptEULA="TRUE" />
<Property Name="AUTOACTIVATE" Value="0" />
<Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
<Logging Level="Standard" Path="%TEMP%"/>
<RemoveMSI>
<IgnoreProduct ID="InfoPath"/>
<IgnoreProduct ID="InfoPathR"/>
<IgnoreProduct ID="PrjPro"/>
<IgnoreProduct ID="PrjStd"/>
<IgnoreProduct ID="SharePointDesigner"/>
</RemoveMSI>
<Remove>
<Product ID="ProjectPro2019Volume">
</Product>
<Product ID="ProjectStdXVolume">
</Product>
<Product ID="ProjectProXVolume">
</Product>
</Remove>
</Configuration>