ShinyMK ShinyMK - 1 year ago 140 Question

Visual Studio - .NET Framework 4.6.1 Issue for users with Windows 8.1 or Older

tl;dr - It just opens, shows/executes nothing and closes on anything older than Windows 10 as it works perfectly fine on Windows 10.

Test it for yourself:

Working on Windows 10:

Not Working on anything Older then Windows 10:

(This shows if I make the Startup Form something that isn't the Form containing Methods/Functions new in 4.6.1 and then call the Form containing the new Methods/Functions using {MainForm}.Show())
(Windows 8.1 Too:

I have a Program made in VB.NET and it uses .NET Framework 4.6.1 as I thought it would have the least issues but I was wrong, If anyone on Windows 7/8/8.1 tries to run my Application nothing loads due to it using some functions only on .NET Framework 4.6.1.

I can confirm it is because of using .NET Framework 4.6.1 as if I load a form in .NET Framework 4.6.1 with no functions new in .NET Framework 4.6.1 then it loads fine, But if I load a Form with a function like .ToUnixTimeInMilliseconds() it loads, shows and executes nothing then closes. I know it at least loads something as when I open it you can see the Window Focus go out of lets say Windows Explorer to the just Opened app but nothing at all Executes or shows it just eventually closes (I assume) as I cannot find any related process in Task Manager.

This shouldn't be an issue, Windows 7/8/8.1 can install .NET Framework 4.6.1 so why doesn't it load on Windows 7/8/8.1?

Has anyone even realized this issue as I googled for ages and nothing close to being related comes up. Am I missing something Obvious?

Answer Source

you reference an ActiveX component which is not installed 0x80040154 (REGDB_E_CLASSNOTREG).

Exception object: 02499020
Exception type:   System.Runtime.InteropServices.COMException
Message:          Klasse nicht registriert (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00000000 00000001 System_Windows_Forms_ni!System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(System.Guid ByRef, System.Object, Int32, System.Guid ByRef)+0x2
    0037E2A0 6B2B0992 System_Windows_Forms_ni!System.Windows.Forms.AxHost.CreateWithLicense(System.String, System.Guid)+0xc2
    0037E2EC 6B2B0A86 System_Windows_Forms_ni!System.Windows.Forms.AxHost.CreateInstanceCore(System.Guid)+0x2e
    0037E320 6B2B0A45 System_Windows_Forms_ni!System.Windows.Forms.AxHost.CreateInstance()+0x99
    0037E348 6B2B1D63 System_Windows_Forms_ni!System.Windows.Forms.AxHost.GetOcxCreate()+0x17
    0037E354 6B2AEE74 System_Windows_Forms_ni!System.Windows.Forms.AxHost.TransitionUpTo(Int32)+0xc0
    0037E3A0 6B2AE08A System_Windows_Forms_ni!System.Windows.Forms.AxHost.CreateHandle()+0x2a
    0037E3C0 6ACDD215 System_Windows_Forms_ni!System.Windows.Forms.Control.CreateControl(Boolean)+0x75
    0037E3FC 6ACDD2E8 System_Windows_Forms_ni!System.Windows.Forms.Control.CreateControl(Boolean)+0x148
    0037E438 6B2AC785 System_Windows_Forms_ni!System.Windows.Forms.AxHost.EndInit()+0x2d
    0037E444 001E50D2 PRAGMA!PRAGMA.Pragma.InitializeComponent()+0x3a62
    0037EC70 001E0F58 PRAGMA!PRAGMA.Pragma..ctor()+0x1b0