API Support Forum
OEC API > API Support > OEC API COM .NET Framework supported versions?
Author Topic: OEC API COM .NET Framework supported versions?
(5 messages, Page 1 of 1)
Moderators: VPfau
jlanawalt
Posts: 88
Joined: Feb 12, 2009


Posted: Dec 02, 2016 @ 05:09 PM             Msg. 1 of 5
Hi,

Does the API COM .NET framework run without any issues on .NET 4.5 or 4.6? We'd like to install on Windows 8 and 10 without messing with missing .NET 3.5.

Your documentation's FAQ it says:
What are technical requirements for OECAPI?
Windows XP and higher. .NET 2.0 and higher

When I run the installer for OEC API COM 3.5.14.6 on Windows 10 the Setup gives a warning

.NET Framework v2.0 not detected. Continue installation?


If I continue I get to another dialog, for Windows Features saying

Windows Features
An app on your PC needs the following Window Feature:
.NET Framework 3.5 (includes .NET 2.0 and 3.0)

Download and install this feature
Windows will get the files that it needs from Windows Update and complete the installation.

Skip this installation
Your apps might not work correctly without this feature.
Cancel


It tells windows to download the required files. Then later "The following feature was successfully installed" so your installer handles this, but it would be nicer if none of that was necessary.

Thanks,
Jacob
--
Jacob Anawalt
jlanawalt
Posts: 88
Joined: Feb 12, 2009


Posted: Dec 05, 2016 @ 10:06 AM             Msg. 2 of 5
I tested on a Windows 10 system with .NET 4.6 and it fails to create the COM instance, so I guess the question is, can the API COM .NET framework be made to run on .NET 4.5 and 4.6 while still working with systems with .NET 3.5 or even the old .NET 2.0 installed?
--
Jacob Anawalt
JSmith5611
Posts: 187
Joined:


Posted: Dec 14, 2016 @ 09:27 AM             Msg. 3 of 5
The COM library is currently built against .NET 2.0, in theory for maximum compatibility with legacy applications.

Also, if you are having trouble getting the COM API to initialize, do you have a platform conflict? (the x64 COM API cannot be initialized from a x32 application, and vice versa.)

If you are creating a new application, why have you decided to use the COM API instead of the regular API?
Jason Smith

Edited by JSmith5611 on Dec 14, 2016 09:31 AM
jlanawalt
Posts: 88
Joined: Feb 12, 2009


Posted: Dec 14, 2016 @ 11:08 AM             Msg. 4 of 5
OK, so it requires .NET 2.0, not .NET 2.0 and higher (certainly not .NET 4+). We also want to keep a wide range of compatibility, especially to support Windows 7 and 10 at the same time. The FAQ lead me to believe it could run on all later versions of .NET and so I thought I was doing something wrong when it didn't work.

The platform conflict getting the COM API to initialize wasn't an 32 / 64 bit issue, it was attempting to run it on a system with .NET 4.6 and no .NET 2.0. I wanted see if the COM API would run without .NET 2.0. It didn't appear to work.

Our application isn't new and it doesn't naively use .NET. We've been developing it since before Windows 7 came out and it is written in C++ using MFC. My understanding is that unless we switch to using the CLR ourselves, perhaps using C++/CLI, we need a COM interface to interact with managed code.

To recap my questions.

Does the API COM .NET framework run without any issues on .NET 4.5 or 4.6?


From my testing it seems the answer is No.

Can the API COM .NET framework be made to run on .NET 4.5 and 4.6 while still working with systems with .NET 3.5 or even the old .NET 2.0 installed?


I don't know what dependencies your COM API has beyond the .NET managed dlls like API.dll, or if API.dll works on all verions of .NET. Because I don't know this, I don't know if it could be as simple as your adding supportedRuntime version="v4.0" to the application configuration file so that it would "just work" on Windows 8 & 10 like it currently "just works" on Vista and 7 and, if you install the .NET 3.5 framework, on XP.

--
Jacob Anawalt
JSmith5611
Posts: 187
Joined:


Posted: Dec 16, 2016 @ 11:42 AM             Msg. 5 of 5
due to the way registering COM APIs work, it is not possible to add an additional supported runtime, so the .NET 2.0 runtime is needed.

see https://msdn.microsoft.com/en-us/library/hh506443(v=vs.110).aspx for installation instructions on Windows 8/10
Jason Smith