Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Application path

Martin__Paul
New Contributor I
554 Views

Hi,

I wish to install the Fortran 11.1 runtime libraries on a machine that already contains the 10.1 runtime libraries in the root of system32. My installer copies the 11.1 dlls to a subfolder in system32 and then sets this as the application path in the registry. However, at runtime the installed application picks up the 10.1 runtime even though the path has been correctly prepended with the 11.1 runtime location. I am unsure what the approach should be to pointing at the correct runtime where there are multiple versions on the same machine.

Please could you advise on how to correct this behaviour.

Thanks in advance.

0 Kudos
6 Replies
Steven_L_Intel1
Employee
554 Views

What do you mean "sets this as the application path in the registry"?

We provide a redistrivutables installer which you can download from the same place you get compilers. It puts the DLLs in a subfolder of Program FilesCommon FilesIntel and adds that location to the system PATH environment variable.

Using a subfolder of system32 is not a good idea - Microsoft prefers to keep system32 to themselves. If you have to add something to PATH, you may as well put it under Program Files under a folder named for your company.

Look at the definition of PATH to see which location comes first. If your application is an executable, then you can put the DLLs in the same folder as the EXE without messing with PATH.
0 Kudos
Martin__Paul
New Contributor I
554 Views
Thanks Steve. By "sets this as the application path" I mean that the installer adds a new key " HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp PathsMyApp.exe". A subkey Path is defined containing the value of app-specific run-time paths (in this case, the Fortran 11.1 runtime location). At runtime, this is value is prepended to the system Path variable.
I have had a look for the 11.1 redistributable but could not find it - do you happen to have a URL for it?
Many thanks.

What do you mean "sets this as the application path in the registry"?

We provide a redistrivutables installer which you can download from the same place you get compilers. It puts the DLLs in a subfolder of Program FilesCommon FilesIntel and adds that location to the system PATH environment variable.

Using a subfolder of system32 is not a good idea - Microsoft prefers to keep system32 to themselves. If you have to add something to PATH, you may as well put it under Program Files under a folder named for your company.

Look at the definition of PATH to see which location comes first. If your application is an executable, then you can put the DLLs in the same folder as the EXE without messing with PATH.

0 Kudos
Steven_L_Intel1
Employee
554 Views
I wasn't familiar with that "application path" concept. From the reading I can find, this isn't useful for "implicitly linked DLLs", which is what you're looking for. MSDN tells me: "Implicitly linked DLLs are loaded before the task is fully created and receives the modified PATH environment variable. At that time the system uses the Kernel's environment. The DLL will not be found by the system if it does not reside in the usual places where it may find DLLs."

The redistributable installers are available from the Intel Registration Center alongside the compiler downloads. I think in the future they will be available on a public web page.
0 Kudos
Martin__Paul
New Contributor I
554 Views
Thanks for the info. I've downloaded the runtime installer, but if there are Fortran 10.1 runtime libraries in System32, they always take precedence. I couldn't find an installer for the 10.1 runtime - do you know whether there is one? If not, perhaps it would suffice to make my application installer remove the 10.1 libraries from System32 and put them in a side by side location equivalent to where the redistributable copies the 11.1 dlls.
0 Kudos
Steven_L_Intel1
Employee
554 Views

There is not one for 10.1. You should not install the Fortran libraries in system32. Those will take precedence over PATH.
0 Kudos
Martin__Paul
New Contributor I
553 Views
I will make use of the new installer - thanks for your help.
0 Kudos
Reply