WD Discovery installer quits with no reason

I tried several times to install the WD Discovery application (v4.2.288) downloaded from here: Software and Firmware Downloads | WD Support (wdc.com)

As soon as I double click the installer, it quits immediately without any message or interaction.

Windows Event Viewer reports the following application error:

Faulting application name: WD Discovery Installer.exe, version: 1.0.446.0, time stamp: 0x5fc0c921
Faulting module name: KERNELBASE.dll, version: 10.0.19041.662, time stamp: 0xec58f015
Exception code: 0xe0434352
Fault offset: 0x000000000002d759
Faulting process id: 0x948
Faulting application start time: 0x01d6ed134b3c5e37
Faulting application path: C:\Users\Dan\AppData\Local\Temp\WDTEMP\Install WD Discovery for Windows (2).exe-sfx\WD Discovery Installer.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 8c372de4-a21b-4f03-aeae-4da64352c849
Faulting package full name:
Faulting package-relative application ID:

And also a .NET Runtime error:

Application: WD Discovery Installer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentNullException
at System.Reflection.RuntimeAssembly.GetResource(System.Reflection.RuntimeAssembly, System.String, UInt64 ByRef, System.Runtime.CompilerServices.StackCrawlMarkHandle, Boolean)
at System.Reflection.RuntimeAssembly.GetManifestResourceStream(System.String, System.Threading.StackCrawlMark ByRef, Boolean)
at System.Reflection.RuntimeAssembly.GetManifestResourceStream(System.String)
at WDDiscoveryInstaller.Program.OnResolveAssembly(System.Object, System.ResolveEventArgs)
at System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly, System.String)

Exception Info: System.IO.FileLoadException
at System.Reflection.RuntimeAssembly._nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(System.Reflection.AssemblyName, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean)
at System.Reflection.RuntimeAssembly.InternalLoad(System.String, System.Security.Policy.Evidence, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean)
at System.Reflection.RuntimeAssembly.InternalLoad(System.String, System.Security.Policy.Evidence, System.Threading.StackCrawlMark ByRef, Boolean)
at System.Reflection.Assembly.Load(System.String)
at System.Windows.SystemResources+ResourceDictionaries.LoadExternalAssembly(Boolean, Boolean, System.Reflection.Assembly ByRef, System.String ByRef)
at System.Windows.SystemResources+ResourceDictionaries.LoadThemedDictionary(Boolean)
at System.Windows.SystemResources.FindDictionaryResource(System.Object, System.Type, System.Windows.ResourceKey, Boolean, Boolean, Boolean, Boolean ByRef)
at System.Windows.SystemResources.FindResourceInternal(System.Object, Boolean, Boolean)
at System.Windows.SystemResources.FindThemeStyle(System.Windows.DependencyObjectType)
at System.Windows.StyleHelper.GetThemeStyle(System.Windows.FrameworkElement, System.Windows.FrameworkContentElement)
at System.Windows.FrameworkElement.UpdateThemeStyleProperty()
at System.Windows.FrameworkElement.OnInitialized(System.EventArgs)
at System.Windows.FrameworkElement.TryFireInitialized()
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(System.Xaml.XamlType, System.Object, Boolean)

Exception Info: System.Windows.Markup.XamlParseException
at System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
at WDDiscoveryInstaller.MainWindow…ctor()
at WDDiscoveryInstaller.App.ApplicationStartup(System.Object, System.Windows.StartupEventArgs)
at System.Windows.Application.OnStartup(System.Windows.StartupEventArgs)
at System.Windows.Application.<.ctor>b__1_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at WDDiscoveryInstaller.App.Main()
at WDDiscoveryInstaller.Program.Main(System.String)

Hello,

Please refer to the following KBA article: https://support-en.wd.com/app/answers/detail/a_id/11206/