Не работает DOS-приложение (Windows 10 x32)
Есть старая DOS-программа, запускается батником "foxprol -t mes_o", необходима по работе и без неё никак. Чтобы она работала в Windows 7 x32, я прописывал при настройке системы в переменных средах PATH путь к папке FOX20: C:\FOX20. С Windows 10 x32 такой вариант не прокатывает:
Можно ли настроить работу этой DOS-программы средствами Windows 10? |
netripper,
В режиме совместимости запускать пробовали?? |
Цитата:
|
Возникла новая проблема: обнаружил, что DOS-программа не хочет запускаться в том случае, если расположена на сетевом диске. Если на локальном - всё норм, а если на сетевом, то пишет, что не найден файл MES_O.PRG
|
Цитата:
netripper, покажите содержимое config.fp. |
EXACT= OFF
HEADING=OFF F1=" " F2=" " F3=" " F4=" " F5=" " F6=" " F7=" " F8=" " F9=" " F10=" " MVARSIZ=16 MVCOUNT=2000 |
В таком случае непонятно — откуда берётся команда на запуск mes_o.prg. Может быть, там рядом есть файл foxprol.pif или ярлык, и она указана в нём параметром?
|
Цитата:
|
netripper, ясно. Покажите содержимое текущего каталога для пакетного файла.
|
Цитата:
|
Где находится foxprol.exe? Покажите содержимое пакетного файла, содержащего команду «foxprol -t mes_o». |
Цитата:
Цитата:
Цитата:
|
Добавьте в начало этого пакетного файла команды:
Код:
echo [%CD%] |
|
netripper, сделайте лог Process Monitor следующим образом:
|
Так. Надо полагать, не в пакетном файле дело. Попробуем зайти с другой стороны — что видится внутри foxprol.exe. Замените ранее добавленные строки на
Код:
echo [%CD%] Код:
command=? sys(5), sys(2003), sys(2004), sys(2019) Скрытый текст
Скрытый текст
|
Цитата:
Petya V4sechkin, http://dropmefiles.com/mNJPI |
netripper, видимо, глюк при передаче управления cmd.exe → csrstub.exe → ntvdm.exe (у cmd текущий каталог U:\, а у csrstub и ntvdm становится \\Server\dop0315\, но DOS не работает с UNC-путями).
Попробуйте запускать так: Код:
foxprol -t U:\mes_o.prg |
Petya V4sechkin, [spoiler][spoiler]
|
|
Petya V4sechkin, существует конечно же
|
Цитата:
|
Charg, папка с DOS-программой на сетевом диске называется dop0315, папка FOX20 на каждом компьютере
Цитата:
|
netripper, сделайте повторный лог при выполнении:
Код:
foxprol -t U:\mes_o.prg |
Petya V4sechkin, http://dropmefiles.com/kf8kR
|
Цитата:
И используйте тег [spoiler] для скрытия своих изображений: так намного удобней читать тему, а люди с ограниченным трафиком скажут вам отдельное спасибо. Пример
Инструкция
|
Цитата:
|
Странно. Сначала всё ищется правильно, а потом перебрасывает на диск C:
Скрытый текст
|
Цитата:
Проблема явно связана с UAC (в последнем логе из Windows 7 всё работает, потому что EnableLUA = 0, в результате cmd.exe сразу запускает ntvdm.exe без "прокладки" csrstub.exe и без потери сетевого диска). P.S. Сетевой диск теряется из-за этого: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\D:\FOX20\FOXPROL.EXE RUNASADMIN WINXPSP3 То есть, в свойствах FOXPROL.EXE на вкладке Совместимость у вас включен флажок "Выполнять эту программу от имени администратора". Но access token администратора отличается, поэтому диск отваливается. Соответственно, три варианта решения:
|
Цитата:
|
Цитата:
2. не помогло; 3. после обнуления EnableLUA и перезагрузки при попытке запуска: |
netripper, покажите содержимое разделов реестра:
|
Petya V4sechkin,
Скрытый текст
|
netripper, странно, что ошибка изменилась.
Кстати, эта учётная запись с правами пользователя или администратора? Сделайте ещё раз лог Process Monitor. |
Petya V4sechkin, администратор
http://dropmefiles.com/hKtqT |
netripper, удалите параметры:
Цитата:
|
Цитата:
|
netripper, а в логе есть:
Цитата:
|
Цитата:
Всё из реестра удалил, режим совместимости XP SP2 установил - та же ошибка (NTVDM has encountered a System Error). |
Цитата:
Это полтергейст какой-то. |
Цитата:
|
netripper, а у вас свежие обновления для Windows установлены?
Например, в этой теме пишут, что обновление KB3194798 всё поломало, а после KB4013429 всё снова заработало. |
Цитата:
|
Цитата:
Код:
Get-WmiObject -Class "win32_quickfixengineering" Если список получится слишком большим и не влезет в скрин, тогда в Командной строке последовательно: Код:
cd %userprofile% |
Казбек,
|
|
Казбек, "Обновление неприменимо к Вашему компьютеру"
|
Цитата:
|
Цитата:
Хотя первоначальная идея была правильная: Цитата:
|
Время: 13:37. |
Время: 13:37.
© OSzone.net 2001-