Short answer: Yes, It's fine to install it. If the game requires that version of the library, it won't run (properly) without it.
Long answer:
Frameworks like DirectX, OpenGL etc are (basically) just collections of common functions i.e. things which every program needs to do, but don't need to be reinvented/rewritten every time you write a new program. DirectX for example, is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video.
Of course, being programs & libraries themselves, they get updated regularly with bug fixes, new features, improvements to the performance of older functions, and sometimes (especially major updates) a restructuring and rebuilding of the entire package itself.
What this means is that sometimes when older programs attempt to access features in the newer frameworks, those features aren't there. They've either been moved, renamed, or changed drastically so that the result is not what the program was expecting.
For example, say a game relied on a function:
DrawObjectToScreen(Object o, Point p);
which takes an object, and a Point, representing the pixel coordinates (x,y) for the object.
But an update to the framework comes out, the above method is removed and replaced by:
Draw(Object o, Point p);
Our programgame doesn't know about Draw()
. It looks for DrawObjectToScreen()
, doesn't find it, and throws an error.
So in order for a development company to upgrade a program to a newer framework, they would need to:
- Learn how things changed in the new version
- Find all the missing/broken references to the old framework, and upgrade & replace them. Sometimes they might have to restructure entire sections of code to workaround the newer APIs.
- Upgrade and individually test each place where the new framework has new functionality, to ensure that nothing has changed or broken as a result of the upgrade.
- Find and fix/workaround any Bugs related to the new version of the framework
- Build up a version of the program for release, including documentation (Release Notes), Strategies for dissemination of the new version etc
- Release the new version, and deal with any Bugs that arise (not working properly on different OS builds etc).
And all of this would provide little benefit to the end users:
- The program worked fine on the old version, and nothing new was added*
- You've forced them to update, or at least deal with mismatches between someone having one version and someone having another
- You may have introduced more bugs than you fixed.
*Except performance or the ability to run on newer/different OSs & platforms, which would be the major justification for doing this.
So yes, if a program requires a certain version of a framework, it would be best to install that version. Luckly these days this is usually handled for you when you run the installer.