Id. de artículo: 314106 - Ver los productos a los que se aplica este artículo
Para obtener una versión de este artículo para Microsoft Windows 2000, consulte 165214.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe cómo solucionar en Windows problemas de los programas basados en MS-DOS.

Más información

Comprobar el subsistema Ntvdm

Lo primero que hay que comprobar cuando se tienen problemas con programas basados en MS-DOS es el subsistema de máquina DOS virtual de Windows (NTVDM). Puede utilizar Command.com para comprobar si el subsistema de NTVDM se está ejecutando correctamente. Para iniciar Command.com, siga estos pasos:
  1. Haga clic en el botón Inicio y, a continuación, haga clic en Ejecutar.
  2. En el cuadro Abrir, escriba command.com y haga clic en Aceptar.
Esto debería iniciar una ventana de símbolo del sistema. Si esto no funciona correctamente, tiene un problema con el subsistema de NTVDM y debería comprobar los elementos siguientes:
  • Compruebe los valores de configuración no estándar en los archivos Config.nt y Autoexec.nt de la carpeta SystemRoot%\System32.

    Utilice una instrucción REM para comentar todas las entradas menos las entradas predeterminadas siguientes:
       Config.nt
       ---------
       dos=high, umb
       device=%SystemRoot%\System32\Himem.sys
       files=20
    
       Autoexec.nt
       -----------
    
       lh %SystemRoot%\System32\Mscdexnt.exe
       lh %SystemRoot%\System32\Redir
       lh %SystemRoot%\System32\Dosx
       lh %SystemRoot%\System32\Nw16  (sólo si está instalado CSNW)
       lh %SystemRoot%\System32\Vwipxspx (sólo si está instalado CSNW)
    						
    Otra manera de lograr esto es expandir Autoexec.nt_ y Config.nt_ del CD-ROM de Windows a la carpeta %SystemRoot%\System32.
  • Presione CTRL+MAYÚS+ESC para iniciar el Administrador de tareas, cierre todos los programas en ejecución y asegúrese de que no hay otros procesos NTVDM en ejecución.
  • Evite que todos los programas se ejecuten en el inicio. Los programas pueden ejecutarse desde tres lugares en el inicio: los grupos Inicio, las líneas Run y RunOnce del Registro y las líneas "run=" y "load=" del archivo Win.ini. Puede comprobar esos lugares del siguiente modo:
    1. Los grupos Inicio son carpetas del disco duro local. Están en las ubicaciones siguientes:
      • %SystemRoot%\Profiles\nombreUsuario\Start menu\Programs
      • %SystemRoot%\Profiles\Default user\Start menu\Programs
    2. Las líneas Run y RunOnce están en el Registro, bajo la siguiente clave:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
    3. Puede modificar el archivo Win.ini utilizando el Bloc de notas. El archivo Win.ini está en la carpeta % SystemRoot%.
  • Examine los archivos de sistema de NTVDM en la carpeta %SystemRoot%\System32. Compruebe los archivos siguientes y asegúrese de que son la versión correcta comprobando el tamaño y la fecha:
       Ntio.sys
       Ntdos.sys
       Ntvdm.exe
       Ntvdm.dll (sólo en Windows NT 3.1)
       Redir.exe
    					
  • Las entradas del Registro que están asociadas con el subsistema de NTVDM son:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
      Esta clave almacena las variables de entorno desde los archivos Config.sys y Autoexec.bat para su uso en Windows.
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
      Esta clave almacena los controladores de dispositivos utilizados en una sesión de NTVDM. El programa de instalación de Windows crea estas entradas cuando se instala un controlador de dispositivos.

Compruebe los problemas específicos del programa

Las características siguientes no funcionan en Windows XP:
  • Son compatibles todas las funciones de MS-DOS salvo las funciones de la API de conmutación de tareas (interfaz de programación de aplicaciones).
  • Los controladores de dispositivos en el modo de bloqueo no son compatibles. No se admiten dispositivos de bloqueo, por lo que las API de control de E/S (IOCTL) de MS-DOS que tratan con dispositivos de bloqueo y funciones SETDPB no son compatibles.
  • Interrupt 10 function 1A devuelve 0; todas las otras funciones se pasan a la memoria de sólo lectura (ROM).
  • Las llamadas a Interrupt 13 que tratan con accesos a disco prohibidos no son compatibles.
  • Interrupt 18 (ROM BASIC) genera un mensaje que dice que no se admite ROM BASIC.
  • Interrupt 19 no reinicia el equipo, pero cierra correctamente la máquina DOS virtual actual (VDM).
  • Interrupt 2F, que trata con las llamadas al programa DOSKEY (AX = 4800) no es compatible.
  • Las funciones 2, 3, 4, 5, 8, E y F de Microsoft CD-ROM Extensions (MSCDEX) no son compatibles.
  • El subsistema de Windows de 16 bits en un equipo x86 admite los programas de modo mejorado; sin embargo, no admite controladores de dispositivo virtuales de 16 bits (VxD). El subsistema en un equipo que no es x86 emula el conjunto de instrucciones 40486 de Intel, que permite que el equipo ejecute programas de modos mejorados, como Microsoft Visual Basic, en equipos con conjunto de instrucciones reducidas (RISC).
Esto significa que Windows no admite programas de 16 bits que requieren el acceso sin restricciones al hardware. Si su programa requiere ese acceso, no funcionará en Windows NT, Windows 2000 o Windows XP.

Después debería comprobar si los valores de configuración de los archivos Autoexec.nt y Config.nt son correctos. Inténtelo siempre con la configuración predeterminada que presentamos antes en este artículo. Algunos programas exigen controladores o valores de configuración especiales para ejecutar los archivos Config.sys o Autoexec.bat. Si es así, hay dos opciones para iniciar estos archivos cuando inicia su programa:
  • Escriba estas líneas en los archivos Config.nt y Autoexec.nt de la carpeta %SystemRoot%\System32.
  • Cree nuevos archivos Config y lAutoexec para que se ejecuten al iniciar este programa. Para ello, siga estos pasos:
    1. Cree los archivos y guárdelos con la extensión .nt en una carpeta distinta de %SystemRoot%\System32 (estos archivos se suelen guardar en la misma carpeta que el programa).
    2. Haga clic con el botón secundario del mouse (ratón) en el escritorio, seleccione Nuevo y haga clic en Acceso directo.
    3. En el cuadro Escriba la ubicación del elemento, escriba la ruta de acceso completa al archivo que desea ejecutar y, a continuación, haga clic en Siguiente.
    4. En el cuadro Escriba un nombre para este acceso directo, escriba el nombre del acceso directo y, a continuación, haga clic en Finalizar. Esto crea un nuevo acceso directo en el escritorio.
    5. Haga clic con el botón secundario en el nuevo acceso directo y, a continuación, haga clic en Propiedades.
    6. En la ficha Programa, haga clic en Windows para abrir un cuadro de diálogo para la ruta de acceso a los archivos Autoexec y Config.
    7. Escriba la ruta de acceso completa a los archivos que creó y, a continuación, haga clic en Aceptar en ambos cuadros de diálogo.
    Al hacer clic en este icono, ejecuta los archivos Autoexec y Config especificados para el programa. Esta configuración está sujeta a las mismas restricciones que las enumeradas para los programas basados en MS-DOS.
Hay otra configuración en las propiedades del programa. Si su programa no funciona correctamente, compruebe todas las fichas y asegúrese de que la configuración del programa cumple la especificada por el fabricante. Si el programa sigue sin funcionar, póngase en contacto con el proveedor del programa para asegurarse de que es compatible con Windows.

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
171940 Las operaciones de E/S de la aplicación MS-DOS causan el acceso a la unidad de disco
156687 Las entradas de CONFIG.NT o AUTOEXEC.NT pueden causar errores NTVDM
102418 Error de NTVDM: No hay disco en la unidad
142026 Err: 'Consola oculta de WOW VDM' al ejecutar aplicación de 16 bits o DOS
Los productos de terceros que se analizan en este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, con respecto al rendimiento o la confiabilidad de estos productos.

Propiedades

Id. de artículo: 314106 - Última revisión: martes, 14 de junio de 2005 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Palabras clave: 
kbregistry kbenv kbinfo kbtshoot KB314106

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com