swenor Jul 28, 2016 @ 3:27pm
_CommonRedist - unnecessary installers
This folder is included in many games' folders. What's the point of multiplying it? I know it contains necessay installers, but the way it takes space and it's unnecessary. 10 games = 1 GB of wasted space. Can't you move it to some special folder that all games could use?

On my laptop I have just 120GB SSD and it's my only drive on that machine. Not only I have less space to use, but downloading same thing over and over uses up my drive. It's pretty pointless. I am 100% sure keeping DirectX, DotNet and Visual C++ installers can be done better. Please. Thank you.
Regards
swenor
Last edited by swenor; Jul 28, 2016 @ 3:27pm

Something went wrong while displaying this content. Refresh

Error Reference: Community_9721151_
Loading CSS chunk 7561 failed.
(error: https://community.fastly.steamstatic.com/public/css/applications/community/communityawardsapp.css?contenthash=789dd1fbdb6c6b5c773d)
Showing 1-13 of 13 comments
cinedine Jul 28, 2016 @ 3:35pm 
You can just delete it after the installation is over.
swenor Jul 28, 2016 @ 3:42pm 
I know. That's not the point though. Read OP and you will understand.
- I don't want my SSD to degrade by unnecessary downloads
- I don't want to use upmy mobile internet limit
- I don't want to deal with manual removal

The problem is easily solvable, I just don't know why they didn't bother to do this.
Last edited by swenor; Jul 28, 2016 @ 3:42pm
Satoru Jul 28, 2016 @ 4:09pm 
Each game can require its own unique version of the vcredist and directx

DirectX has a metric ton of unique variatns that can ONLY be distributed via the installer
swenor Jul 28, 2016 @ 4:54pm 
Then keep the latest version of DX in ONE folder used by all games. Problem solved.
The same goes for vcredist.
The same goes for DotNet.
If all files are their newest versions, it's all fine and dandy. No need to redownload stuff over and over. Afterall noone install 35458 versions of said appliction, you always go for the last one right?
Last edited by swenor; Jul 28, 2016 @ 4:56pm
Falro the Great Jul 28, 2016 @ 4:59pm 
Originally posted by swenor:
Then keep the latest version of DX in ONE folder used by all games. Problem solved.
The same goes for vcredist.
The same goes for DotNet.
If all files are their newest versions, it's all fine and dandy. No need to redownload stuff over and over. Afterall noone install 35458 versions of said appliction, you always go for the last one right?
The problem is that games may not (and usually don't) use the latest version, but the specific version they were created with.
wuddih Jul 28, 2016 @ 5:05pm 
Originally posted by Falro the Great:
Originally posted by swenor:
Then keep the latest version of DX in ONE folder used by all games. Problem solved.
The same goes for vcredist.
The same goes for DotNet.
If all files are their newest versions, it's all fine and dandy. No need to redownload stuff over and over. Afterall noone install 35458 versions of said appliction, you always go for the last one right?
The problem is that games may not (and usually don't) use the latest version, but the specific version they were created with.
there is no such thing as a latest version on dx. especially on dx. you can create additions and modifications to it and redistribute this with your product. on visual c there can be backwards compatibility problems. the only thing that is mostly fine is dotnet, and that gets rarely used by games.
cinedine Jul 28, 2016 @ 5:10pm 
You might want to check your Programs and Features list. I have several dozen iterations of Visual C++.

The problem isn't with Valve to fix, it's the Windows Installer that always expects the working directory.
Satoru Jul 28, 2016 @ 5:20pm 
Originally posted by swenor:
Then keep the latest version of DX in ONE folder used by all games. Problem solved.

You cant

Games can requires extremely specific variants of DirectX to be installed, even for just a specific DLL to be installed. this is NOT installed by installing the latest version. And Microsoft only allows you to install the specific DLL required, by distributing the entire DirectX package and installing it.

http://forums.steampowered.com/forums/showthread.php?p=23759166#post23759166

FYI, running this is not a matter of making sure your overall DirectX install being up-to-date. Microsoft has a helper library with D3D called D3DX. You'll find binaries for this like d3dx9_43.dll in your Windows\system32 folder. There are over 40 different versions of the D3DX library for D3D9 alone, and many more for D3D10 and 11 as well. Each game that uses the D3DX helper library is linked to a specific version. As such the game must run the correct D3D installer version that it was specifically compiled with to ensure the binaries exist. Even if a later version of the binary is already installed, that version cannot be used, and even if your DirectX install is up-to-date because you've run a more recent version of the installer that is not guaranteed to have installed all previous versions. Even worse, if a version is installed for x86 it doesn't guarantee the same version is installed for x64, so 64 bit and 32 bit games may need to run the same exact installer version but targeting different platforms when run. Furthermore, Microsoft's licensing terms prevent anyone from distributing the files directly, the only way to distribute them is to run the installer, that's also the only supported method from Microsoft to check that the correct version installed. Trying to manually check for the correct versions is extremely complicated because there are numerous files that must all be present and individual system configuration options like dll search paths complicate the situation. In addition, the dependencies and required checks may change in each new version of the D3DX runtime. The code to check correctly and repair broken installs all exists in the installer and running it is a guarantee that the correct binaries will exist when you run the game and prevents lots of bad cases where a game would fail to launch with an obscure error if a windows install was either missing the correct version or somehow corrupted in the past.

You would need DOZENS of directx installers lying around just in case one specific one uses it
Last edited by Satoru; Jul 28, 2016 @ 5:22pm
swenor Jul 28, 2016 @ 5:46pm 
Ok, if that is the issue, then we need separate folder for all those installers (since we have them anyway) that can be stored somewhere else - like HDD or flash drive.

A bit offtopic, but I'm curious.

How come my offline PC (I had a PC with no internet connection) would work on the latest installer - it was June 10th dx9.0 package I would always run off the flash drive after formatting and all games would work without issues? All I did was: install Win XP (yep XP) and the same DX 9.0C package from flash drive and it would work without problems?
cinedine Jul 28, 2016 @ 6:01pm 
Read the full post Satoru has linked. The quote is only a part of it.

The stand alone installers generally cover most commonly used libraries. I had some games back then which still required a manual install of missing dependency.

Fact is, the only one who can change anything about it is Microsoft. And they are reluctant to do so for years.

Regarding you initial "problems": Unless you have one of the earliest SSDs, the additional load is neglectable. Moderns SSDs can handle several GB read/write daily and last for years. You're probably changing it for a bigger one before it will be worn out.
Likewise the size of the installers is neglectable and not much more than patches these days. Especially compared to 50GB game installs. If that's breaking your data cap, you're next youtube session would have, too. Mobile data plans are generally not advisable to use with Steam anyway.
There are helper tools which get rid of them for you.
ferferga Jul 28, 2016 @ 6:06pm 
But I think that @swenor is somehow right. Steam can have a listing of the necessary components and download only the necessary ones, skipping those that are already installed in the System.

Even if Valve can't or don't want to deal with it... Why not to set a maintenance task to remove those installers after an X period of time? That solvers the storage issues, not the degradation issues though, but less is more than nothing.
Satoru Jul 28, 2016 @ 6:16pm 
Originally posted by swenor:
Ok, if that is the issue, then we need separate folder for all those installers (since we have them anyway) that can be stored somewhere else - like HDD or flash drive.

A bit offtopic, but I'm curious.

How come my offline PC (I had a PC with no internet connection) would work on the latest installer - it was June 10th dx9.0 package I would always run off the flash drive after formatting and all games would work without issues? All I did was: install Win XP (yep XP) and the same DX 9.0C package from flash drive and it would work without problems?

As indicated above it depends on the game. Some games use that specific helper DLL others dont.
Start_Running Jul 28, 2016 @ 7:38pm 
Originally posted by swenor:
Then keep the latest version of DX in ONE folder used by all games. Problem solved.
The same goes for vcredist.
The same goes for DotNet.
If all files are their newest versions, it's all fine and dandy. No need to redownload stuff over and over. Afterall noone install 35458 versions of said appliction, you always go for the last one right?

You're missing the point. Between versions, commands and functions can change, be altered, removed, depreciated etc. A developer can never be sure what version is the latest. The solution is the messy one we have now. They include all the ones they know their software requires. It's just the reality of software development.
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: Jul 28, 2016 @ 3:27pm
Posts: 13