what happens when games install old versions of directx?
windows 10 comes with directx 12. a lot of games try to install old versions of directx like directx 9c when you install the game or run the game for the first time

i want to know what exactly happens? does the old directx version get installed or it is skipped because there is directx 12?
< >
Zobrazeno 115 z 15 komentářů
Like any Windows installer it violently extracts itself all over your file system overwriting anything which gets in its way. Luckily each version of DirectX has it's own .dll file, so it will only overwrite the .dll files it itself ships.

Basically it consumers a lot of time to do something which in the end makes no difference.


For clarity; When I say "DirectX version" I do not mean major versions but minor ones. d3dx10_40.dll, d3dx10_41.dll, d3dx10_42.dll etc.. this is an example of various DIrectX 10 .dlls for different versions which you might find in System32.
Naposledy upravil Omega; 12. pro. 2021 v 8.36
Omega původně napsal:
When I say "DirectX version" I do not only mean major versions, also minor ones. d3dx10_40.dll, d3dx10_41.dll, d3dx10_42.dll etc..

so these files get overwritten and the same files are put when the game installs directx?

also i want to ask what happens when a game tries to install an old version of .net? for example the pc has .net 4.8 and the game tries to install .net 4.2

also assume that i already have c++ 2010 redist installed and there is x86 and x64 and then the game installs a different version of the x86 so i have two versions of c++ 2010 redist installed. i can uninstall the other version that got installed and i force the game to use the current version that i have and it doesn't matter if it's newer or older than the other one that got installed?
Naposledy upravil shtaklef; 12. pro. 2021 v 8.46
most likely the old installer will see the newer version is installed and just exit silently

once i had a dx5? game reinstall over dx9 on xp
caused alot of problems until dx9 was reinstalled again

with 7 and later if that happens, you can fix it with 'sfc /scannow'
Naposledy upravil _I_; 12. pro. 2021 v 8.50
Runtimes are a Library of different files; the same files used for say DX9 are not the same files used for DX10, 11, 12

Just like its OK and needed to have ALL the versions of Visual C++ Runtimes on your machine. Games and Apps will use the one they were coded for.
Naposledy upravil Bad 💀 Motha; 12. pro. 2021 v 12.31
Like others said. Nothing much. All DX versions co-exist and games use the one they need, it's always been like that
If it's a redistribution then it's only there because the developers know they're required. It's basically an old way of doing it, unlike VC runtimes which you may not have installed if you've never touched an MS IDE. Redists of other kinds generally exist to get around distribution licencing, to keep it (usually DLLs) separate from the application (no static linking or derivatives).

Some of these licences can confuse people (could be intentional in some cases), so it's just safer this way unless you're a legal expert on the topic.
Games that needs certain things tend to come with them; dot-NET Framework, DirectX Runtimes, Visual C++ Runtimes, OpenAL, XNA Runtimes; etc.

Many Devs however have, in conjunction with Valve, changed how these downloads go onto your PC though for Windows Games. Not all of them are this way, but most, where when a game is bundled with such runtimes for its needs, they are downloaded to and called upon from: C:\\Steam\SteamApps\common\Steamworks Shared\_CommonRedist

Again not all Game Devs have done this. Rockstar Games is one who doesn't use that method but instead bundles what all is needed with a CommonRedist within the game folder itself.

Many other games, use Steams own Steamworks Shared folder to get the runtimes from.

That being said, this has been helpful so that it can cut down on wasted disk space by every game you have stored on your PC, having all these same runtime files within their own CommonRedist folder; which I for one have always felt was pretty dumb and a huge waste of space. Back in the days of XP and smaller HDDs, I still even then had alot of games downloaded. I used to go to each game folder and delete all those CommonRedist stuff; cause I always knew what I needed to have installed on a Windows OS based PC anyways and so for me I never needed any of those files. However this had pros/cons of its own. Sure it helped me free up disk space. However if I ever had to verify a game for whatever reasons, then it would force those files I deleted to be redownloaded.

When you verify a game in Windows, and then you see it says (Verifying 1/2) usually this means #2 is the Steamworks folder; which will get verified during this process as well, thus you can see that such game uses various runtimes that are stored within the steam shared Steamworks folder.
Naposledy upravil Bad 💀 Motha; 12. pro. 2021 v 18.30
Bad Motha, how much disk space do these VB and DX (etc.) redists even take up on the drive?
Naposledy upravil Masque; 12. pro. 2021 v 21.35
\Steam\Steamapps\Steamworks Shared
approx 1.18 GB
includes:
DirectX Redist June 2010
NET Framework (various versions)
Visual C++ Runtimes (various versions)
OpenAL
PhysX (various versions)
XNA Frameworks

Now that's not too bad, if every Windows OS game on steam referred to using these from this folder. However many games you download, regardless of game client, might include a CommonRedist folder within the game folder, which includes whatever API files that the Game Dev felt was needed to bundle with the game just in case the system did not already have them installed. So you figure if you had 100 games installed and each one has various API (runtimes/frameworks) files bundled with the game without using the Steamworks Shared folder; then that could easily waste quite a bit of disk space overall.
Maybe twice a year I download an older game that does the whole "Installing DirectX, Installing VB, Visual C++ Runtimes" thing -- and I have (to put it in perspective) 2,000 GB of space, just on my SSDs. I really don't see why I wouldn't want literally ALL the former Redists of these things on my drives, just in case. Heck I have fonts I don't use that take up as much space.

I'm glad for this thread, though -- I always wondered about that installing 1/2 screen on older games, and always asked "WTF I thought I already HAD DirectX and all these other things."
Naposledy upravil Masque; 13. pro. 2021 v 8.37
It just works

Windows 10 (and therefor 11 because it's little more of a reskin) are fully compatible with older directX versions.
Lowest people get is directX 8 (or even 7 i think)
competetive team fortress players usuall use such ancient api's. Even tho the snow in certain maps flickers arround between black and white.

It just works
So in conclusion, it is not bad and not a huge problem ?
Niris původně napsal:
So in conclusion, it is not bad and not a huge problem ?

You got it correctly. Windows simply has different libraries to work with and it will load the needed one for the given tasks.
You can launch DirectX 5 programs on Windows 11 23H2 which has access to DX12.2 at the native level
Niris necros threads like Windows does old Directx libraries.

HAH :steamhappy:
Niris původně napsal:
So in conclusion, it is not bad and not a huge problem ?

There is no games installing old versions of DX. It's a series of Runtimes; you need all of those and WinOS does not come out of the box with all of them. Just like Visual C++ Runtimes; you need ALL of them, not some. As various apps are coded to use a certain runtime version.
< >
Zobrazeno 115 z 15 komentářů
Na stránku: 1530 50

Datum zveřejnění: 12. pro. 2021 v 8.16
Počet příspěvků: 15