Ticket #10592 (new defect)

Opened 6 years ago

Last modified 4 years ago

Documentation for "Restoring d3d8.dll and d3d9.dll" is incomplete

Reported by: rgsteele Owned by:
Priority: minor Component: documentation
Version: VirtualBox 4.1.16 Keywords:
Cc: Guest type: Windows
Host type: all


A recent version of the Guest Additions installer on Windows implemented a check for "corrupted" versions of d3d8.dll and d3d9.dll. When the installer discovers an incorrect version of one of these files, it opens the following URL in the user's web browser:

The instructions for Windows 7 are to replace the following files from the original Windows media:


The instructions are incomplete, however, as the guest additions installer also checks for incorrect versions of the following files, and fails if they are found:


I believe the first two files can simply be deleted as they are merely cached copies. The third, msd3d9.dll, was not present on the Windows media I was using, and I suspect it can be deleted as well.

The documentation should be updated to include instructions about deleting these files manually. Alternately, the installer could delete these files itself.

Change History

comment:1 Changed 5 years ago by xenoson

The documentation is completely wrong about putting files into "Windows\System32 (or C:\Windows\SysWOW64 for 64 bit version)". The correct way to fix the d3d8.dll/d3d9.dll mess by virtualbox guest additions setup is to put the right files back into "Windows\winsxs" and afterwards run

sfc.exe /SCANNOW

to repair the hardlinks.

Getting the right files

In case of windows 7 we need

  • the setup cd with sources\install.wim and
  • the extracted full service pack 1 for the files

Setup CD

With 7zip file manager we navigate into


where N is a number for the different versions as said in the manual, to extract the files shown in the following table.


and aditionally for 64 bit


Service Pack Files

With 7zip file manager we navigate into the extracted service pack content

or for 64 bit

and find


and aditionally for 64 bit


Changing the Permissions

The owner of the the files and folders within winsxs is the TrustedInstaller

With an administrative file manager we first take ownership of the five directories:


then add our user to the access control list and give us full control. Only now we are allowed to replace the files with the ones extracted above.

Afterwards we remove our user from the acl, the correct mode is inheritance from parent directory, and we change the owner back to

NT SERVICE\TrustedInstaller


sfc.exe /SCANNOW

can do its job.

Deleting additional copies

To stop the guest additions installer complaining "Your Direct X driver is corrupt or incorrect" we also need to delete the oracle files from dllcache. On 64 Bit there are two dllcache directories:


If you use a 32 bit file manager on a 64 bit system these are the same, as system32 points to SysWOW64 because of  file system redirection. So there is a third


for the 64 bit files.

Last edited 5 years ago by xenoson (previous) (diff)

comment:2 Changed 4 years ago by MrFredH

I just wanted to add, that these instructions (especially those by xenoson above) are valid and indeed fixed the errors the installer used to give (Win 7 Ult Guest, Fedora 20 Host) It would be ideal if the install just fixed it itself.

I fixed my Virtual Box 4.3.14 guest using this information.

Last edited 4 years ago by MrFredH (previous) (diff)
Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use