tags:

views:

64

answers:

4

Hello, here's my question:

My company is always having problems with software not working because "run-times" or missing. I hear people say this a lot (you need the 32-bit run times, Microsoft run-times, etc etc).

What exactly is being referred to? DLL files? Something different? Can anyone please clarify?

Thanks!

RKL

+1  A: 

They are probably referring to Microsoft's 3rd party libraries and the .NET framework.

Your company's applications probably uses some 3rd party libraries such as MFC, ATL etc. in case of application's written in a .NET language e.g. C#, VB.NET, if you're developeing using Java there is a JRE (Java Runtime env) that have to be installed for the application to run.

If the required dlls/framework ween't installed/deployed on the customer's machine you'll probably get a "runtime error".

This is a deployment issue - which with the correct install process can be solved - e.g. the installer can check if the required framework is installed and if not install it as part of the installation process.

Dror Helper
+1  A: 

Run-time is basically the time at which your code is running (as opposed to compile-time or link-time).

In the context you're seeing it, it means run-time libraries, those libraries needed to load an execute your program.

This is dynamically linked stuff (DLLs or shared objects) since statically linked code can't be missing (it's in the executable file itself).

A classic example is to depend on Microsoft's C run-time or .NET libraries but not ship them with your product. That means your executable will run on any machine that has those libraries already there (such as those with Visual Studio installed) but not necessarily every computer you want to run your code on.

I answered a question here regarding the difference between static and dynamic linking which should hopefully add to your knowledge. The dynamic linking allows you to update certain parts of the application without recompiling or relinking. You do this by dropping in a new version of the DLL. Unfortunately, having that code in a separate file means it can go missing.

That would be one cause of the problem but I suspect the most likely is just that someone didn't do their installation code very well, otherwise everything needed would have been installed.

paxdiablo
Great, thanks!So those "runtimes" are DLLs? (as I expected) I knew it wasnt lib files, but I thought there might be something else too.Thanks!
Russel
Yes, that's pretty much it under Windows. They're named differently on other platforms but the concepts are the same.
paxdiablo
+1  A: 

A runtime in this context is a runtime library - a shared library (on Windows indeed a DLL), most commonly specifically referring to the one which provides basic functionality of the language. It implements the functions that are thought to be "built into" a language core. Thus, no program compiled with a compiler which requires a runtime library will run if such a library for it is not installed - or if the program is specifically statically linked (with everything needed packed into the executable).

Amadan
+2  A: 

To give you a practical example - here are some links to some common runtimes:

These are system-wide installs - so any software that requires a particular runtime will be able to use it, once installed.

Andrew Russell