Page 1 of 1

Vista dll error

Posted: Thu Nov 06, 2008 1:45 pm
by soundoff
Hi folks,

Just invested in a fancy new machine that has Vista preinstalled. Did a virgin download of 1.11d onto it yesterday. Trouble is when I try to load the game in I get the following message:

This application has failed to start because D3DX81ab.dll was not found. Re-installing may fix this problem

I've tried reinstalling with no alteration to the message. Advice on how to proceed would be gratefully appreciated particularly as AACW is the only application that I've loaded into the new system thats failing to work.

As an aside on loading 1.11d I get no desktop icons to start the game. Nor is there a game icon in the startup files. Theres an AGEOD folder but nowt in it accept except a readme file that refuses to open. :blink:

Posted: Thu Nov 06, 2008 2:11 pm
by Nikel
You can download missing .dll files from several places in the internet, example here

Copy it side by side the .exe file, in the same folder

http://www.dlldump.com/download-dll-files_new.php/dllfiles/D/D3DX81ab.dll/8.1.0.0/download.html

Posted: Thu Nov 06, 2008 3:04 pm
by soundoff
Many thanks for the prompt and timely reply Nikel. I found a download and have applied it. It seems to have solved one problem but left me with another. Ah well whats new, other than a new tech support post. :thumbsup:

Posted: Thu Nov 06, 2008 8:31 pm
by ohms_law
Note that D3DX81ab.dll is part of the DirectX runtime package. Vista is supposed to ship with "DirectX 10", which should include that file... Just go to microsoft's site and download the whole DirectX package... here: http://www.microsoft.com/downloads/details.aspx?FamilyID=c1367bc3-4676-481a-bfaa-5c15d1d7199d&DisplayLang=en

FYI, there's a whole thread about this sort of problem with Vista located here: http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?&query=directx&lang=en&cr=US&guid=&sloc=en-us&dg=microsoft.public.windows.vista.general&p=1&tid=bf910667-0d3c-4eab-926c-ca3837726d66&mid=bf910667-0d3c-4eab-926c-ca3837726d66

Posted: Thu Nov 06, 2008 9:07 pm
by Nikel
AFAIK Vista includes DirectX 9 files (for compatibility) and DirectX 10 files (exclusive to Vista), 10.1 with SP1.

D3DX81ab.dll is a DirectX 8.1 file, so not included in Vista. NCP, AACW and I suppose that the rest of AGEod games too, need it to work, so to run these games in Vista you need this file.

The link you provided is for DirectX 9.x, I think that DirectX 10 cannot be downloaded, it comes with Vista OS

Posted: Thu Nov 06, 2008 9:12 pm
by lodilefty
Nikel wrote:AFAIK Vista includes DirectX 9 files (for compatibility) and DirectX 10 files (exclusive to Vista), 10.1 with SP1.

D3DX81ab.dll is a DirectX 8.1 file, so not included in Vista. NCP, AACW and I suppose that the rest of AGEod games too, need it to work, so to run these games in Vista you need this file.


I had to go to microsoft website and install DirectX9.
Seems DX 10 is not fully 'backwards compatible', but the two versions coexsist fine.
Several websites recommend thet you do NOT install single files from the internet, but rather do the end user install from microsoft website.

Also, I turned off UAC.

And I NEVER install into Program Files folder. Vista does wierd things there.
AGEOD games are in a folder called AGEOD :blink:

Posted: Thu Nov 06, 2008 9:26 pm
by Nikel
Yes you are right, Vista comes with DirectX 10 only

I do not remember to have installed DirectX 9, but it is here, I suppose it was installed with some game :wacko:

In my system32 folder there are many d3d9 and d3d10 files but no D3DX81ab, it is in my NCP installation. So i guess that it is not included in the Directx 9.x install, so just downloading the file and putting it in the game folder should be enough?


I use a x64 Vista, and NCP is installed in "Files (x86)\Napoleon's Campaigns", no problems here

Posted: Thu Nov 06, 2008 11:23 pm
by ohms_law
DirectX .dll's are Windows COM components, meaning that their designed to be backwards compatible within the .dll files where required. In other words, there are many "black box" functions that have defined inputs and outputs (function signatures), while the implementation details are within the "box". The end result is that the only thing that causes a "version change" is the addition, subtration, or (god forbid) the change of function signatures.

The problem in this particular case, as near as I can tell, is that Microsoft included only the bare bones essentials of the DirectX components (the .dll files) with Windows Vista. Developers are supposed to include the End User Runtimes, as required, with the programs that they distribute. In that respect, I can kind of see the reason why Microsoft left out approximately 100MB of DirectX .dll's with the distribution of DirectX in Vista, but the real problem appears to be that what they have included fools the installed base of DirectX installation utilites that are being distributed with thousands of programs today. So, that's why I posted the link to the full install above. You'll need it eventually anyway, so it's therefore a pretty good idea to install it.

Posted: Fri Nov 07, 2008 12:43 pm
by soundoff
Many many thanks for the advice gentlemen. The DirectX problem is well and truely fixed. :D