NBA 2K11: Absurd offer of DirectX installation on Windows 7

Talk about NBA 2K11 here.

NBA 2K11: Absurd offer of DirectX installation on Windows 7

Postby T-MAC-power on Fri Jun 01, 2012 9:12 pm

Hi all,

Hope you all fine. I was a bit far away from the latest NBA games till i get a more powerful computer than my ancient one. I know it's really old to install but, last week i wondered how much things have been changed since my last NBA game experience which was NBA Live 06 :) So, i installed NBA 2k11 of 2kSports.

I have Windows 7 SP1 x64 (64-bit) with GTX 460 (using Verde 296.10 WHQL driver release). You and all we know that Windows 7 comes with DirectX 11 and what i know is DirectX 11 is backward compatible with DirectX 9, which was a part of older Windows versions such as XP, 2000-. Vista comes with DX10.

But for some reason, after installation finishes, the second and NON-Standard DirectX installaer of NBA 2K11 popped up, saying that i should install DirectX9 over my Windows 7. First i thought it was really silly offer to install DX9 whereas DX11 is present on my machine (dxdiag.exe shows it), but it wouldn't allow me to finish installation if i never had allowed it to install DX9, so i clicked "OK". After that the non-standard installer appeared saying "Installing DirectX" and finished. I ran the game, it seems to work. However i'm very irritated by this absurd DirectX 9 installation and possibly the more-specific monthly version and older one than normal DirectX 9.0C subversions.

Can someone explain why NBA 2K11 had to install its own DirectX 9 whereas i have DX11 on my Windows 7 SP1 x64 and possibily DX9 libraries already? I had installed PES 2011 a long time ago which is a DirectX 9 game and it ran without any DirectX 9 installation unlike NBA 2k11 so it really DOESN'T make sense!

Hope someone clear,

Thanks!
TRACY McGRADY won't be denied!
User avatar
T-MAC-power
 
Posts: 150
Joined: Sat Jun 04, 2005 2:54 am
Location: Turkey

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby benji on Fri Jun 01, 2012 9:23 pm

2K11 requires the libraries the game was built around to be installed. No matter what. They are specific to the game, not to DX. Vista+ do not use "real" DX9 anyway but that's irrelevant. The game is making sure the libraries it needs are installed.

It depends on what the game requires whether or not you need to install DX libraries or C++ or all the other things games require. What your card supports is not relevant to what the game needs to run.

This is really nothing you need to be worrying about. You're not installing DX 9 or whatever over what you have, you're simply adding any missing libraries for the game to use.
User avatar
benji
 
Posts: 14545
Joined: Sat Nov 16, 2002 9:09 am

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby T-MAC-power on Fri Jun 01, 2012 10:59 pm

Thanks benji for your reply. So, it's not harmful? Is it really installing or overwriting its own DX9 libraries or the custom (non-standard) installer just checks existing libraries?

I'm a bit picky about installations, especially when a system-wide installation (DX9) was attempted though newer version was present (DX11).
TRACY McGRADY won't be denied!
User avatar
T-MAC-power
 
Posts: 150
Joined: Sat Jun 04, 2005 2:54 am
Location: Turkey

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby Patr1ck on Fri Jun 01, 2012 11:53 pm

If it's any consolation, just about every game I purchase installs or sets up directx, and no problems that I know of have been caused by it.
Patr1ck
Administrator
Administrator
 
Posts: 13323
Joined: Thu May 19, 2005 5:54 pm
Location: Pasadena, California, US

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby benji on Sat Jun 02, 2012 10:24 am

It's not overwriting anything, Windows won't do that to DX, it's just adding anything that's missing that the game needs.

Just to make an example using made-up numbers and names, say that you have DX11 and the DX9 subset libraries but don't have the 1.36 version of module B from November 2008, but 2K11 requires this, then the installation adds that library so when the game needs it it's there. The newer versions are still there but the one version the game needs is also there now. Instead of having 1300 DX libraries, you now have 1301.

When installing games you also sometimes get a Microsoft Visual C++ Redistributable or .NET or something prompt same as DX. It's the same concept, the game is adding anything it needs to run. (This is also why you can't cancel and not install them, the game literally needs them.)
User avatar
benji
 
Posts: 14545
Joined: Sat Nov 16, 2002 9:09 am

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby benji on Thu Jul 26, 2012 11:02 pm

I'm bumping this thread, because I came across a better and more detailed explanation from Valve themselves and it'll be here to reference in the future if the search keeps working right:
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.

Games which don't use the D3DX helpers (such as Source engine games) don't require running the annoying installer on first launch as they only depend on major d3d9/10/11 versions being installed. However, games that do use D3DX must run it as it's the only way Microsoft has allowed for distributing and checking the version info on the files.

So that's why we do it for lots of game installs. We can't stop, it's required due to a bad versioning/packaging scheme as well as bad redistribution licensing terms on the D3DX libraries.

The one thing that could be made better on our side is that Steam could be smart enough to know if an exactly matching version of the dx installer is already downloaded and share that content so you don't download it with each game. Since the installer is relatively small compared to most game installs that wouldn't be a huge win though and requires a good deal of new complexity for partners in how they package up their games and manage installation dependencies. You'd also still end up with lots of different versions of the installer, since as discussed above they are often targeting different D3DX versions and as such are all required. As such any improvement to avoid duplicates isn't an immediate priority, but we may be able to improve it slightly in the future.

http://forums.steampowered.com/forums/s ... st23759166
User avatar
benji
 
Posts: 14545
Joined: Sat Nov 16, 2002 9:09 am

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby Andrew on Fri Jul 27, 2012 9:00 pm

Good find. (Y)
User avatar
Andrew
Assist Enthusiast
Administrator
 
Posts: 113902
Joined: Thu Aug 22, 2002 8:51 pm
Location: Australia

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby T-MAC-power on Tue Jul 31, 2012 5:47 am

So it's not harmful to run those non-standard DirectX installers like NBA 2k11's?

Although i have brand-new Windows 7 SP1 with DX11 present, it really made me nervous to see the installer insisting on installing itself. The D3D binaries exists for sure under system32, and syswow64 for 64-bit. Which means the machine actually DX9-ready which is very old technology and game producers must have though that the DX9 versioning wouldn't be any problem in today's world, in 2012.
TRACY McGRADY won't be denied!
User avatar
T-MAC-power
 
Posts: 150
Joined: Sat Jun 04, 2005 2:54 am
Location: Turkey

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby Andrew on Tue Jul 31, 2012 10:24 am

No, it's not harmful.
User avatar
Andrew
Assist Enthusiast
Administrator
 
Posts: 113902
Joined: Thu Aug 22, 2002 8:51 pm
Location: Australia

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby T-MAC-power on Sun Sep 23, 2012 4:32 am

Sorry for bumping but this thread has a similar connection between F1 2012, released a few days ago...

At the end of installation, installer says "installing DirectX" which again makes me nervous, because i already have DX11 as installed! Is it just checking existing libraries or overwriting its own!!? Really wonder...
TRACY McGRADY won't be denied!
User avatar
T-MAC-power
 
Posts: 150
Joined: Sat Jun 04, 2005 2:54 am
Location: Turkey

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby Leftos on Sun Sep 23, 2012 4:35 am

Stop getting nervous whenever an installer tries to install/update DirectX.

If it finds the same versions, it won't do anything. If it has any newer files than the ones you already have, or you have any files missing, it will install them.

You should always allow games to "install DirectX" just for good measure.

Nothing bad can come of it.
Eleftherios "Leftos" Aslanoglou
NBA 2K AI Software Engineer
Visual Concepts Entertainment / 2K Sports

Used to be "That Tools Guy" around here during the good ol' days. Although you probably remember me as your favorite Podcast host.
User avatar
Leftos
I'm The Pipeline, The Pipeline Is Me
NBA 2K Developer
 
Posts: 5223
Joined: Sun Jun 07, 2009 7:44 am
Location: Novato, CA, USA

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby RedPhazon8 on Sun Sep 23, 2012 5:30 am

As far as I know installing a lower version of Dx vs what you already have doesn't affect your pc in any way. People mentioned this before but a game that needs Dx9 can't use Dx11 unless it was designed to do so. The Dx11 install will still be there so it shouldn't be an issue. (Example, Need for Speed: High Stakes requires DirectX6 to run, but my Dx9 and Dx11 games still work perfectly.)
User avatar
RedPhazon8
 
Posts: 639
Joined: Sat Aug 20, 2011 4:48 am

Re: NBA 2K11: Absurd offer of DirectX installation on Window

Postby Leftos on Sun Sep 23, 2012 5:43 am

It's true. You can have as many different versions of DirectX as possible concurrently installed with no trouble. Even the same major version of DirectX (e.g. DX9), as the Valve post mentions, have different libraries with different minor versions (e.g. d3d9x_43.dll) which may be included with one installer of DirectX9, but my be missing in older DX9 installers.

So, as I said, for good measure, always allow games to try and (re)install DirectX, no matter the version.
Eleftherios "Leftos" Aslanoglou
NBA 2K AI Software Engineer
Visual Concepts Entertainment / 2K Sports

Used to be "That Tools Guy" around here during the good ol' days. Although you probably remember me as your favorite Podcast host.
User avatar
Leftos
I'm The Pipeline, The Pipeline Is Me
NBA 2K Developer
 
Posts: 5223
Joined: Sun Jun 07, 2009 7:44 am
Location: Novato, CA, USA


Return to NBA 2K11

Who is online

Users browsing this forum: No registered users and 2 guests