ID на статията: 314106 - Преглед на продукти, за които се отнася тази статия.
За версията на тази статия, предназначена за Microsoft Windows 2000, вижте 165214 (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски).
Разгъване на всички | Сгъване на всички

На тази страница

КРАТКО ИЗЛОЖЕНИЕ

Тази статия описва начините за отстраняване на неизправности в MS-DOS базирани програми в Windows

ДОПЪЛНИТЕЛНА ИНФОРМАЦИЯ

Тестване на подсистемата Ntvdm

Първото нещо, което трябва да тествате при проблеми с MS-DOS базирана програма е NTVDM (виртуална машина за DOS на Windows). Можете да използвате помощната програма Command.com, за да тествате дали подсистемата NTVDM се изпълнява правилно. За да стартирате командата Command.com, изпълнете следните стъпки:
  1. Натиснете бутона Start ("Старт") и щракнете върху Run ("Изпълни").
  2. В полето Open ("Отвори") въведете command.com и натиснете OK.
Това би трябвало да стартира прозореца на командния ред. Ако това не сработи правилно, вероятно има проблем в подсистемата NTVDM и трябва да проверите следните елементи:
  • Проверете файловете Config.nt и Autoexec.nt в папката SystemRoot%\System32 за нестандартни настройки..

    Използвайте оператора REM, за да обозначите като коментар всички записи, освен следните записи по подразбиране:
       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 (само при инсталиран CSNW)
       lh %SystemRoot%\System32\Nw16 (само при инсталиран на CSNW)
    						
    Друг начин да изпълните тази задача е като разширите Autoexec.nt_ and Config.nt_ от компактдиска на Windows в папката %SystemRoot%\System32.
  • Натиснете CTRL+SHIFT+ESC , за да стартирате диспечера на задачите, затворете всички изпълняващи се програми и проверете дали не се изпълняват и други процеси на NTVDM.
  • Предотвратете изпълнението на програмите при стартирането. Програмите могат да бъдат изпълнени от две места при стартиране: групите за стартиране и редовете Run и RunOnce в системния регистър. Можете да проверите тези места както следва:
    1. Групите за стартиране представляват папки на локалния твърд диск. Те се намират на следните места:
      • %SystemRoot%\Profiles\user_name\Start menu\Programs
      • %SystemRoot%\Profiles\Default user\Start menu\Programs
    2. Редовете Run и RunOnce се намират в системния регистър под следните ключове:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
  • Проверете файловете на системата NTVDM в папката %SystemRoot%\System32. Проверете следните файлове, за да се уверите, че са с правилната версия, чрез проверка на техния размер и дата:
       Ntio.sys
       Ntdos.sys
       Ntvdm.exe
       Ntvdm.dll (само за Windows NT 3.1)
       Redir.exe
    					
  • Свързаните с NTVDM записи в системния регистър са:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
      Този ключ съхранява променливите на средата от файловете Config.sys и Autoexec.bat за използване в Windows.
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
      Този ключ съхранява драйверите на устройствата, използвани в сесия на NTVDM. Windows Setup създава тези записи при инсталиране на драйвер на устройство.

Проверка за специфични програмни проблеми

В Windows XP не работят следните функции:
  • Всички функции на MS-DOS с изключение на подържането на функциите на API (интерфейс за програмиране на приложения) за превключване на задания.
  • Не се поддържа блоковия режим на драйверите на устройствата. Не се поддържат блокове с устройства, тъй като API за управление на входа и изхода на MS-DOS (IOCTL), които работят с блокови устройства и функции SETDPB не се поддържат.
  • Функцията на прекъсване 10 1А връща стойност 0; всички останали функции се предават само към паметта само за четене (ROM).
  • Обръщенията към прекъсване 13, отнасящи се до забранен достъп до диск не се поддържат.
  • Прекъсване 18 (ROM BASIC) води до издаване на съобщение, че ROM BASIS не се поддържа.
  • Прекъсване 19 не рестартира компютъра, но затваря нормално отворената в момента виртуална машина на DOS (VDM).
  • Прекъсване 2F, отнасящо се до обръщенията към програмата DOSKEY (АХ =4800), не се поддържа.
  • Не се поддържат функциите 2,3,4,5,8,Е и F на MSCDEX (функции на Microsoft за разширения на CD-ROM)
  • 16-битовата подсистема на Windows, работеща на x86 компютри, поддържа работещитев подобрен режим програми; тя, обаче, не поддържа драйвери за 16-битови виртуални устройства (VxDs). Подсистемите, работещи на различни от x86 компютри емулират набора инструкции на Intel 40486, което позволява на компютъра да изпълнява програми в подобрен режим, като Microsoft Virtual Basic при компютри с намален набор инструкции (RISK).
Това означава, че Windows не поддържа 16-битови програми, изискващи неограничен достъп до хардуера. Ако вашата програма е такава, тя няма да работи в Windows NT, Windows 2000 или Windows XP.

Следващата проверка е дали са зададени правилно настройките на файловете Autoexec.nt и Config.nt= Винаги изпробвайте изброените по-горе в статията настройки по подразбиране. Някои програми изискват изпълнение на специални настройки или драйвери във файловете Config.sys или Autoexec.bat. В такъв случай, има две опции за инициализиране на тези файлове при стартиране на програмата:
  • Въведете следните редове във файловете Config.sys и Autoexec.bat в папката %SystemRoot%\System32.
  • Създайте нови файлове Config и Autoexec за изпълнение при стартиране на тази програма. За тази цел изпълнете следните стъпки:
    1. Създайте файловете и ги запишете с разширение .nt в различна от %SystemRoot%\System32 папка (тези файлове обикновено се записват в същата папка, като програмата).
    2. Щракнете с десен бутон върху работния плот, посочете New ("Нов") и щракнете върху Shortcut ("Пряк път").
    3. В полето Type the location of the item ("Тип на местонахождението на елемента") въведете пълния път до файла, който искате да изпълните и натиснете Next ("Напред").
    4. В полето Type a name for this shortcut ("Въведете име за този пряк път") въведете име за прекия път и натиснете Finish ("Готово"). Това създава нов пряк път на работния плот.
    5. Щракнете с десен бутон върху новия пряк пък и щракнете върху Properties ("Свойства").
    6. В раздела Program ("Програми") щракнете върху Windows, за да отворите диалоговия прозорец за пътя до файловете Config.sys и Autoexec.bat..
    7. Въведете пълния път до създадените файлове и натиснете OK и в двата диалогови прозореца.
    Щракването върху иконата изпълнява специфичните за програмата файлове Autoexec.bat и Config.sys. Тези настройки са подложени на същите ограничения, както изброените за MS-DOS базираните програми.
В свойствата на програмата има други настройки. Ако програмата не работи правилно, проверете всички раздели и се уверете, че настройките й са зададени според спецификациите на производителя. Ако програмата продължава да не работи, се свържете с доставчика, за да проверите дали тя се поддържа под Windows.

За допълнителна информация щракнете върху следния номер на статия в базата знания на Microsoft, за да я отворите:
171940 Входно/изходните операции на MS-DOS приложения водят до достъп до флопи дисково устройство. (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
156687 Записите в CONFIG.NT или AUTOEXEC.NT могат да доведат до грешки в NTVDM (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
102418 Грешка в NTVDM: В устройството няма дискета (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
142026 Err: 'Hidden console of WOW VDM' running 16-bit or DOS app ("Скрита конзола на WOW VDM изпълняваща 16-битови или DOS приложения") (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
Продуктите на други производители, които се обсъждат в тази статия, са произведени от фирми, независими от Microsoft. Microsoft не дава никаква гаранция, неявна или друга, за характеристиките или надеждността на тези продукти.

Свойства

ID на статията: 314106 - Последна рецензия: 03 ноември 2006 г. - Редакция: 2.1
ВАЖИ ЗА
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Ключови думи: 
kbregistry kbenv kbinfo kbtshoot KB314106

Изпратете обратна информация

 

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