.NEt 3.5 fondue dialog coming up in WPF application

Amera Vinayak 1 Reputation point
2022-09-12T21:00:07.263+00:00

Suddenly our WPF application is getting a .Net 3.5 dialog to install, we don't want it. Our app is on .Net 4.8. I used CLR activation logs and here are they :

Logs when dialog shows up :

9800,10972.640,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {B79B0ACD-F5CD-409B-B5A5-A16244610B92}, Iid: {9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}
9800,10972.921,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {B79B0ACD-F5CD-409B-B5A5-A16244610B92}, Iid: {9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}
9800,10973.078,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {B79B0ACD-F5CD-409B-B5A5-A16244610B92}, Iid: {9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}
9800,10973.187,FunctionCall: ClrCreateInstance, Clsid: {9280188D-0E8E-4867-B30C-7FA83884E8DE}, Iid: {D332DB9E-B9B3-4125-8207-A14884F53216}
9800,10973.187,MethodCall: ICLRMetaHost::GetRuntime. Version: v4.0.30319, Iid: {BD39D1D2-BA2F-486A-89B0-B4B0CB466891}
9800,10973.187,MethodCall: ICLRRuntimeInfo::IsLoadable. Version v4.0.30319
9800,10973.187,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {90F1A06E-7712-4762-86B5-7A5EBA6BDB02}, Iid: {90F1A06C-7712-4762-86B5-7A5EBA6BDB02}
9800,10973.203,FunctionCall: ClrCreateInstance, Clsid: {9280188D-0E8E-4867-B30C-7FA83884E8DE}, Iid: {D332DB9E-B9B3-4125-8207-A14884F53216}
9800,10973.203,MethodCall: ICLRMetaHost::GetRuntime. Version: v4.0.30319, Iid: {BD39D1D2-BA2F-486A-89B0-B4B0CB466891}
9800,10973.203,MethodCall: ICLRRuntimeInfo::IsLoadable. Version v4.0.30319
9800,10973.203,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {B79B0ACD-F5CD-409B-B5A5-A16244610B92}, Iid: {9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}
9800,10973.203,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {B79B0ACD-F5CD-409B-B5A5-A16244610B92}, Iid: {9FD93CCF-3280-4391-B3A9-96E1CDE77C8D}
9800,10973.281,Input values for ComputeVersionString follow this line
9800,10973.281,-----------------------------------
9800,10973.281,IsLegacyBind is: 1
9800,10973.281,IsCapped is 1
9800,10973.281,SkuCheckFlags are 1
9800,10973.281,ShouldEmulateExeLaunch is 0
9800,10973.281,LegacyBindRequired is 0
9800,10973.281,-----------------------------------
9800,10973.281,Parsing config file: <Config File Path>
9800,10973.281,Config File (Open). Result:00000000
9800,10973.281,Config File (Read). Result:00000000
9800,10973.281,Found config file: <Config File Path>
9800,10973.281,UseLegacyV2RuntimeActivationPolicy is set to 0
9800,10973.281,Config file includes SupportedRuntime entry. Version: v4.0, SKU: (null)
9800,10973.281,Found a supportedRuntime tag in the config file
9800,10973.281,V2.0 Capping is preventing consideration of a newer runtime
9800,10973.281,LegacyFunctionCall: GetFileVersion. Filename: <Exe File Path>
9800,10973.296,LegacyFunctionCall: GetFileVersion. Filename: <Exe File Path>
9800,10973.296,<Exe File Path> was built with version: v4.0.30319
9800,10973.296,Default version of the runtime on the machine: (null)

9800,10973.296,ERROR: Unable to find a version of the runtime to use.
9800,10973.296,SEM_FAILCRITICALERRORS is set to 0
9800,10973.296,Checking if feature-on-demand installation would help
9800,10973.296,Input values for ComputeVersionString follow this line
9800,10973.296,-----------------------------------
9800,10973.296,IsLegacyBind is: 1
9800,10973.296,IsCapped is 1
9800,10973.296,SkuCheckFlags are 1
9800,10973.296,ShouldEmulateExeLaunch is 0
9800,10973.296,LegacyBindRequired is 0
9800,10973.296,-----------------------------------
9800,10973.296,Found config file: <Config File Path>
9800,10973.296,UseLegacyV2RuntimeActivationPolicy is set to 0
9800,10973.296,Config file includes SupportedRuntime entry. Version: v4.0, SKU: (null)
9800,10973.296,Found a supportedRuntime tag in the config file
9800,10973.296,V2.0 Capping is preventing consideration of a newer runtime
9800,10973.296,LegacyFunctionCall: GetFileVersion. Filename: <Exe File Path>
9800,10973.296,LegacyFunctionCall: GetFileVersion. Filename: <Exe File Path>
9800,10973.312,<Exe File Path> was built with version: v4.0.30319
9800,10973.312,FindLatestVersion is returning the following version: v2.0.50727 Input VERSION_ARCHITECTURE: 0, V2.0 Capped: 1
9800,10973.312,Default version of the runtime on the machine: v2.0.50727
9800,10973.312,Decided on runtime: v2.0.50727
9800,10973.312,Launching feature-on-demand installation. CmdLine: "C:\WINDOWS\system32\fondue.exe" /enable-feature:NetFx3 /caller-name:mscoreei.dll

When the fondue dialog is not shown:
8536,12639.796,FunctionCall: _CorDllMain. Reason: 1
8536,12639.796,LegacyFunctionCall: GetFileVersion. Filename: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
8536,12639.796,LegacyFunctionCall: GetFileVersion. Filename: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
8536,12639.796,MethodCall: ICLRMetaHostPolicy::GetRequestedRuntime. Version: , Metahost Policy Flags: 0x0, Binary: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll, Iid: {BD39D1D2-BA2F-486A-89B0-B4B0CB466891}
8536,12639.796,Input values for ComputeVersionString follow this line
8536,12639.796,-----------------------------------
8536,12639.796,Default Application Name: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
8536,12639.796,IsLegacyBind is: 0
8536,12639.796,IsCapped is 0
8536,12639.796,SkuCheckFlags are 1
8536,12639.796,ShouldEmulateExeLaunch is 0
8536,12639.796,LegacyBindRequired is 0
8536,12639.796,-----------------------------------
8536,12639.796,Parsing config file: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll.config
8536,12639.796,Config File (Open). Result:80070002
8536,12639.796,UseLegacyV2RuntimeActivationPolicy is set to 0
8536,12639.796,LegacyFunctionCall: GetFileVersion. Filename: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
8536,12639.796,LegacyFunctionCall: GetFileVersion. Filename: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
8536,12639.796,C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll was built with version: v4.0.30319
8536,12639.796,Decided on runtime: v4.0.30319
8536,12639.812,MethodCall: ICLRRuntimeInfo::GetVersionString. Version: v4.0.30319
8536,12639.812,MethodCall: ICLRRuntimeInfo::GetInterface. Clsid: {F7721072-BF57-476D-89F8-A7625D27683A}, Iid: {07C4E752-3CBA-4A07-9943-B5F206382178}
32048,12639.890,FunctionCall: OnShimDllMainCalled. Reason: 2

We don't want the .Net 3.5 fondue dialog

Windows Presentation Foundation
Windows Presentation Foundation
A part of the .NET Framework that provides a unified programming model for building line-of-business desktop applications on Windows.
2,678 questions
.NET Runtime
.NET Runtime
.NET: Microsoft Technologies based on the .NET software framework.Runtime: An environment required to run apps that aren't compiled to machine language.
1,125 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Hui Liu-MSFT 40,661 Reputation points Microsoft Vendor
    2022-09-13T06:15:02.18+00:00

    Hi,@Amera Vinayak . Welcome Microsoft Q&A.

    I think there are two basic ways to cause this problem.

    1.Windows recognizes .NET executables specially. As part of launching a process, it could examine the executable, realize it targets a version of the CLR that is not installed, and prompt via fondue to install that version of the CLR.
    2.Part of loading a .NET executable and in particular the right version of the CLR all goes through a central point such as mscorlib.dll. As part of this loading process, if the target version of the CLR is not available, it could launch and wait for fondue.

    The following two ways can avoid this problem.

    1.Install the required version of the .NET Framework first. In general, this becomes difficult because sometimes it requires a redistributable,sometimes it requires enabling a Windows feature, and sometimes that feature is not locally available.
    2.Configure the .NET executable to support using later versions of the CLR. Typically a later version of .NET is present when fondue is shown. Do this by adding the supportedRuntime element to the .exe.config file. If possible, it's better for the development team to do this rather than the installation team, as there are backwards compatibility reasons that this option is not enabled by default.


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.