1

I am in the process of refactoring a large application originally written in .NET 2.0, running on an old version of Microsoft's Compact Framework. The idea is to refactor and rewrite the code so that it in the future will run on Windows 10 IoT. So far this is going pretty well.

However, the program should also ideally run on Windows 7 for Embedded Systems as a service to some existing users.

Is it safe to assume that all .NET Framework versions over 4.0 will work on both these target platforms, or are there any considerations that need to be made? I cannot seem to find any official statements on supported frameworks for Windows 10 IoT, and Microsoft's tutorial only mention Universal Windows apps, which are not compatible with any versions of Windows 7.

I look forward to some input on this.

3
  • For Win7 Embedded see blogs.msdn.microsoft.com/windows-embedded/2015/08/10/…
    – Doc Brown
    Commented May 16, 2017 at 10:50
  • On developer.microsoft.com/en-us/windows/iot/Docs/…, read the part below "Non-UWP Apps": "The only .Net Framework supported on IoT Core supports only UWP apps" - sounds to me only .Net Core is supported in Win 10 IoT, not .Net Fw 4.0
    – Doc Brown
    Commented May 16, 2017 at 13:31
  • Hello Doc Brown, thanks for the useful link. Universal Windows and .NET Core are the alternatives on Windows 10 IoT Core. .NET Framework and .NET Core are the alternatives on WIndows 7 FES. I am still wondering whether I will need to adapt the large existing program to .NET Core, or if there is a better option. Perhaps adapt the existing program to Win 7 FES, and then only continue development on the Win10 version. Hmm.
    – Excavator
    Commented May 16, 2017 at 14:12

1 Answer 1

-1

No, you cannot be 100% sure that .NET 4.0 is available on Windows 7. Have a look at Microsoft's version overview. For Windows 7 .NET 4.0 is optional.

You can take .NET 3.5 for granted but this is again optional for the several Windows server platforms. Otherwise .NET 2.0 is the minimum available.

However, if you deploy your application with a WiX installer, you could add a .NET 4.0 package to your installer Bundle, such that .NET gets installed if not already present.

4
  • 1
    AFAICS that link tells nothing about "Windows 7 for Embedded Systems" or "Win 10 IoT", which is what the OP asked for, not "Win7 / Win10 for PCs"
    – Doc Brown
    Commented May 16, 2017 at 10:43
  • True, but if .NET 4.0 is optional for Windows 7 for PC, this is true even more so on Windows Embedded.
    – Jan
    Commented May 16, 2017 at 11:09
  • 1
    I think you are missing the point. The OP wants to know if he writes a program using .NET Fw 4.0, can it run on Win 7 Embedded and Win 10 IoT (I don't think he minds if that Fw version has to be installed separately - which is what AFAIK optional means - or if it is available "out of the box"). But I cannot find any information about "Win 10 IoT" supporting .Net Fw 4.0 at all, only ".NET core", so I guess it is not available.
    – Doc Brown
    Commented May 16, 2017 at 11:17
  • Hello Jan, thanks for your answer. From your link, it looks like .NET 4.0 and above are supported on Win 7, but indeed I am wondering about how to solve the issue of adapting my application so that it is compatible with both Windows 7 for Embedded Systems and Windows 10 IoT Core. Your WiX installer tip is useful, thanks for that. I guess I am looking for some experience with adapting an application to different Windows Embedded versions.
    – Excavator
    Commented May 16, 2017 at 14:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.