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

Tell us about how you distribute DLLs

Steven_L_Intel1
Employee
485 Views
If you use Intel Visual Fortran to build a DLL for distribution to your users/customers, how do you handle dealing with the redistribution of DLLs your DLL requires, such as the Intel Fortran run-time DLLs? How do you provide the redistributables and where do you install them?

Also, have you ever encountered an issue caused by the Intel run-time DLLs being linked against the VS98 MSVCRT.DLL while your own code (if it was mixed language, perhaps) used a newer MSVC DLL? If so, what kind of issue and how did you resolve it?

I'm asking because we're considering a change in the way we build our run-time DLLs that could affect our customers who build DLLs for redistribution. Thanks.
0 Kudos
3 Replies
Nick2
New Contributor I
485 Views

I try to link everything statically if possible. Yes, this includes Intel Runtime library. Heaven!

Afew OCX controls we purchased 5 years ago, an older dll dependency, CVF runtime (won't be changing any time soon),F90SQLfor CVF- end up in the SYSTEM32 folder, registered by the installer. Most of these are no longer supported anyway, and we have the latest version of these items.

IVF dependencies (latest and greatest, and a new version every so often), allmanaged dependencies go into the same folder like the main exe and the main dll. This would be Program FilesCompanyNameAppName.....

We distribute CDs that have a setup.exe to install all pre-req's (.NET 2.0, MDAC, Windows Installer 3.1), and then it starts the setup.msi that handles everything else. 'Bless the MSI, it compresses over 1GB of junk into a 100MB file.

Ooops I forgot...MSVCRT? What's that :-P Our customers are responsible for having Win2k SP4 or WinXP

0 Kudos
Intel_C_Intel
Employee
485 Views
Hi Steve,

We distribute our software by CD or download from our web site using the InstallShield wizard. It puts the Intel Fortran redistribution DLLs into winnt/system32. Other program specific dlls are put into the install directory. We have a mixed Visual Basic and Fortran software, so the installer also puts several ocx files into winnt/system32.

I don't think we've ever had the issue you describe. Some of the software specific dlls are older version Fortran (Compaq 6.6) since they haven't been ported to the Intel Fortran yet. So we have old and new dlls all working well together.

In other programs we use, we've had an occasional support dll version problem. In those cases, the necessary version of the dll was placed in the install directory and that corrected the conflict problem. I think the dll in the same directory as the exe is found first.

When we have other problems, we can often resolve them using the Dependancy Walker to find which dlls have dependancies on other dlls.

I hope this information helps.
Regards,
Greg
0 Kudos
wfroese
Beginner
485 Views

I am using Wise Install Master and distribute my VB6 or .Net 1.1 / 2 applications with that.

With CFV I could just compile the dffort.dll into my dll and then only add my one file to the distribution. Now with Intel, I grab a mess of dlls and put them in my user's system folder.

0 Kudos
Reply