FoxPro 2.6 DOS на Windows 7 64-битная
Я поддерживаю компанию, которая имеет очень старое, критически важное приложение FoxPro для DOS 2.6 (FPD).
По разным причинам компания не адаптировала / не перенесла свое приложение, которое, по иронии судьбы, работало даже лучше под Windows XP (и 32-битной Win7), потому что в ОС появились новые функции, такие как более надежная работа в сети, распределенная печать, интеграция электронной почты. К сожалению для этой компании, большинство новых машин теперь поставляются с 64-разрядной версией Windows 7, которая несовместима с их приложением FPD.
Я знаю, что на этот раз письмо на стене: единственное долгосрочное решение - перенести их приложение. Но мне интересно, может ли кто-нибудь предложить временный альтернативный путь, который не включает ни:
а) понизить 64-разрядную версию Windows до 32-разрядной или
б) запустить приложение на виртуальной 32-битной XP
Спасибо!
PS: с новым годом!!!
6 ответов
Похоже, у вас не так много жизнеспособных вариантов.
Самый простой и быстрый вариант - использование режима XP. Режим XP, как вариант виртуализации, интегрирует установленное приложение в XP, в Windows 7.
Я предполагаю, что он не запускается и не запускается, потому что на самом деле это 16-битное приложение. По-видимому, Win64 не включает подсистему поддержки WinW W 16, необходимую для запуска 16-битных приложений.
Вы можете определенно запускать 32-битные приложения в 64-битных окнах. Но если у вас 16-битная версия, вам придется запустить эмулятор.
Если он действительно 32-разрядный, убедитесь, что 32-разрядные библиотеки установлены и доступны. Также обязательно отключите Data Execution Prevention или добавьте в него исключение, иначе оно также не запустится.
Все старые режимы совместимости 16-битной адресации были исключены из 64-битного режима, когда AMD разработала свои 64-битные расширения для процессора x86. Это делает невозможным для Windows на 64-битной Windows (WOW64) поддерживать более старое 16-битное программное обеспечение так же, как WOW32 может использовать процессор в 32-битном режиме.
32-разрядные версии Windows 7, 8, 8.1 и 10 все еще поддерживают 16-разрядное программное обеспечение - вам просто нужно включить устаревшую функцию NTVDM (NT Virtual Dos Machine) и даже набрать command
в командной строке NT, чтобы переключиться на командную строку DOS.
Я бы предложил запустить его на виртуальной машине, используя 32-разрядную версию основной ОС, которую в настоящее время использует компания - так что Windows 7 пока 32-разрядная.
Вы можете запустить в виртуализированной Win98
вы можете запустить в виртуальной DOS
вы можете попробовать в DosBox под Linux
можно попробовать в Bochs x86
вы можете попробовать Wine под Linux
вы можете попробовать Cedega под Linux
Возможно, уже немного поздно, но вы можете попробовать это: запустите приложение на сервере Windows, затем установите OpenSSH и настройте вход без пароля для каждого пользователя. Вроде как использование Terminal Server, но может избежать проблем, которые вы ожидали с ним. Также, если пользователи привыкли к cmd.exe, вы можете попробовать использовать ssh'ing вместо Putty или другого клиента эмулятора терминала / ssh, но в основном это зависит от вашего приложения.
Если все сделано правильно и если повезет, они могут вообще не заметить, что запускают приложение где-то еще.