SysTools Logo SysTools


Не выбрасывайте старые программы


Прогресс... не остановим, стремителен и безжалостен. Как часто ещё вчера работающие программы сегодня отказываются запускаться из-за несовместимости с операционной системой и/или оборудованием.

Причин на то может быть великое множество, но итог один: удобная, привычная, а иногда и уникальная, не имеющая аналогов, программа становится бесполезным набором файлов. Как вариант, программу можно попытаться запустить под виртуальной машиной эмулирующей старую систему или даже оборудование.


640x400 StatGraf title screen
Титульный экран StatGraphics 3.0

Одной из таких программ, восстановлением которой приходилось заниматься, был StatGraphics 3.0 (1988 год выпуска). Клиент принёс записанный когда-то с 5" дюймовых дискет дистрибутив, который теперь невозможно было установить - программа установки вылетала с фатальной ошибкой - как потом выяснилось, часть файлов была перепутана и находилась не на своих дисках. Что касается самой программы, то клиент ценил её за очень удобную возможность быстро выполнять расчёты и большое количество вариантов кластерного анализа, чего не было не только во многих современных аналогах (типа SPSS, Statistica), но даже и в новых версиях этой же самой программы под Windows. К тому же не всем хочется переучиваться под новые, зачастую громоздкие и неудобные, интерфейсы.


640x400 StatGraf main menu
Главное меню StatGraphics 3.0

Нужно заметить, что программа установки оказалось довольно капризной. Ей было нужно не только подсовывать необходимый по номеру диск, но и с нужными файлами. Файлы же были перепутаны между дисками (возможно программу уже когда-то пытались поставить с них), к тому же отсутствовали файлы-идентификаторы для дисков. И если с идентификаторами удалось разобраться достаточно быстро, то вот с тем, где и какой файл должен лежать, пришлось изрядно повозиться, так как при обнаружении пропажи установщик просто закрывался с ошибкой, в результате чего после перемещения файла на нужный диск приходилось запускать всю установку заново: опять вводить пути, опять задавать конфигурацию, опять менять диски с одного на другой по первому требованию программы и т.д.


640x480 StatGraf smooth
Полиномиальный график в StatGraphics 3.0

В конце концов программу удалось установить и настроить, после чего она была отдана клиенту в комплекте с DOSBox, чтобы иметь возможность запускать её под современными операционными системами Windows.


Использование эмуляторов ОС и железа часто выручает при адаптации старых программ под современные среды. Однако и здесь часто возникают подводные камни в виде защиты программы от несанкционированного копирования. Аппаратно-технические решения используемые в той или иной защите в связи с упомянутым выше прогрессом просто перестали существовать, а программа осталась.


800x600 AstroLogos wheel
Натальное Колесо в АстроЛогос
отображается только при наличии ключа
(виртуальная машина с Windows 98)

Один из примеров таких программ - это АстроЛогос (1996 год выпуска). Клиент принёс диск с дистрибутивом и ключ для LPT-порта. Программа работала и без ключа, но при этом её основной функционал отключался, и она превращалась в demo-версию. Проблема была в том, что у клиента не было ни одного компьютера с LPT-портом, так как их уже давно не выпускают. А программа была, и, более того, со слов клиента, не имела аналогов в мире вообще. В идеале клиент хотел бы запускать её под виртуальной машиной у себя на ноутбуке (что впоследствии и было сделано), однако, без ключа она оставалась практически бесполезной.

Интересно, что программа представляет собой NE (New Executable) 16-ти битное приложение, вследствие чего, может работать только под управлением Windows 3.x, Windows 9x или 32 битной версией Windows XP (виртуальная машина NTVDM). После тестов выянислось, что, на самом деле, единственное семейство систем, где возможна работа без сбоев, это Windows 9x. Так что было решено запускать её под виртуальной машиной с Windows 98.


640x480 AstroLogos NOVEX key
LPT-ключ NOVEX KEY для АстроЛогос

И вот тут во весь рост вставала проблема с ключом. В связи с тем, что программа была 16-ти битной, ни один из современных и удобных отладчиков не хотел с ней работать - просто не поддерживал. Единственный отладчик, который удалось найти под Windows 98 с поддержкой 16-ти битных приложений, работал на уровне ядра, что моментально вешало виртуальную машину при его включении.

Пришлось собирать старый компьютер с LPT-портом, ставить туда Windows 98 и отладчик. Но и на этом проблемы не закончились - нужен был ещё статический дизассемблер для быстрого анализа кода. При этом запускать его на том компьютере было бесполезно, так как при включении отладчика уровня ядра пропадала связь со всеми остальными программами. Так что отлаживать программу пришлось в буквальном смысле сидя за двумя компьютерами. И только тогда, наконец-то, ключ сдался, и программа была успешно отвязана от LPT-порта.


Это только несколько программ, которыми приходилось заниматься в последнее время. Про некоторые из них вообще не имеет большого смысла рассказывать, так как выпускались они в единичном экземпляре (писались на заказ) и нигде, кроме заказавших их когда-то предприятий, не используются.

Общий же смысл, который хотелось передать этим текстом - это то, что не стоит отказываться и выбрасывать старое удобное, надёжное и проверенное временем программное обеспечение, только потому, что оно не запускается на современных системах или оборудовании - выход есть!

Стоит отметить, что не все программы даже после восстановления удобны в работе. К примеру, это относится к Progman (Program Manager - Диспетчер программ). И хотя эта программа входила в состав Windows XP до Service Pack 2, который заменял её на пустышку, однако, пользоваться ей в современном системном окружении очень неудобно (напомню, что ноги этой программы растут аж из Windows 3.x вышедшем в начале 90-ых). Так что в данном случае лучше использовать существующие более удобные решения - например WorkDesk, который представляет из себя аналог Progman for Windows 7, Windows XP и даже работает под управлением Windows 98!


P.S. Программу АстроЛогос можно приобрести у одного из разработчиков по адресу www.astrologos.net. Обратите внимание, что LPT-ключи более не выпускаются и, по состоянию на август 2016, их осталось не более десятка. При наличии старого компьютера с LPT-портом отвязка защиты от ключа не требуется.


P.P.S. Добавление от сентября 2020 года: программу для отвязки от LPT-порта можно загрузить здесь - alnvxkey.zip (с исходными кодами на языке C). Она прошивает ключ защиты внутрь исполняемых файлов системы АстроЛогос. Все подробности работы находятся в файле документации "alnvxkey.txt".


2013.10.22


[ Статьи ]