I'm sure you've probably seen this, but this is the support statement from Microsoft on VB6 and vista.
http://msdn2.microsoft.com/en-us/vbasic/ms788708.aspx
I can not find DX8VB.DLL on either list of supported or not supported support files. Likely because, although it's specific to VB6, it's distributed with DirectX.
In my case, the program effected is a game called maximum-football (www.maximum-football.com). This is a commerical video game (providing both arcade play and coaching simulation).
I simply can not upgrade that project due to;
- Length of time to update.. it would take me months to move the code to VB.net and DirectX9
- Cost. Microsoft isn't paying me to update, so they shouldn't be forcing me to.
- Performance. I have a test harness that I use for testing portions of the game before they go into the central stream of code. I have upgraded one of these test harness to VB.net (although still using the DX8 COM DLL) and the performance was brutal. VB6 clearly gives better performance. (and yes, I had the .net build in release configuration). I simply can't update my code to these new technologies and then ask my customer base to go and buy brand new computers to play a game.
- VB.Net's executables are not secure. I simply don't trust a commercial app to be left in IL. Nore do I trust the obscuficators (sp ).
At this point, I'm telling my customer base, and potential customers to stick with WindowsXP. Those that have already migrated I tell them to download a copy of DX8VB.DLL that is available from various locations and register it with their system. At the moment, my installation package does not include that particular file, but it probably will in the next month to two months simply because it's poor customer experience to buy a game and then have to go and download system files from some 'back alley' on the Internet.
As to your point about raising concern. I agree, everyone should. Unfortunately, my personal experience is that it goes unheard. I have even approached MSFT staff at developers conventions during break out Q&A sessions about support for VB6 and DirectX and honestly, they look at me like a deer caught in headlights. The honest feeling I get is that either they just have nobody there that understands this stuff, or nobody at Microsoft cares about the millions of visual basic developers NOT building web sites or databases. I have offered to sit down with Microsoft staff and show them the challenges (and downright impassable obstacles) they are lumping onto existing developers, but frankly they seem to just not care if you're not coding in C++/C# and using the latest, greatest (which usually it isn't) technologies.
To give an extremely short list of the other VB6/DX8 commercial apps I'm aware of. I know of a company here in BC that builds applications that allow dentists to work with virtual models of a patents teeth prior to surgery. I know of another company that built a 3D virtual 18 wheeler driving simulator for teaching new drivers before getting on the real road. I know of another group of people building simulators in the Netherlands to simulating flooding in regions so they can properly develop dikes and other defenses.
I also know of at least one commerical graphics engine (www.truevision3D.com) that makes use of that dll as well.
One other big one I forgot about. My 3D modelling program (which is what I use to create and animate my 3D models), TrueSpace 6.0 has DX8VB.DLL as a dependency. Milkshape, 3DCanvas, etc.. all have that dll as a dependency.
So, simply put, by not properly supporting existing games & applications a lot of commercial ventures are at risk... DirectX simply isn't a C++ thing anymore...
David