This information applies to:
·
Microsoft
Windows 2000 Server
·
Microsoft
Windows 2000 Advanced Server
·
Microsoft
Windows 2000 Professional
·
Microsoft
Windows NT Workstation 4.0
IMPORTANT: This article contains information
about modifying the registry. Before you modify the registry, make sure to back
it up and make sure that you understand how to restore the registry if a
problem occurs.
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.
This behaviour can occur if the following registry value
has become corrupted:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers\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.
WARNING: If you use Registry Editor
incorrectly, you may cause serious problems that may require you to reinstall
your operating system. 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\VirtualDeviceDrivers\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.
After
the installation of Service Pack 2, (SP2), for Windows 2000 the operating
system ceases to execute 16-bit programs and generates the following error code
<Program> caused a general Protection Fault in module
KRNL386.EXE at 0001:6382 Choose close. <Program> will close
This
is due to a program compatibility feature within VDM, (Windows NT Virtual Dos
Machine), that prevents the operation of 16-bit applications.
1. Start Registry Editor
(Regedt32.exe).
2. Locate and click the following
value:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\AppCompatability\
3. Delete
the NTVDM.EXE subkey
4. Click YES
for confirmation
5. Quit Registry Editor
6. Restart
your computer
Torbjörn
Hovmark of Abtrusion Security AB reports
that Windows NT, XP, and 2000 can easily be made to load 16-bit Windows
applications, which the user is not authorized to run. While such applications
cannot be run if the user clicks them in the Windows GUI, all he or she must do
to execute them is run them through the "DOS shell" via the command
command /c
16BitWindowsApp.exe
The program will be run even if the user does not
have permission to execute it.
This bug, reported to Microsoft in July, can be
used to bypass administrative restrictions and to deliver worms, viruses,
Trojan horses, and other malware against which a user would normally be
protected. Microsoft has told the author of the advisory that the problem will
be addressed in "future service packs."