powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как Windows 2000 ищет Command.com призапуске старых приложений?
17 сообщений из 17, страница 1 из 1
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867043
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На одном из компов Windows 2000 SP4 заполучил такое сообщение:

Код: plaintext
1.
Всплывающее окно приложения:  16 -разрядная подсистема MS-DOS : <все, что угодно>.EXE
config.nt. Системный файл не предназначен для выполнения приложений MS-DOS и Microsoft Windows. Для завершения работы приложения нажмите кнопку ''Закрыть''. 

Почитал http://support.microsoft.com/default.aspx?scid=kb;ru;324767

Проверил
• Config.nt
• Autoexec.nt
• Command.com
все на месте в %systemroot%\system32.

С помощью FileMon обнаружил, что система пытается найти Command.com в корне C:\.

Засунул Command.com в C:\ - все стало ХОККЕЙ...

НО!!!, на других компах с Windows 2000 SP4 НЕМА C:\Command.com и ВСЕ работает.

Внимание вопрос: Как Windows 2000 SP4 ищет Command.com призапуске старых приложений? И как это дело можно поправить?
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867047
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
start -> run -> regedit.exe
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867063
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyarastart -> run -> regedit.exe

Блин, такие советы и я могу давать... а дальше?
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867109
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А много у тебя command.com`ов в реестре? У меня - ни одного. Но у меня он его и не ищет.
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867187
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с винфака - "Посмотрите C:\WINNT\SYSTEM\autoexec.nt и C:\WINNT\SYSTEM\config.nt Hо под W2k эти файлы влияют только на процессы, работающие через NTVDM и на Win32 никакого эффекта не оказывают. Кроме того, при указании путей в autoexec.nt могут некорректно вести себя Win16-приложения. Поэтому рекомендуется прописывать пути в свойствах "Мой компьютер" на закладке Advanced -> Environment Variables. "
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867545
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraА много у тебя command.com`ов в реестре? У меня - ни одного. Но у меня он его и не ищет.

Для неграмотных поясняю: command.com он не в реестре, он в %systemroot%\system32 живет и это стандартный компонент Windows.
Запускается если пользователь заводит любое 16-битное приложение.


trubbс винфака - "Посмотрите C:\WINNT\SYSTEM\autoexec.nt и C:\WINNT\SYSTEM\config.nt Hо под W2k эти файлы влияют только на процессы, работающие через NTVDM и на Win32 никакого эффекта не оказывают. Кроме того, при указании путей в autoexec.nt могут некорректно вести себя Win16-приложения. Поэтому рекомендуется прописывать пути в свойствах "Мой компьютер" на закладке Advanced -> Environment Variables. "

autoexec.nt и config.nt нормальные. Ведь работают 16-битные приложения, ЕСЛИ
засунуть Command.com в C:\
---------------------
Вопрос в том: какого хрена его там система ищет и чем ее не устраивает %systemroot%\system32\Command.com
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867575
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Environment Variables - shell - знаешь?
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867605
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сами ми не местние....
Ми искаль в реюсти - а посему зе ему ентот command.com нузен в c:\....

А коли на тот момент не было других предложений где искать путь к command.com я и выдвинул идею порыться в реестре.

З.Ы. В вин2000 есть ещё cmd.exe
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32867681
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trubbEnvironment Variables - shell - знаешь?
или comspec....
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32868219
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trubb trubbEnvironment Variables - shell - знаешь?
или comspec....

Знаешь. Там стоит comspec=%SystemRoot%\system32\cmd.exe.
Так стоит на всех машинах (и на проблемной тоже).
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32868253
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты пропиши c:\winnt\.....
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32868278
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать pif для дос-проги и там ей подсунуть маршруты до config.nt ...
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32868292
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2На одном из компов Windows 2000 SP4 заполучил такое сообщение:

[src]С помощью FileMon обнаружил, что система пытается найти Command.com в корне C:\.


Ты уверен, что система, а не приложение?
Кроме того выдай сюда распечатку консольной команды SET, а если возможно то это сделать из консоли той программы то и от туда.
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32869063
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraА ты пропиши c:\winnt\.....

Я уже сунул command.com в корень. А твой совет из той же оперы...

trubbсоздать pif для дос-проги и там ей подсунуть маршруты до config.nt ...

Гм... это для каждого приложения создавать?

[quot Anatoly Podgoretsky][quot aleks2]На одном из компов Windows 2000 SP4 заполучил такое сообщение:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
С помощью FileMon обнаружил, что система пытается найти Command.com в корне C:\. 
[/quot]

Ты уверен, что система, а не приложение?
Кроме того выдай сюда распечатку консольной команды SET, а если возможно то это сделать из консоли той программы то и от туда.[/quot]

>>Ты уверен, что система, а не приложение?
Да. Приложения разные и на др. машинах они этого не делают.

>>Кроме того выдай сюда распечатку консольной команды SET

AUTOEXEC.nt и CONFIG.nt идентичны файлам на беспроблемной машине.

Это установки из cmd.exe
[src]ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Администратор.ST2\Application Data
CLIENTNAME=ARB3
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=ST2
ComSpec=C:\WINNT\system32\cmd.exe
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Администратор.ST2
Files\Microsoft Visual Studio\VC98\lib
LOGONSERVER=\\ST2
NUMBER_OF_PROCESSORS= 1 
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Microsoft SQL Server\ 80 \Tools\Binn\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family  6  Model  6  Stepping  5 , GenuineIntel
PROCESSOR_LEVEL= 6 
PROCESSOR_REVISION= 0605 
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=RDP-Tcp# 3 
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=C:\DOCUME~ 1 \АДМИНИ~ 1 .ST2\LOCALS~ 1 \Temp\ 1 
TMP=C:\DOCUME~ 1 \АДМИНИ~ 1 .ST2\LOCALS~ 1 \Temp\ 1 
USERDNSDOMAIN=mp.dpt.ustu.ru
USERDOMAIN=MP2000
USERNAME=main
USERPROFILE=C:\Documents and Settings\Администратор.ST2
windir=C:\WINNT

А это из command.com и ЛЮБОЙ 16-и битной программы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
COMSPEC=C:\COMMAND.COM
ALLUSERSPROFILE=C:\DOCUME~ 1 \ALLUSE~ 1 
APPDATA=C:\Documents and Settings\Администратор.ST2\Application Data
CLIENTNAME=ARB3
COMMONPROGRAMFILES=C:\PROGRA~ 1 \COMMON~ 1 
COMPUTERNAME=ST2
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Администратор.ST2
LOGONSERVER=\\ST2
NUMBER_OF_PROCESSORS= 1 
OS=Windows_NT
OS2LIBPATH=C:\WINNT\system32\os2\dll;
PATH=C:\WINNT;C:\WINNT\System32
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family  6  Model  6  Stepping  5 , GenuineIntel
PROCESSOR_LEVEL= 6 
PROCESSOR_REVISION= 0605 
PROGRAMFILES=C:\PROGRA~ 1 
PROMPT=$P$G
SESSIONNAME=RDP-Tcp# 3 
SYSTEMDRIVE=C:
SYSTEMROOT=C:\WINNT
TEMP=C:\tmp
TMP=C:\tmp
USERDNSDOMAIN=mp.dpt.ustu.ru
USERDOMAIN=MP2000
USERNAME=main
USERPROFILE=C:\Documents and Settings\Администратор.ST2
BGI=c:\bp\bgi
BATDIR=C:\com

Но какая скотина меняет COMSPEC?
На беспроблемной машине этого не происходит.
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32869097
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел у себя единственную ссылку на command.com - noclose.pif
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32869119
Фотография trubb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"При наличии конфликта между переменными среды, они устанавливаются следующим образом.

Сначала устанавливаются системные переменные среды.
Далее устанавливаются все переменные среды из файла Autoexec.bat (кроме переменных Path), и они переопределяют значения системных переменных.
Затем устанавливаются переменные среды пользователя, заданные в диалоговом окне Свойства системы, причем они переопределяют значения системных переменных и переменных из файла Autoexec.bat.
В последнюю очередь устанавливается значение переменной Path из файла Autoexec.bat." - winhelp

вывод какой-то config.nt - левый.....

SESSIONNAME=RDP-Tcp#3 - это не в терминале часом? - там могут срабатывать скрипты на вход со сменой переменных среды....
...
Рейтинг: 0 / 0
Как Windows 2000 ищет Command.com призапуске старых приложений?
    #32869834
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все оказалось гораздо хитрее.
Тщательный просмотр лога FileMon показал.
При запуске NTVDM:
1) считывает config.nt
2) записывает его содержимое во временный файл (используются короткие имена файла)
C:\DOCUME~1\Админи~1.ST2\LocalS~1\temp\bla-bla.tmp
3) Закрывает оба.
4) Пытается открыть
C:\DOCUME~1\Админи~1.ST2\LocalS~1\temp\bla-bla.tmp
НО под ошибочным именем, заменяя Админи~1 на нечто невразумительное
5) Обламывается (не находит) и ... все вышеописанное.
----------------
Специально попробовал на этой машине с латинским именем профиля - усе работает.

Попробовал на другой машине - там Админи~1 сразу, еще на этапе 2) почему-то выглядит иначе. NTVDM пользует вместо Админи~1 имя из чего-то шестнадцатиричного типа ABF18CD86 т.е. руских буковок нема совсем, хотя файл появляется в этой папке
C:\DOCUME~1\Админи~1.ST2\LocalS~1\temp\
И на этапе 4) успешно его открывает с тем же шестнадц. именем.

Можно сделать вывод:
либо NTVDM использует неправильную кодовую станицу;
либо система по-разному генерирует короткие имена для DOS.
Но где это регулируется?
---------------
Обе машины Windows 2000 Server (RU).
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Как Windows 2000 ищет Command.com призапуске старых приложений?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]