Jump to content

Cannot Update DirectX 9.0c


ppgrainbow

Recommended Posts

A few days after I reloaded Windows XP Tablet PC Edition on the Compaq TC1000 and applied the updates, I've decided to install DirectX 9.0c.

However, when I tried to install the June 2010 and April 2011 updates, I receive this error message:

DirectX Setup

An internal system error occurred.

Please refer to DXError.log and DirectX.log in your Windows folder to determine the problem.

The message ends in the following:

Installation End

Installation failed.


Checking the DirectX Diagnostic Tool, the version of DirectX is identified as DirectX 9.0c (4.09.0000.0904). In the Display section of DirectX Diagnostic Tool, DirectDraw test results ran successfully. However, when I tested Direct3D, I received this error message:

Direct3D 7 test results: Test failed at step 8 (Creating 3D Device): HRESULT = 0x887602eb (error code)
Direct3D 8 test results: Test failed at step 8 (Creating 3D Device): HRESULT = 0x8007000e (Out of memory)
Direct3D 9 test results: Test failed at step 8 (Creating 3D Device): HRESULT = 0x8007000e (Out of memory)

The culprit to this error what that I received a STOP 0xF4 error when I attempted to detach the TC1000 monitor from the keyboard and on the next reboot, I received a STOP 0x24 meaning that the NTFS file system has gone corrupt. I had to pull out the CF card onto a PCMCIA adapter, attach it to the PCMCIA PCI slot on the back of my desktop computer and run CHKDSK /F to fix the problem.

Unfortunately, when CHKDSK /F was finished some of the files that required DirectX to work was deleted, resulting in the loss of Direct 3D functionality. :(

As a result of this, 3D screensavers supplied with Windows XP do not work anymore. For example, when trying to run the 3D Text screensaver, I receive a "No preview available" message.

Here are the log files for the June 2010 update:

And here are the log files for the April 2011 update:

Please keep in mind that as Windows XP is installed on a 32 GB CF card, how can I correct this error that was previously caused by NTFS corruption?

Edited by ppgrainbow
Link to comment
Share on other sites


Both DXError logs are failing at the same spot - trying to load C:\WINDOWS\system32\xactengine3_0.dll. The error is illegal instruction, which could be a version mismatch or just a corrupted file.

Can you uninstall DirectX from Add Remove Programs? If so, reinstall afterward and that should help. If you can't, there are a few uninstallers for DirectX here that you can rock before reinstalling fresh: http://www.raymond.cc/blog/how-to-uninstall-directx-and-reinstall-to-repair-directx/2/

Just create a restore point first to be safe.

Link to comment
Share on other sites

Both DXError logs are failing at the same spot - trying to load C:\WINDOWS\system32\xactengine3_0.dll. The error is illegal instruction, which could be a version mismatch or just a corrupted file.

Can you uninstall DirectX from Add Remove Programs? If so, reinstall afterward and that should help. If you can't, there are a few uninstallers for DirectX here that you can rock before reinstalling fresh: http://www.raymond.cc/blog/how-to-uninstall-directx-and-reinstall-to-repair-directx/2/

Just create a restore point first to be safe.

Thanks for telling me.

I managed to partially solve this issue, by uninstalling and reinstalling the NVIDIA GeForce2 Go integrated driver. The C:\WINDOWS\system\xactengine3_0.dll driver is there. I will try to uninstall DirectX and reinstall it to see if it helps and report back. :)

Link to comment
Share on other sites

Both DXError logs are failing at the same spot - trying to load C:\WINDOWS\system32\xactengine3_0.dll. The error is illegal instruction, which could be a version mismatch or just a corrupted file.

Can you uninstall DirectX from Add Remove Programs? If so, reinstall afterward and that should help. If you can't, there are a few uninstallers for DirectX here that you can rock before reinstalling fresh: http://www.raymond.cc/blog/how-to-uninstall-directx-and-reinstall-to-repair-directx/2/

Just create a restore point first to be safe.

It may mean a hardware failure. Or CPU overheating.

The OP-listed symptoms could be disk errors.

Edited by RJARRRPCGP
Link to comment
Share on other sites

Both DXError logs are failing at the same spot - trying to load C:\WINDOWS\system32\xactengine3_0.dll. The error is illegal instruction, which could be a version mismatch or just a corrupted file.

Can you uninstall DirectX from Add Remove Programs? If so, reinstall afterward and that should help. If you can't, there are a few uninstallers for DirectX here that you can rock before reinstalling fresh: http://www.raymond.cc/blog/how-to-uninstall-directx-and-reinstall-to-repair-directx/2/

Just create a restore point first to be safe.

It may mean a hardware failure. Or CPU overheating.

The OP-listed symptoms could be disk errors.

I don't think that is it. Windows XP is installed on a CF card attached to a CF-IDE adapter and the card has only been in use for four days. The reason why it's throwing Event 11 errors referencing to "disk" is that there is a possible IDE controller error meaning that it's possible that either the IDE cablss are loose or they're going bad.

I'm gonna try to find ways to re-install DirectX 9.0c though.

Link to comment
Share on other sites

Okay, after manually attempting to remove DirectX, it messed up my Windows XP installation, so I had to do a re-install of the OS on the TC1000 and unfortunately, the error still occurs. :(

The error logs tells it all:

--------------------
[11/17/13 16:42:48] module: dxupdate(Nov 19 2010), file: dxupdate.cpp, line: 2234, function: RegisterDLL

Failed API: LoadLibraryEx()
Error: (0xc000001d)

Unable to load C:\WINDOWS\system32\xactengine3_0.dll.

--------------------
[11/17/13 16:42:48] module: dxupdate(Nov 19 2010), file: dxupdate.cpp, line: 5861, function: DirectXUpdateInstallPlugIn

RegisterDllFromSection() failed.

--------------------
[11/17/13 16:42:48] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

DirectXUpdateInstallPlugIn() failed.

--------------------
[11/17/13 16:42:48] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

InstallPlugIn() failed.

The API that failed to load was LoadLibraryEx() in module dxupdate.cpp on line 2234 with the error 0xC0000001D (Illegal Instruction Executed). Other APIs that failed to load were DirectXUpdateInstallPlugin(), InstallPlugIn() and RegisterDllFromSection().

This is on a installation running Windows XP SP2. I earlier that someone tried to install the DirectX redistributable under Windows XP SP3 and it didn't work well with the August 2008 redistributable: http://www.msfn.org/board/topic/124227-directx-redist-fails-to-install-on-windows-xp-sp3/

I'm hardly guessing that this might be a botched installation of DirectX 9.0c, don't you think? I could be wrong.

I was wondering this. Is there is a way to fix this without going into too much of a hassle of having to reinstall the OS again?

Edited by ppgrainbow
Link to comment
Share on other sites

I don't know if this will fix your issue, primarily since I'm not 100% sure you issue is not more related to the CF card / CF-IDE adapter / IDE cabbles rather than the DirectX install itself. But you can look at this. It allows you to create your own DirectX installer and/or addon, along with an uninstaller which can completely remove a prior DirectX install no matter how it was originally installed. It has been used for several years now and has been tested on XP, XP64, and Win7. (Full disclosure - Win2k has some issues I never got around to fixing.) Since your symptoms indicate a problem with installing DirectX, maybe getting rid of the (IMHO) bloated MS installer might help your situation. If it works, if you rerun the MS DirectX installer after using the one you made yourself, the MS installer will indicate that everything is already installed so it will do nothing else. Good luck.

Cheers and Regards

Link to comment
Share on other sites

I don't know if this will fix your issue, primarily since I'm not 100% sure you issue is not more related to the CF card / CF-IDE adapter / IDE cabbles rather than the DirectX install itself. But you can look at this. It allows you to create your own DirectX installer and/or addon, along with an uninstaller which can completely remove a prior DirectX install no matter how it was originally installed. It has been used for several years now and has been tested on XP, XP64, and Win7. (Full disclosure - Win2k has some issues I never got around to fixing.) Since your symptoms indicate a problem with installing DirectX, maybe getting rid of the (IMHO) bloated MS installer might help your situation. If it works, if you rerun the MS DirectX installer after using the one you made yourself, the MS installer will indicate that everything is already installed so it will do nothing else. Good luck.

Cheers and Regards

Thanks for the link.

Can you try to fix the URL link? All I'm getting is a link to the username and password that is required to login to the account on the RyanVM.net Discussion Board. :(

Link to comment
Share on other sites

Sorry, that is the correct link. Ryan's has changed his policy recently to require membership to view some of the subforums. It's free and he does absolutely nothing with your signup data like send you emails or anything. Many of the members here are members there as well. You really ought to sign up. Don't worry, it's completely safe.

Until you sign up, you can use this DL link.

Size: 758,696 bytes

MD5: b6aafa8c528552a41a2d820611e707ea

Note that even though the app is v2.2.1, I forgot to update the changelog in the included ReadMe. The missing entry is:

2011-12-14 -- Version 2.2.1

Switched to using vmanda's downloader until I can get mine working again

Please let me know how it goes. You can comment at Ryan's with your new account, or here if you prefer.

Cheers and Regards

Edited by bphlpt
Link to comment
Share on other sites

Sorry, that is the correct link. Ryan's has changed his policy recently to require membership to view some of the subforums. It's free and he does absolutely nothing with your signup data like send you emails or anything. Many of the members here are members there as well. You really ought to sign up. Don't worry, it's completely safe.

Until you sign up, you can use this DL link.

Size: 758,696 bytes

MD5: b6aafa8c528552a41a2d820611e707ea

Note that even though the app is v2.2.1, I forgot to update the changelog in the included ReadMe. The missing entry is:

2011-12-14 -- Version 2.2.1

Switched to using vmanda's downloader until I can get mine working again

Please let me know how it goes. You can comment at Ryan's with your new account, or here if you prefer.

Cheers and Regards

Please accept my apologies for not responding, but thank you for telling me. I'll give it a whirl and read the instructions.

I downloaded the November 2007 version of the DirectX 9.0c update and as far as I know, it might be the last version that would work on the TC1000. The only files that might be left from later revisions of DirectX 9.0c are the following four files:

mswebdvd.dll (6.05.2600.3610; 2009-08-05 01:11:47)

strmdll.dll (4.01.0000.3938; 2009-08-26 00:16:37)

msyuv.dll (5.03.2600.3649; 2009-11-27 09:33:35)

quartz.dll (6.05.2600.3665; 2010-02-05 10:40:58)

Starting in the February 2008 redistributable of DirectX 9.0c, xactengine3_0.dll gets installed and on some machines (such as the TC1000 which lacks SSE and SSE2 instruction sets) will fail to install properly, leaving leftover files from later revisions of DX 9.0c.

Now that I downloaded DXCB 2.2.1, how can I get the June 2010 redistributable of DirectX 9.0c to work properly?

Edited by ppgrainbow
Link to comment
Share on other sites

I am a little confused. You say you want to get the 2010 redistributable of DirectX 9.0c to work properly, but you also say that the November 2007 version of the DirectX 9.0c might be the last version that will work on the TC1000. If the latter is true, then why do you think that the former is possible?

I'm not familiar with the TC1000 or any such system with it's apparent deficiencies, but since you say it runs XP alright my idea was for you to run DXCB which should produce an addon, an installer and an uninstaller. You could then run the uninstaller to remove whatever DirectX remnants are currently on the system, then run the installer and hope for the best. If I remember correctly, when the installer registers the various components such as xactengine3_0.dll, I think it blindly continues on regardless of results so will just skip over components that don't register. I guess it will leave those leftover files, but I don't see that they will do any harm, and if they are really not doing anything I suppose you could remove them. (Even though I wrote DXCB, I'm afraid I don't know enough about the actual workings of DirectX to know what the consequences would be of either leaving or removing them.) As I said above, if everything works with the installer you make yourself, if you rerun the MS DirectX installer after using the one you made yourself, the MS installer should indicate that everything is already installed correctly so it will do nothing else.

By the way, once you read all the instructions, you will see that if you end up needing to install an older version of DirectX that you have already downloaded, like the November 2007 version, DXCB will allow you to create an installer or addon from the redistributable that you already downloaded. You'll just need to tell it where the redistributable is and to not download a new copy.

I guess you'll just have to try it and see. Remember, you can always re-run the uninstaller anytime you need to start over. Good luck.

EDIT: You might also want to look here for someone else's experience of using some DirectX DLLs that weren't fully installed. That was on Win2K, but the same might apply in your case.

Cheers and Regards

Edited by bphlpt
Link to comment
Share on other sites

I am a little confused. You say you want to get the 2010 redistributable of DirectX 9.0c to work properly, but you also say that the November 2007 version of the DirectX 9.0c might be the last version that will work on the TC1000. If the latter is true, then why do you think that the former is possible?

That's what I'm trying to say.

The installer fails to properly register the xactengine3_0.dll file (it first existed in the March 2008 redistributable) which causes the DirectX installation to fail.

One thing that I found is that according to this thread, 0xC0000001D in failed API, LoadLibraryEx() means, Illegal Instruction, meaning that the Compaq TC1000 uses a 1 GHz Transmeta Cruesoe processor which only uses MMX instructions. Typically, versions of the DirectX 9.0c from March 2008 to June 2010 require at a absolute minimum, the SSE instruction set, which which is only found in Intel Pentium III processors or better as well as the HP Compaq TC1100 which uses either a Pentium M or Celeron processor.

When I put Windows 95 OSR2 on the Fujitsu Point 510 tablet computer, I found that I could not install DirectX 8.0a (which was the last version of DirectX to support Windows 95). DirectX 8.0a rrquires a Intel Pentium or equivlent processor with CMPXCHG8B instruction set for which the Point 510 lacks...so, I had to settle for DirectX 5 (July 1997 version) instead.

I'm gonna read up on the DXCB utility to see how I can try to get the June 2010 redistributable of DirectX 9.0c working on the TC1000, if not...then I'm afraid that I'm gonna have to give up until further notice.

{b]Update: The problem has been resolved!

In order to forcefully get the June 2010 redistributable of DirectX 9.0c to work, I used the DXCB utility with the following switches:

DXCB -64 -t xp -g -l

By using this command above DXCB will only use the 32-bit redistributables from June 2010 with Windows XP as the target OS. As I already have the directx_Jun2010_redist.exe file placed in the \DXCB directory, it will not redownload the latest revision of DirectX 9.0c and will print out a verbose log of the files that were extracted.

Here's what it looks like:

With this update hack, it took 32 minutes, 19.91 seconds to complete the command and forcefully install the June 2010 redistributable of DirectX 9.0c in the \WINDOWS\system32 folder. However, when it tried to initialise XAudio, I received a error that the processor on the TC1000 wasn't supported and it required SSE instruction set in order to use XAudio.

But other than that, DirectX 9.0c is working "as-is" on the TC1000.

I have now moved the files placed in the DXCB directory off of the TC1000 by moving the files over the network onto one of my USB hard drives. I will now need to put the files in a ZIP file for future reference incase I have to re-install it again in the near future. :)

Edited by ppgrainbow
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...