DirectX 9.0c Damit they did it again! | |
cbx | The problem is far worse then I thought! So I go and do a fresh install of windows after getting a new computer, and install the new october 2004 DirectX SDK and POOF!, there goes my DX9Tools library! It will not run, and it will not even compile! Why? Because when you install the october dx sdk it does not also install any of the previous managed dx9 libraries. For example my dx9tools library is written to work with ver 9.00.0900 and guess what, the october dx sdk only installs ver 9.02.3900! Do you know what that means! That every one who has written code using DX9 needs to update there code to work with the new libraries! Laaaaame! Note to MS, feel free to install old versions of your managed DX9 SDK libraries next time! Then I got to thinking... Worse yet, all of my DirectX 9 example apps on my directx page were written for ver 9.00.0900 of the DX SDK. OMFG! All that work,... All those example apps I wrote, all those websites I posted them to,.... DAM YOU MS DIRECTX TEAM! DAM YOU!!! Now people are going to download my example apps from all over the net and try to compile and run them and they will not be able to! And good luck trying to find a link to the old managed directx libraries on the ms directx website, they only provide links for the newer v9.0c libraries. And I'm just thinking about myself! What about all the other people out there and the apps those people have written! This is a disaster lying in wait! What are your thoughts on this! Has anyone had any similar problems? I am looking for the link to the old redistributible package containing the v9.00.0900 managed directx libraries (summer 04 I believe). Has anyone have the link? |
Zarneth | Google is your friend. I found This site: http://gpwiki.org/forums/viewtopic.php?p=1536 Which reffered to this link: http://msdn.microsoft.com/library/default.asp?url=/downloads/list/directx.asp Seems to be DX SDK's. there a 9.0b link lower down. Hopefully that's what you need. I havent' tested it myself 'cause I just use Revolution3d. Edit: Hrmm. that first site also linked to this site: http://lab.msdn.microsoft.com/express/vbasic/default.aspx Seems to be a download for the Visual Basic Express 2005 beta. Which I'm assuming is free. IT's the Express part which I'm not sure about. |
Eric Coleman | One thing you need to check is to see if the latest end-user runtime installs the old versions of managed directx. There are two versions of the end-user directx, there is the internet download version where you download a simple program and then it downloads the files you need and then there is the single bundled version that you would include on CD's. [url="http://www.microsoft.com/downloads/details.aspx?FamilyId=0A9B6820-BFBB-4799-9908-D418CDEAC197&displaylang=en"]this is the internet download version dxwebsetup.exe[/url] [url="http://www.microsoft.com/downloads/details.aspx?FamilyId=9226A611-62FE-4F61-ABA1-914185249413&displaylang=en"]and this is the full end user redistributable package directx_9c_redist.exe[/url] If the full end-user distribution (directx_9c_redist.exe) fails to install the old versions, then there IS a problem. If the version of directX that gets shipped on CD's doesn't install the old versions then a lot of people are screwed. There wouldn't be much you can do expept maybe try to find an old disitrubtion of Directx 9 (it has to be the full redist and not the web setup) and then try to install it. There is no guarantee that it would work. You can't install Directx 5 once you install 6, 7, or 8 because it detects the newer version and assumes you don't need it. Lets just hope that DirectX 9a/b will still install once 9c is installed. |
Zarneth | quote:Tried that one before myself. It seems to install but doesn't. Had to find a Directx Uninstaller which worked flawlessly but I can't remember what the one I used was called. |
cbx | quote:Eric's suggestion to install DX9c redist did not work, so I tried the dx9b and that seemed to work. Also I have provided a link on my site to only the v1.0.900.0 managed dx9 files themselves, so people do not have to download 84Mb when they can just download 1.1Mb. You can find the link to my site here http://www.createdbyx.com/Default.aspx?tabid=32 OK steps to get those managed dx libraries v1.0.900.0 back on your system. 1: Download the file at http://shrinkster.com/26o called "DirectX 9.0b SDK Developer Runtime" BE FORWARNED! it is a 84 meg download!!! 2: Unpack the redistributable and run "dxdevrtm.exe" /InstallManagedDX", there are two flavors Debug and Retail. I installed Debug. 3: Then click start run and type "cmd" then press the ok button to go into console mode. 4: Now type "cd C:\WINDOWS\assembly\GAC" to go into the gac folder 5: Now we will copy the dxlibraries to a temp folder so type "mkdir c:\DX9M900" this is where we will copy the files to 6: Now type "xcopy *Microsoft.DirectX* c:\DX9M900\*.* /s" 7: Close the console window and go into windows explorer and navigate to "c:\DX9M900" you will find v1.0.900.0 of the managed dx libraries there. quote:Now does that make any sence to anyone? Essentilly MS is saying that when they release a new version of DX that they are not going to be backwards compatible with previous versions! |
VBBR | ...which doesn't make sense as DirectX is usually the worldwide symbol of backwards compatibility. If it wasn't completely backwards-compatible, there wouldn't be a point to overwrite the older versions and the inability to uninstall it. ...so, MS's gone crazy... ...again. [:D] |
cbx | They also keep making these ver 9.0 9.0b 9.0c releases! Why can't they just call 9.0b 9.1 and 9.0c 9.2. It's not like they are going to release 10 flavors of DX9 before DX10 comes out. And the breaking changes they are making from 9.0b to 9.0c seem retarded to me. For the longest time committing changes to a D3D light you would call Light.Commit but now they changed that to Light.Update. And it does the same thing! So what was the point of that! They also renamed a bunch of other stuff too, as well as removing a number of classes. |
VBBR | quote:To confuse us. [:D] quote:Actually there's room for 26 [:P] So, you'll take a look at Revolution3D, eh? |
cbx | quote:Yah I keep comming back for a look Revolution3D every now and then, VBBR did Revolution3D go freeware?, I can't see a link to a licence page? |
VBBR | Revolution3D was always freeware, you just need to display the logo for 3 seconds. |
Zarneth | quote:Really? Even for commercial usage? R3D's such an awesome engine. Just gotta figure out all the intricies of the meshbuilder still. :\ I seem to remember noticing on a topic on the old old forums where you used to have to pay a 30% royalty. XP |
VBBR | The license changed. Now you can use it even for commercial projects, as long as you display a logo for at least 3 seconds with no interruption, and make a reference to R3D in the readme file. |
Eric Coleman | quote:I think this is a very big problem if Microsoft wants "Managed DirectX" to be taken seriously. For the record, there were problems like this with Direct 8 and 8.1. The type libraries were different and incompatible, yet when directx 8.1 was released they did not provide a secperate type library, but instead overwrote the old one. I don't remember what the changes were, but they generally didn't effect simple graphics demonstrations. Anyways, the fact is that they've done stuff like this before, but as far I know the changes in Directx 8 only effect VB programs. The changes in Managed DirectX wouldn't be an issue if the 9.0c end user installation would install previous versions of DirectX. Ok, I just installed directx 9.0c on a fresh computer. The computer had the 1.0 .NET framework. I tried 2 different methods. First I tried the redistributable version, directx_9c_redist.exe. This is the version that game companies are supposed to put on their game CDs. I also tried the web setup, which is a smaller download. Neither of those programs installed Mangaged Directx. I was able to get it installed by using the "/InstallManaged" command line switch that CBX suggested. That worked, but not without some problems. The full redist package contains a "manageddirectx.cab" file, and that's just odd that it doesn't install it by default. Problem two is that the directxsetup.exe file makes no hint that you are supposed to use "/InstallManaged" to install managed directx. You can't use a /? or a /help, and that sucks. Third, it installed only one version of Managed Directx, 9.02.2904, which is different from what CBX has installed. CBX mentions version 9.02.3900 in his initial post. What was Microsoft thinking? .NET and Managed Directx might be great for programmers, but who do they expect to use the programs? First, a hidden command line switch is just stupid and I very seriously doubt that many average computer users would even know where to find the command prompt, and even fewer would know how to use it. And then, even if an average user can accomplish that, what are they supposed to do when it installs the wrong version? I'm not stupid, but I was assuming that I would have 9.02.3900 installed when I installed directx 9.0c (directly downloaded from MS today). What's the point of using .NET and Managed DirectX if it simply won't work as expected for end-users? |
cbx | Don't get me wrond I don't mind the changes, I just wish they would have installed the older managed libraries instead of having to go through all the hassle of tracking down the previous redist containing the old managed libraries, plus on top of that, having to download a 84Mb file just to extract the 1.5Mb worth of files contained within it! It was only about a week ago that I did my fresh install of windows and installed the DirectX SDK. So I'm not sure why eric seems to have ver 9.02.2904 on his system. Did you install the new october 2004 release of the full sdk (and install all of the options)? Check this out, the many versions of DX (as they are on my computer) ... OK Kiddies, are you ready to be confused! Yaaa let get this party started! After doing a frash install of windows and installing the new october 2004 DX SDK (full install with all options instaled) I have on my system... C:\WINDOWS\assembly\*all 9.0c Microsoft.DirectX libraries are v1.0.2902.0 C:\WINDOWS\Microsoft.NET\Managed DirectX\v9.02.3900 Right clicking and selecting properties on the dx files found in C:\WINDOWS\Microsoft.NET\Managed DirectX\v9.02.3900 will tell you the version of the file is 5.4.0.2904! ... So after installing the DX9.0b redist I also have ... C:\WINDOWS\assembly\*all 9.0b Microsoft.DirectX libraries are v1.0.900.0 C:\WINDOWS\Microsoft.NET\Managed DirectX\v1.0.900.0 Right clicking and selecting properties on the dx files found in C:\WINDOWS\Microsoft.NET\Managed DirectX\v1.0.900.0 will tell you the version of the file is 5.3.0.900! NO WAIT! It gets better!!! Run the "DirectX Diagnostic Tool" and select the "DirectX Files" tab. You will find that files such as the Microsoft.DirectX.dll is reporting a ver 5.04.0000.2904 or ver 5.03.0000.0900 for the Final Retail and Final Debug versions respectivly. Phew! Seems every where you look no two versions of DX are the same! Yikes! lol How is this stuff even working the first place! This is versioning hell! |
Eric Coleman | quote:I installed a clean computer (it did not have Directx 9 installed). Visual Studio was not installed on the test machine either. I used a clean machine to make simulate someone installing Directx 9 for the first time to see if it would install the old managed directx files. The directx install programs that I used were downloaded directly from Microsoft's website today, so I obviously had the latest versions. To add to the problem, on my own personal computer I apparently have two versions, 9.00.0900 and 9.00.1126. The versions that I'm reporting are from the folder names from C:\WINNT\Microsoft.NET\Managed DirectX\. The version reported by right-clicking and viewing the properties window reports 5.3.0.900 and 5.3.1.1126 respectively for the Microsoft.DirectX.dll file. |
cbx | quote:lol This is turning into an episode of the twilight zone... BTW I also used to have 9.00.1126 on my system before I did the fresh install of windows. Must have been installed during the original DX9.0 install, when the DX9 was first released to the public ... |
Lachlan87 | That’s what pisses me off too. After you finally get MDX working, it's lots of fun to program with, but it's dang hard to get things set up right. Since you can pretty much guarantee that your end-users are lazy, stupid, and evil, that is unacceptable. People want to be fed pureed stuff with a spoon, and MDX requires way too much chewing. |
cbx | quote:I think someones got the munchies! [:p] |
Knight Chat X | It's worse than that, this problem of library/runtime file versions also affecting the .Net Framework itself, upon attempting to install Visual Studio 2003, Visual Basic 2005, and DirectX 9.0c October SDK, and Visual Web Developer noticed each app I tried to install failed to install properly and refused installation, and the reason was? Each and every release has a totally different version of the runtime files, you must install a paticular version, usually the one that comes on the applications CD in order to install it, but get this as it's even worse, since they change the runtime files like this, it means it would affect all languages under the framework, and what sucks more is that users that use your applications more than likely are forced to not just download the runtime files once, but anytime there is a change in versions on your machine which your software relies on, this would explain why if you create a software title using .Net, and a user needs to download .Net to run your app, if the user download's it today and the framework is 2.0 and your software is in 1.9, they don't match, version 2 is incompatible, thus problems occur, I can easily see this as leading to inquires and numerous online technical support requests. As for pre-authored game engines, here's another game engine, this seems to be the onlyone I could get to work with with DirectX 9.0c, however, I don't recommend using a pre-authored game engine's because where's the fun and control in having your own, I know I know, there are plenty of up's to it as well, mainly getting game out faster: http://www.truevision3d.com For now, CBX's advice works well to get existing app's to go, another thing to remember is Visual Studio will automatically link references to the newest installed version of files, in order to run the 9.0b or previous samples simply remove all DirectX references in the IDE, and re-add each one, but this time navigate to the DirectX Version 9.00.0900 files and the app's should now work, even with DirectX 9.0c installed. Another tip is something I learned from the big language changes of VB6 to VB.net, when creating your own library, it's best to keep things as light weight and as simple as possible yet functional, because if there's a change somewhere and you've got this massive library that is so deep it takes a day to re-learn something you wrote previously, it probably branches too much will create a big learning curve for others to follow. An example would be let's say you wanted to remove a tree from the ground, if the tree is small and there aren't as many branches, thus, it is easier to remove and you are ready to move to other things you gotta do quickly, now, let's say you try and remove a very huge tree that has many roots and is many years old, it's taller, has many branches, that tree would be a nightmare to remove. Well, due to all the changes in programming syntax, technologies, security updates which hinder or remove features altogether and force developers to change programming methods, I got one thing left to say, I've spent more time re-writing programs and converting languages because of all these required changes, lack of adequate documentation, simple straight forward examples, it's caused so much time loss and nothing but headaches. I like Microsoft, and I ain't got a problem with Bill Gates, but these version conflicts are messed up!!! |