A search of Microsoft's KnowledgeBase identified an
article - 254914 - as follows:

SYMPTOMS
After you install some programs, one of the following
error messages may appear when you attempt to run 16-bit
programs:
16 bit MS-DOS Subsystem
drive:\program path
XXXX. An installable Virtual Device Driver failed DLL
initialization. Choose 'Close' to terminate the
application.
-or-

16 bit MS-DOS Subsystem
drive:\program path
SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers.
VDD. Virtual Device Driver format in the registry is
invalid. Choose 'Close' to terminate the application.
In some cases, clicking Ignore allows the program to run
properly, but the error message continues to be displayed
when you start 16-bit programs.
CAUSE
This behavior can occur if the following registry value
has become corrupted:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
DeviceDrivers\VDD
This issue may occur after you install a 16-bit program,
or a program that uses a 16-bit installation program, that
is not Windows 2000 compliant.
RESOLUTION
WARNING: If you use Registry Editor incorrectly, you may
cause serious problems that may require you to reinstall
your operating system. Microsoft cannot guarantee that you
can solve problems that result from using Registry Editor
incorrectly. Use Registry Editor at your own risk.
1. Start Registry Editor (Regedt32.exe).
2. Locate and click the following value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
DeviceDrivers\VDD
3. On the Edit menu, click Delete.
4. On the Edit menu, click Add Value.
5. Type VDD in the Value Name box, click REG_MULTI_SZ for
the Data Type, and then click OK.
6. The Multi-String editor appears. Leave this entry blank
and click OK.
7. Quit Registry Editor.
If the above steps do not work, or if you are unable to
create the VDD key, it may be necessary to also delete and
recreate the whole VirtualDeviceDrivers registry key.
___________________________________________________________
___________________________________________________________
____________

However, I attempted last night to edit the registry, and
was able to locate the value
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
DeviceDrivers but could not locate the \VDD element to
delete. Clicking on the value and selecting Edit, Add
Value allowed me to enter VDD as Value Name and
REG_MULTI_SZ, but selecting OK and OK caused an error
message to the effect that the Value entry already
exists. However the 'Folder' (or whatever it is)
VirtualDeviceDriver' does not have the 'VDD' 'subfolder'
(i.e. there is no + sign in the icon)

Presumably as I couldn't create the VDD key, I need to
delete and recreate the whole VirtualDeviceDrivers key?
Unfortunately, the article above does not explain how to
do that.

Advertisements

The article is pretty straight-forward. You'll need to use
regedt32.exe.regedit.exe cannot create Reg_Multi_Sz strings. If you need to
recreate the VirtualDeviceDrivers key; highlight the key (in the left-hand
pane), then Edit|Delete Then (in the left-hand pane) position the cursor on
the "Control" key, (so you'll be creating directly under "Control") then
Edit|Add Key, then for the "Key Name:"
VirtualDeviceDrivers
You can leave the "Class:" blank Then proceed with steps four through seven.

"Mike Twidale" wrote:
|I had a problem installing some games/programs on my
| daughter's laptop over the weekend. Although two programs
| installed without any problem, 2 others failed with the
| following error message:
|
| 16 bit Windows subsystem
|
| SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers.
| VDD. Virtual Device Driver format in the registry is
| invalid. Choose 'Close' to terminate the application
|
| A search of Microsoft's KnowledgeBase identified an
| article - 254914 - as follows:
|
|
|
|
| SYMPTOMS
| After you install some programs, one of the following
| error messages may appear when you attempt to run 16-bit
| programs:
| 16 bit MS-DOS Subsystem
| drive:\program path
| XXXX. An installable Virtual Device Driver failed DLL
| initialization. Choose 'Close' to terminate the
| application.
| -or-
|
| 16 bit MS-DOS Subsystem
| drive:\program path
| SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers.
| VDD. Virtual Device Driver format in the registry is
| invalid. Choose 'Close' to terminate the application.
| In some cases, clicking Ignore allows the program to run
| properly, but the error message continues to be displayed
| when you start 16-bit programs.
| CAUSE
| This behavior can occur if the following registry value
| has become corrupted:
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
| DeviceDrivers\VDD
| This issue may occur after you install a 16-bit program,
| or a program that uses a 16-bit installation program, that
| is not Windows 2000 compliant.
| RESOLUTION
| WARNING: If you use Registry Editor incorrectly, you may
| cause serious problems that may require you to reinstall
| your operating system. Microsoft cannot guarantee that you
| can solve problems that result from using Registry Editor
| incorrectly. Use Registry Editor at your own risk.
| 1. Start Registry Editor (Regedt32.exe).
| 2. Locate and click the following value:
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
| DeviceDrivers\VDD
| 3. On the Edit menu, click Delete.
| 4. On the Edit menu, click Add Value.
| 5. Type VDD in the Value Name box, click REG_MULTI_SZ for
| the Data Type, and then click OK.
| 6. The Multi-String editor appears. Leave this entry blank
| and click OK.
| 7. Quit Registry Editor.
| If the above steps do not work, or if you are unable to
| create the VDD key, it may be necessary to also delete and
| recreate the whole VirtualDeviceDrivers registry key.
| ___________________________________________________________
| ___________________________________________________________
| ____________
|
| However, I attempted last night to edit the registry, and
| was able to locate the value
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Virtual
| DeviceDrivers but could not locate the \VDD element to
| delete. Clicking on the value and selecting Edit, Add
| Value allowed me to enter VDD as Value Name and
| REG_MULTI_SZ, but selecting OK and OK caused an error
| message to the effect that the Value entry already
| exists. However the 'Folder' (or whatever it is)
| VirtualDeviceDriver' does not have the 'VDD' 'subfolder'
| (i.e. there is no + sign in the icon)
|
| Presumably as I couldn't create the VDD key, I need to
| delete and recreate the whole VirtualDeviceDrivers key?
| Unfortunately, the article above does not explain how to
| do that.
|
| Advice, anyone, please?
|

Advertisements

Thank you Mike and Dave for your clear and detailed description of the "fix" for this problem.
In my case I was unaware of having installed any 16 bit program, but found that I was unable to run any of the 16 bit programs that come with Vista. The program I wanted to run was "debug", but I tried others and they didn't work either. I found I didn't even have a VirtualDeviceDrivers entry in my Windows registry, much less a VDD one. Installing these with regular regedit didn't work. So I deleted 'em and used regedt32 following your suggestions exactly. Now everything works!

Share This Page

Welcome to PC Review!

Hello and welcome to PC Review. We're a friendly computing community, bustling with knowledgeable members to help solve your tech questions.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask any tech support questions, or chat with the community and help others.
Sign up now!