0

As mentioned in the accepted answer on a previous question, I now know how to use .Net classes (like System Management) in order to do some .Net related programming in my Progress-4GL program.

As mentioned in the answer, this development is based on a DLL (in this particular case, System.Management.dll).

A simple search on my PC revealed several instances of that file:

Prompt>dir /S /B System.Management.dll
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client\System.Management.dll
...

C:\Windows\WinSxS\msil_system.management_b03f5f7f11d50a3a_4.0.15744.161_none_b6b533cbb2171a8a\System.Management.dll

Obviously it makes no sense programming something on my PC, based on some DLL, present on my PC, when I want that program to work on a customer's computer while I don't know anything about that customer's computer (OK, I know it's a Windows computer).

What are the prerequisites for a customer's computer in order to be able to use .Net related classes and what's an easy way to check those prerequisites?

Edit after small investigation

In the meantime I found out that I can find the list of installed .Net frameworks on a PC, using this commandline command:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

How can I know the link between those versions and the DLL I'm referring to?

Dominique
  • 16,450
  • 15
  • 56
  • 112

1 Answers1

0

.NET Framework/Core comes with all DLLs included. Any version will do, unless the app has been configured to only use a specific version.

MSCORLIB.dll version 1.1, 2.0 (that's for Framework up til 3.5) and 4.0 (up til 4.8) would run side-by-side in the same exceution space.

Charlieface
  • 52,284
  • 6
  • 19
  • 43