Author |
Topic: OEC API COM .NET Framework supported versions? (5 messages, Page 1 of 1) |
||||
---|---|---|---|---|---|
Moderators: VPfau | |||||
jlanawalt Posts: 88 Joined: Feb 12, 2009 |
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 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 |
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: |
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 |
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: |
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
|
||||